Upgrading from JIRA 3.10.x to 3.11
Please follow the JIRA general upgrade instructions, plus note the following:
Administrative notes
- To take advantage of the performance enhancements in JIRA 3.11, it is recommended that you enable GZip compression (unless you are using mod_proxy).
- The jira-application.properties file has a new option, 'progress', for the following attribute:
The 'progress' option controls the display of the 'Progress' field in issues and reports.
jira.table.cols.subtasks
- JIRA 3.11 introduces a bug fix for JRA-12354. This means that the CVS and Perforce plugin will perform better at detecting commits for a particular issue key, avoiding partial matches on similar project keys. If users have taken advantage of the previous relaxed key matching, they can revert to the old behaviour by simply setting the following application property in the jira-application.properties file and restarting JIRA:
jira.option.key.detection.backwards.compatible=true
Plugins
Updating plugins
If you are using any of the following plugins, you will need to update them to their latest versions when performing the upgrade:
3rd Party and personal plugins may also be affected (esp. if using lucene to store dates). These will need to be updated as well.
If these are updated after the upgrade (instead of as part of the upgrade), you will need to do a reindex.
A failure to update these plugins will result in lots of errors that look like:
Error 1
2007-07-25 15:23:27,553 http-8090-Processor4 ERROR [charting.charts.createdvsresolved.CreatedVsResolvedChart] Could not create velocity parameters For input string: "20070725144811" java.lang.NumberFormatException: For input string: "20070725144811" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Long.parseLong(Long.java:415) at org.apache.lucene.document.DateField.stringToTime(DateField.java:100) at org.apache.lucene.document.DateField.stringToDate(DateField.java:104) at com.atlassian.jira.ext.charting.data.DatePeriodStatisticsMapper.getValueFromLuceneField(DatePeriodStatisticsMapper.java:47) at com.atlassian.jira.ext.charting.data.OneDimensionalObjectHitCollector.adjustMapForValues(OneDimensionalObjectHitCollector.java:57) at com.atlassian.jira.ext.charting.data.OneDimensionalObjectHitCollector.collect(OneDimensionalObjectHitCollector.java:46) at org.apache.lucene.search.IndexSearcher$1.collect(IndexSearcher.java:137) at org.apache.lucene.search.Scorer.score(Scorer.java:49) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:146) at org.apache.lucene.search.Searcher.search(Searcher.java:118) at com.atlassian.jira.issue.search.providers.LuceneSearchProvider.search(LuceneSearchProvider.java:111) ...
Error 2
Caused by: java.lang.NoSuchMethodError: org.apache.lucene.document.Document.add(Lorg/apache/lucene/document/Field;)V at com.atlassian.jira.plugin.labels.LabelSearcher.index(LabelSearcher.java:95) at com.atlassian.jira.issue.index.indexers.impl.DefaultCustomFieldIndexer.addIndex(DefaultCustomFieldIndexer.java:54) at com.atlassian.jira.issue.index.IssueDocument.getDocument(IssueDocument.java:34) at com.atlassian.jira.issue.index.IssueDocumentBuilderImpl.get(IssueDocumentBuilderImpl.java:14) at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer$IssueAndCommentCreator.handleIssueIndexing(SingleThreadedIssueIndexer.java:404) at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer$AbstractIssueAndCommentHandler.indexIssuesAndComments(SingleThreadedIssueIndexer.java:318) at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer.indexIssuesAndComments(SingleThreadedIssueIndexer.java:122) at com.atlassian.jira.issue.index.MultiThreadedIssueIndexer.indexIssuesAndComments(MultiThreadedIssueIndexer.java:41) at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer$2.perform(SingleThreadedIssueIndexer.java:113) at com.atlassian.bonnie.ConcurrentLuceneConnection.withWriter(ConcurrentLuceneConnection.java:296) at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer$1.perform(SingleThreadedIssueIndexer.java:107) at com.atlassian.bonnie.ConcurrentLuceneConnection.withWriter(ConcurrentLuceneConnection.java:296) at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer.indexIssues(SingleThreadedIssueIndexer.java:102) at com.atlassian.jira.issue.index.SingleThreadedIssueIndexer$6.perform(SingleThreadedIssueIndexer.java:219) ...
If you see these errors, please ensure that you are using the latest compatible version of the plugin for 3.11. If there is no supported version for 3.11, please contact the plugin developer via the plugin's homepage.
Developer notes
Modification to SOAP clients
If you have written a SOAP client for any JIRA version prior to 3.11 and are invoking any methods to get RemoteIssueType you will encounter the bug JRA-13529. The reason for this is that we have added extra information to the RemoteIssueType object that indicates if the issue type is a subTask issue type. To avoid the problem you will need to regenerate your remote object stubs against the updated JIRA 3.11 wsdl.
If you would like your SOAP client to work against multiple versions of JIRA then you need to use the latest stubs that have been generated against JIRA 3.11. You will need to not use any of the new functionality and you will need to remember that the isSubTask variable in the RemoteIssueType objects will be defaulted to false.
ThreadLocalQueryProfiler searchers have been moved to ThreadLocalSearcherCache
There may be a number of plugins that reference the ThreadLocalQueryProfiler searcher methods directly. These need to now reference the ThreadLocalSearcherCache.
Lucene Upgrade
We upgraded our version of Lucene to 2.2. If your plugin uses to Lucene to index/read data, please ensure that it works with JIRA 3.11. If you are indexing/reading dates, more than likely it will have broken and you will need to use the new Lucene 2 methods.
Database changes
There were no database changes in this release.
Upgrading from JIRA 3.9.x and earlier
In addition to the above, please read the Upgrade Guide for every version you are skipping during the upgrade. The complete list of Upgrade Guides is available here.







4 Comments
Hide/Show CommentsNov 28, 2007
Dave Nice
Hi there,
I'm in the process of upgrading from Jira 3.5 to 3.11. As recommended, I have regenerated my SOAP stubs.
To get my code to compile, I've had to make changes like these:
Are these changes in line with what you'd expect? The commented line worked in 3.5 and the uncommented line will compile in 3.11. Has the constructor been turned around or do I need to do more work?
Thanks in advance!
Dave
Nov 28, 2007
Eddie Kua
Hi Dave,
By comparing through our JIRA API and testing on my own machine. The sequence of parameters are still same as previous version of JIRA:
It should be working in this way:
Can you please try delete the old_stub and try to regenerate the new stub again via the following link:
If that doesn't solve your problem, can you please raise a support request at our support server:
Cheers,
Eddie
Nov 29, 2007
Dave Nice
Hi Eddie,
Looks like my WSDL has the parameters in the wrong order:
Any suggestions as to how I can recreate the WSDL? Where does it come from?
Dave
Nov 29, 2007
Dave Nice
Raising a support request...
Add Comment