Jira Core 8.0.x upgrade notes

Jira Core release notes

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

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


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.

What changes...
What changes

Your current index will remain in <home-directory>/caches/indexes (feel free to delete it after the upgrade). From now on, the new index will be stored in the following directory:

<home-directory>/caches/indexesV1
How does it affect the upgrade...
How does it affect the upgrade

The new index will trigger an automatic reindex in Jira just after the upgrade (more precisely, when you start Jira). Because of that, there’s a great chance you’ll reindex twice - after starting Jira and after making some changes that require reindexing, for example, upgrading plugins. Reindexing might be really time consuming in large Jira instances, that’s why we’re recommending that you disable the automatic reindex and run it manually later, when you’re ready.

How to disable automatic reindex...
How to disable automatic reindex

We’ve included steps needed to disable the automatic reindex in our upgrade procedures. If you’re looking for a quick answer, though, you’ll need to add the following line to the <home-directory>/jira-config.properties file before you start Jira after the upgrade.

upgrade.reindex.allowed=false
Recommended actions

(tick) Disable automatic reindex to avoid reindexing twice, and run the reindex manually, whenever you’re ready.

(info) 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

(tick) 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.

(info) 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 (changeitemchangegroup). 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 (1024)

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).

PropertyJira 7.xJira 8.0
Xmx7682048

jira.index.batch.maxrambuffermb

1001024

jira.index.interactive.maxrambuffermb

161024

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.

Tell me how to do this...

Complete these steps after extracting files from the archive, but before starting Jira:

Step 1: Rename the default setenv file.

  1. Go to <Jira-install-directory>/bin, and delete the setenv.bat / .sh file (or change its name).

  2. Rename setenv32.bat / .sh to setenv.bat / .sh. Jira will use this file on startup.

Step 2: Add the properties to the jira-config.properties file.

  1. Go to Jira’s home directory, and edit the jira-config.properties file. If the file isn’t there, you can create it.

  2. Add the following properties: 

    jira.index.batch.maxrambuffermb=256
    jira.index.interactive.maxrambuffermb=256

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.

  1. Go to <Jira-installation-directory>/conf, and edit the server.xml file.
  2. Find all connectors your application is using. Just search for Connector in the file, or look at the example below.
  3. Add  relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`"<>"  to the connector properties in server.xml. For example:

    <Connector port="8080" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true" bindOnInit="false"/>
  4. Restart Jira.
  5. (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.

Last modified on May 8, 2020

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.