Jira Core 8.0.x upgrade notes
Here are some important notes on upgrading to Jira Core 8.0.
For details on the new features and improvements in this release, see the Jira Core 8.0.x release notes.
Skip to
- Increase pool-max-size
- Apache Tomcat 8.5.35
- Changes to indexing
- Disabling incompatible apps
- Jira might take longer to start after the upgrade
- Changes to several configuration properties
- Memory requirements
- Decreasing heap size for Jira on 32-bit systems
- Installation directory for Plugin 1 type apps
- New configuration for MySQL 5.7
- Reduced logging to the catalina.out file
- Apache Tomcat upgrade
- Decreasing heap size for Jira on 32-bit systems
- End of support
- App developers
- Upgrade procedure
Upgrade notes
Increase pool-max-size
If you're upgrading from Jira 7.x to Jira 8.x we recommend changing the pool-max-size parameter to 40 in your dbconfig.xml before the upgrade. Leaving the default of 20 can sometimes lead to “ResultSet Closed” errors during re-indexing on 8.x. For information on implementing the change, see Tuning database connections.
Apache Tomcat 8.5.35
We've upgraded Apache Tomcat to 8.5.35 in Jira 8.0.2.
Changes to indexing
One of the changes coming with Jira 8.0 is the upgrade of the Lucene library, which is responsible for the index in Jira. This change improves indexing (and searching), but it also makes your current index incompatible with the new version. That’s nothing to worry about, as you can rebuild the whole index by ‘reindexing’ Jira - an action you would probably run after a normal upgrade anyway. After reindexing, the index will be compatible with any later version.
Recommended actions
Disable automatic reindex to avoid reindexing twice, and run the reindex manually, whenever you’re ready.
If your Jira instance is small and an extra reindex doesn't sound like a problem, you don't need to disable it. Your upgrade won't be affected in any way; it's just for saving you some time.
Disabling incompatible apps (add-ons)
You need to disable apps that are incompatible with Jira 8.0 or upgrade them to compatible versions, if these are available. Incompatible apps might block the upgrade and the Jira startup, because they're using elements that are no longer available or that have changed in the new version, like the Jira index, APIs, or some parts of the UI.
Recommended actions
Disable all incompatible apps, or upgrade them if they have compatible versions. For more info on what you should do, see Preparing for the upgrade.
We always recommend that you test the upgrade in a test environment. Once you upgrade the test environment to Jira 8.0, you can try enabling the incompatible apps and see how they behave with the new version. If they don't affect your Jira instance in a significant way, you can use them with 8.0 even if they haven't been declared as compatible yet.
Jira might take longer to start after the upgrade
One of the improvements we’re shipping in Jira 8.0 is the addition of new indexes to two of the most heavily used database tables (changeitem
, changegroup
). Thanks to that, issues will load faster, and so will queries executed against the database to retrieve the data that issues contain.
Adding indexes to these tables can take several minutes, and will take place when you start Jira after the upgrade. Learn more
Changes to several configuration properties
In Jira 8.0, we’ve changed default values for some of the properties related to indexing, and also made several properties obsolete.
Obsolete properties:
jira.index.commitpolicy
jira.index.batch.maxbuffereddocs
jira.index.interactive.maxbuffereddocs
jira.index.batch.maxmergedocs
jira.index.interactive.maxmergedocs
jira.index.batch.mergefactor
jira.index.interactive.mergefactor
Properties that have new default values:
jira.index.issue.threads
(20)jira.index.batch.maxrambuffermb
(1024)jira.index.interactive.maxrambuffermb
You can always view the jpm.xml file to see all supported properties, and their current values.
The maxrambuffermb properties define the maximum size of a memory write buffer for Lucene documents queued to be saved into the index files. We’ve increased it to better handle issues with large number of custom fields. Because of this change, we’ve also increased the default maximum heap size (xmx), as described below.
Memory requirements
Because of the increase in maxrambuffermb
, we’ve also increased the default maximum heap size (xmx).
Property | Jira 7.x | Jira 8.0 |
---|---|---|
Xmx | 768 | 2048 |
| 100 | 1024 |
| 16 | 1024 |
Jira 8.0 should require less memory, however we still need the xmx
value to be higher than maxrambuffermb
. If you already had xmx
set to 2GB, you shouldn’t need to increase this value.
If you’re running Jira on a 32-bit system, the 2GB heap size will be too high, and you’ll need to decrease it, as described below.
Decreasing heap size for Jira on 32-bit systems
This applies only if you’re installing/upgrading Jira manually by using the archive. Installers will do it for you.
If you’re installing/upgrading Jira on a 32-bit system, you need to decrease the maximum heap size available to Jira. The default for 64-bit systems in Jira 8.0 is 2GB, which is too much for a 32-bit system, and may not fit into the available memory. We’ve created a new setenv32.bat/.sh file that has all the right settings, you just need to put it in the right place.
Installation directory for Plugin 1 type apps
Make sure that your P1 apps are installed in <Jira-install-dir>/atlassian-Jira/WEB-INF/lib
. If you install these apps along with regular apps from Atlassian Marketplace in <jira-home-dir>/plugins/installed-plugins
, they won’t work in Jira 8.0. For more information, see Installing Marketplace apps.
New configuration for MySQL 5.7
We've added new configuration steps for MySQL 5.7 to let you use 4-byte characters in Jira. Your old configuration will still work, but you won't be able to use 4-byte characters. For more info, see Connecting to MySQL 5.7.
Reduced logging to the catalina.out file
Jira applications used to mirror the application log output (atlassian-jira.log
) in the Tomcat log file, catalina.out
. Since the catalina.out
file couldn’t be rotated by Jira using the Log4j configuration (like it happens with the application log), the file grew significantly and didn’t really contain any unique or useful events from Jira. Jira admins could work around this issue by using log-rotation scripts at the OS level, but that complicated the setup.
To fix this issue, we’ve removed mirroring the log output to catalina.out
(process Stdout
), leaving only the following basic events that are useful for our Support teams:
log4j.logger.com.atlassian.jira.(upgrade|startup|config.database)
We’ll keep logging all events into the atlassian-jira.log
file, like it was before. Also, we’ve increased the number of atlassian-jira.log
rotated files from 5 to 10.
Apache Tomcat upgrade
We've upgraded Apache Tomcat to version 8.5.32, which requires that you make changes to the server.xml
file.
What's the problem?
The Apache Tomcat server is filtering out requests that contain special characters, making them fail. That's because Tomcat is using a different encoding and URI standard than most browsers (details here). The problem is most visible when searching with JQL as you’d use a number of special characters when doing it (e.g. []<>), but it can also affect other pages in Jira.
Versions affected
We've made this change in Jira 7.12.2. If you're upgrading from this version or any later, you should've already done these steps.
Steps to take
To solve the problem, edit the server.xml
file, and add properties that make Tomcat accept special characters in the requests.
- Go to
<Jira-installation-directory>/conf
, and edit theserver.xml
file. - Find all connectors your application is using. Just search for Connector in the file, or look at the example below.
Add
relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`"<>"
to the connector properties inserver.xml
. For example:<Connector port="8080" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`"<>" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true" bindOnInit="false"/>
- Restart Jira.
- (Data Center) Repeat these steps on each node.
End of support
Starting from Jira 8.0, we're ending support for the following databases:
- PostgreSQL 9.3
- MySQL 5.5
For more info, see End of support announcements.
App developers
See Preparing for Jira 8.0 for any important changes regarding plugins.
Upgrade procedure
See Upgrading Jira applications for complete upgrade procedures, including all available upgrade methods and pre-upgrade steps that are required for Jira 8.0. For a more tailored upgrade, go to > Applications > Plan your upgrade. We’ll recommend a version to upgrade to, run pre-upgrade checks, and provide you with a custom upgrade guide with step-by-step instructions.