Migration from 8.1.5 to 8.5.17

Hi all,

I want to migrate Camunda from 8.1.5 to 8.5.17.

After migration, I am experiencing issues with the old Camunda instances (instances from 8.1.5).

Every shard of the Elastic Search is migrated successfully, but when I publish a message which should trigger the old instances I’ve got just intent:PUBLISHED document under zeebe-record-message there is no intent:CORRELATED.

Can you please provide the checklist of what should be done to upgrade the Zeebe engine version?
What step in the migration process did I miss?

Regards,
Jovan Zoric

Hi @Jovan_Zoric,

Thank you for reaching out about your migration from Camunda 8.1.5 to 8.5.17. The issue you’re experiencing with message correlation (seeing PUBLISHED but not CORRELATED intents) can have several causes. Let me provide you with a comprehensive checklist and troubleshooting steps.

Migration Checklist for Camunda 8.1.5 to 8.5.17

1. Component Version Compatibility

  • Ensure all Camunda components (Zeebe, Operate, Tasklist, Optimize) are running on the exact same version (8.5.17)
  • From version 8.6.0 forward, components must run on the same minor and patch level, but this is also a best practice for earlier versions

2. Elasticsearch Compatibility

  • Critical: Camunda 8.4+ requires Elasticsearch 8.9+
  • If you upgraded from Elasticsearch 7 to 8, ensure you replaced Elasticsearch Curator with Index Lifecycle Management (ILM) - Camunda 8 is not compatible with Elasticsearch 8 Curator
  • Verify all Elasticsearch indices are healthy and accessible

3. Upgrade Process Steps

  • When upgrading from earlier versions, you must delete Deployments/StatefulSets for Zeebe, Operate, Tasklist before upgrading due to label changes
  • Restart all components after the upgrade, including Elasticsearch
  • Ensure proper configuration updates are applied

4. Existing Process Instances

Important: By default, running process instances continue on their original process definition version after upgrade. You have two options:

  • Let them run naturally (recommended): Old instances finish on 8.1.5 version, new instances use 8.5.17
  • Migrate them: Use the Process Instance Migration feature in Operate if you need to apply critical changes

Troubleshooting Message Correlation Issues

1. Understanding PUBLISHED vs CORRELATED

  • PUBLISHED: Message was accepted for delivery (fire-and-forget)
  • CORRELATED: Message was actually matched to a waiting process instance
  • If you need immediate feedback on correlation success, use the message correlation endpoint instead of the publish endpoint

2. Common Causes for Missing CORRELATED Intents

A. Process Instance State

  • Verify that process instances are actually waiting at message catch events when messages are published
  • Check if instances are in the correct state to receive messages

B. Correlation Key Mismatch

  • Double-check that correlation keys in your BPMN model match exactly with the keys in your message publishing code
  • This is a common issue after upgrades

C. Message TTL Settings

  • If TTL = 0, messages are discarded if no subscription is open at publish time
  • If TTL > 0, messages are buffered for later correlation

3. Technical Verification Steps

  1. Check Elasticsearch Health: Even if shards show as migrated successfully, verify index accessibility
  2. Review Component Logs: Look for errors in Zeebe, Operate, and Elasticsearch logs
  3. Verify Component Communication: Ensure all components can communicate properly after the upgrade
  4. Test Message Correlation: Try correlating messages to new process instances to isolate if the issue is specific to old instances

Recommended Next Steps

  1. Verify your Elasticsearch version and ILM configuration
  2. Check if old process instances are actually waiting for messages (they should continue working on their original version)
  3. Test message correlation with new process instances to confirm the upgrade was successful
  4. Review correlation keys for any mismatches
  5. Consider using the correlation endpoint instead of publish for better feedback

References

Could you please share:

  1. Your Elasticsearch version
  2. Whether you’re seeing any errors in Zeebe or Operate logs
  3. If new process instances (started after upgrade) can correlate messages successfully

This will help us narrow down the root cause of your issue.

Best regards,
Zee

Hi @Jovan_Zoric - Did you already complete the upgrade? Did you upgrade version by version, or did you jump directly from 8.1.x to 8.5.x?

Hi Nothan,

We jump directly from 8.1.x to 8.5.x, we are still on test environment trying to solve the issue with instances from 8.1.x.

Regards,
Jovan

Hi @Jovan_Zoric,

Thank you for the clarification. I found the root cause of your issue!

:x: The Problem: Unsupported Direct Version Jump

Direct upgrades from Camunda 8.1.x to 8.5.x are NOT supported. According to the official Camunda documentation, you must perform a sequential upgrade through each minor version:

Required path: 8.1.x → 8.2.x → 8.3.x → 8.4.x → 8.5.x

Skipping minor versions can cause exactly the type of issues you’re experiencing with message correlation and existing process instances.

:white_check_mark: The Solution

Since you’re still in your test environment, I recommend:

Option 1: Proper Sequential Upgrade (Recommended)

  1. Restore your 8.1.5 environment from backup
  2. Upgrade sequentially:
    • 8.1.5 → 8.2.x (latest patch)
    • 8.2.x → 8.3.x (latest patch)
    • 8.3.x → 8.4.x (latest patch)
    • 8.4.x → 8.5.17
  3. Test message correlation after each step

Option 2: Fresh Installation (If feasible)

If you don’t have critical running instances to preserve:

  1. Fresh install of Camunda 8.5.17
  2. Redeploy your process definitions
  3. Migrate any necessary historical data separately

Why Sequential Upgrades Matter

Each minor version may include:

  • Database schema changes
  • Index structure modifications
  • Component communication protocol updates
  • Configuration format changes

Skipping versions means these incremental changes aren’t applied properly, leading to issues like:

  • Message correlation failures
  • Data inconsistencies
  • Component communication problems

References

Next Steps

  1. Decide on your approach (sequential upgrade vs fresh install)
  2. If doing sequential upgrade: Start with restoring your 8.1.5 backup
  3. Test thoroughly after each upgrade step
  4. Document the process for your production environment

This should resolve your message correlation issues with the old instances. Let me know which approach you’d like to take, and I can provide more specific guidance for each upgrade step!

Best regards,
Zee

@Jovan_Zoric - apologies for the over-excited bot, but the latest reply is correct: you need to upgrade to each version in between or you will run into issues. 8.1.x has been unsupported for a long time, but you can find archives of the docs here:

I would work through each version incrementally, following the upgrade instructions for each version: 8.1 to 8.2 to 8.3 to 8.4 then finally 8.5.

Thanks Nothan, we will try to upgrade version by version

Solution Summary

The issue with message correlation after migrating from Camunda 8.1.5 to 8.5.17 was caused by performing an unsupported direct version jump.

Root Cause

  • Direct upgrades from 8.1.x to 8.5.x are not supported
  • Camunda requires sequential upgrades through each minor version: 8.1.x → 8.2.x → 8.3.x → 8.4.x → 8.5.x
  • Skipping versions causes database schema, index structure, and component communication issues

Resolution

The user will perform a sequential upgrade following the proper upgrade path:

  1. Restore 8.1.5 environment from backup
  2. Upgrade incrementally through each minor version
  3. Follow upgrade instructions for each version step
  4. Test message correlation after each upgrade

Key Resources

This approach should resolve the message correlation issues with existing process instances and ensure a stable upgrade to Camunda 8.5.17.

Status: :white_check_mark: Resolved - User will proceed with sequential upgrade approach.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.