Upgrade notes (2.7 to 3.0)

Heads Up!

To upgrade Optimize to version 3.0.0 please perform the following steps: Migration & Upgrade Instructions.

If you have done an Optimize upgrade prior to this one please note the changes in the upgrade procedure.

Here you will find information about:

  • limitations,
  • known issues,
  • changes in the supported environments,
  • any unexpected behavior of Optimize (e.g due to a new feature)

Known issues

Potential NullpointerException on Upgrade to 3.0.0

In some circumstances the upgrade to 3.0.0 might fail with the following log output.

  06:00:00.000 - Starting step 1/9: UpdateIndexStep
  ...
  06:00:02.066 - Error while executing upgrade from 2.7.0 to 3.0.0
  java.lang.NullPointerException: null
        at org.camunda.optimize.upgrade.steps.schema.UpdateIndexStep.execute(UpdateIndexStep.java:71)
  ...

This is a known issue that occurs if you previously upgraded to Optimize 2.7.0. You can solve this issue by executing the following command on your Elasticsearch cluster before running the upgrade again.

curl -s -XDELETE <elasticsearchHost>:9200/optimize-event_v2-000001

The upgrade should now successfully complete.

Cannot disable import from particular engine

In 3.0.0 it is not possible to deactivate the import of a particular Optimize instance from a particular engine (via engines.${engineAlias}.importEnabled). In case your environment is using that feature for e.g. a Clustering setup, we recommend you to stay on Optimize 2.7.0 until the release of Optimize 3.1.0 (Scheduled for 14/07/2020) and then upgrade straight to Optimize 3.1.0.

Limitations

User Operation Log Import

Optimize now imports the user operation log. Due to this, the engine user now requires engine permissions to read the user operation log, see also the configuration documentation.

Suspension Filter

Due to a limitation of the user operations log data retrieval in the engine API, process instance suspension states of instances suspended after Optimize has been started are not correctly imported. This leads to inaccuracies in the Suspended Instances Only Filter, which will only apply to instances which were suspended before they were imported by Optimize. Furthermore, since the suspension state of process instances in Optimize is updated according to historic data logs, if you have history cleanup enabled it is possible that the relevant data will be cleaned up before Optimize can import it, leading to inaccuracies in the state of suspended process instances which will then not appear in the appropriate filter.

Event Based Processes

There might be cases where an incorrect and lower than expected number of events are shown when mapping either process start and end events to nodes on your event based process, or when mapping multiple engine task events from the same engine model. These are known issues and are fixed in the upcoming Optimize 3.1.0 release. If using this version or newer, you can correct previously imported data in your event based process either by recreating or republishing the event based process. Alternatively, forcing a reimport of the engine data after upgrading to a version with this fix will correct these errors too.

Changes in the upgrade procedure

Although Optimize 3.0.0 is a major version change we still allow a rolling upgrade from 2.7 to the new version. However, since the support for Elasticsearch changed to the latest major version 7.X there is an additional step in the upgrade routine involved. Before you can perform the actual upgrade you need to do a rolling upgrade of Elasticsearch from 6.X to 7.X. The exact details can be found in the Migration & Upgrade Instructions.

Please note that the following upgrades are not supported by Elasticsearch:

  • 6.8 to 7.0.
  • 6.7 to 7.1.–7.6.X.

Changes in the supported environments

With this Optimize version, there are also changes in the supported versions of the Elasticsearch and Camunda Platform.

ElasticSearch

Optimize now requires at least Elasticsearch 7.0.0 and supports the latest major version up to 7.6.0. See the Supported Environments sections for the full range of supported versions.

In case you need to upgrade your ElasticSearch cluster, please refer to the general Elasticsearch Upgrade Guide on how to do that. Usually, the only thing you need to do is to perform a rolling upgrade. There’s also a dedicated section in the Migration & Upgrade Instructions on how to perform the rolling upgrade.