Jira Service Desk 4.0.x upgrade notes

Release notes for earlier versions of Jira Service Management

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

Below are some important notes on upgrading to Jira Service Desk 4.0. For details of the new features and improvements in this release, see the Jira Service Desk 4.0 release notes

As Jira Service Desk runs on the Jira platform, you should also view the Jira platform 8.0 upgrade notes.


 Summary of changes


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?

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?

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

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 may block the Jira upgrade or 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 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 happen when you start Jira after the upgrade. Learn more


Zero downtime upgrade (ZDU) for Data Center isn't supported

Because of significant changes we've introduced to the Jira platform in 8.0, we can't support the zero downtime upgrade from Jira Service Desk Data Center 3.x to 4.0. To upgrade, you'll need to use a regular upgrade method. Zero downtime upgrade will be available again when upgrading within the 4.x line.


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.maxrambuffermb1001024
jira.index.interactive.maxrambuffermb161024


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 or upgrading Jira manually, by using the archive. Installers will do it for you.

If you’re installing or 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.

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. Learn more

  2. Add the following properties: 

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

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. Learn more


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.


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 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 you to 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. 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. Learn more

Versions affected

We've made this change in Jira Service Desk 3.15.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 for fugue

In Jira Service Desk 4.0, we've removed com.atlassian.fugue, and updated our APIs to use Core Java Data types and Exceptions. We’ve introduced this change to make it easier to develop on Jira Service Desk.

What you'll need to do

Before using Core Java Data types and Exceptions, update any scripts, integrations, or apps that make requests to endpoints returning com.atlassian.fugue. This stops them breaking after the update.

Read our Java API docs and REST API docs to learn how.


App developers

See Preparing for Jira 8.0 for all important changes regarding apps.


Upgrade procedure

See Upgrading Jira applications for complete upgrade procedures, including all available upgrade methods, and pre-upgrade steps that are required for Jira Service Desk 4.0. For a more tailored upgrade, also check our Pre-upgrade planning tool that will 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 Mar 31, 2020

Was this helpful?

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