Hi All,
I’ve been working with the c7-data-migrator tool as part of our Camunda 7 to 8 migration effort and would like to share some observations and ask for clarification on a couple of challenges we encountered.
1. Execution state mismatch after runtime instance migration
When migrating a running process instance from Camunda 7 to 8, I noticed that the migrated instance in Camunda 8 does not resume at the exact activity where it was in Camunda 7. Instead, it always starts from the first activity after the start event, even though the original instance was in the middle of the process.
Is this a known limitation of the current tool? Are there any workarounds or future plans to support restoring the exact execution state?
2. Migrated history instances not visible in Operate
I attempted to migrate completed instances by using the --history argument. The tool log showed successful migration, and I confirmed that the mapping was created in the migration_mapping table. However, I do not see these completed instances in Camunda 8 Operate.
Does this mean:
• The data is written directly to Zeebe’s internal storage but is not exported to Elasticsearch, so Operate cannot access it?
• Or, is there some additional configuration or export step required after migration?
General Concern
I noticed that the Camunda official documentation states that c7-data-migrator is expected to be generally available by October 2025. Can I assume the current version is not production-ready and may have partial functionality?
Has anyone else faced similar issues or found solutions/workarounds? Appreciate any insights or confirmations from the community or the Camunda team.
Thanks,
Jignesh
Hi @pithvajignesh,
Thank you for your message. I’m thrilled to see that people have started using the Data Migrator and we’re getting valuable insights to help shape its development. 
1. Execution state mismatch after runtime instance migration
Have you added an execution listener type migrator
to the start events of your C8 processes? The Data Migrator utilizes this listener to modify a process instance to the correct state. You can read more about this here.
2. Migrated history instances not visible in Operate
In the first iteration, the Data Migrator only supports migrating history data to C8 RDBMS. Currently, Operate does not support RDBMS. This support is planned to be available with Camunda 8.9.
The data is written directly to Zeebe’s internal storage but is not exported to Elasticsearch, so Operate cannot access it?
No, the data is not written directly to Zeebe’s internal storage.
Can I assume the current version is not production-ready and may have partial functionality?
Yes, that’s correct. The Data Migrator is still in an alpha state and is under active development. You can experiment with it, but it’s not yet ready to support production use cases.
Thank you so much for your feedback.
Best,
Tassilo
Hi Tassilo Weidner @tasso94 ,
Thanks a lot for the clarifying the doubts.
And yes, for 1st point, it worked. I forgot to add listener.
Thanks & Regards,
Jignesh Pithava
1 Like
Jignesh, regarding your c7-data-migrator
observations:
- Execution State Mismatch: This is a known limitation due to the architectural differences between Camunda 7 and 8 (Zeebe). The tool primarily migrates the process instance and its variables, not the exact execution pointer. Workarounds often involve manual intervention or refactoring to handle continuation points in Camunda 8.
- Migrated History Not in Operate: While the tool confirms successful history migration to Zeebe’s internal storage, Operate relies on data being exported to Elasticsearch. It’s likely that an additional export step or proper configuration of the Zeebe-to-Elasticsearch exporter is required for these migrated historical instances to be visible in Operate.
- General Concern (Production Readiness): Yes, the
c7-data-migrator
is still under active development, with a General Availability (GA) target of October 2025 (aligned with Camunda 8.8). This implies the current dog whistle apps versions are indeed not production-ready and may have partial functionality, as you’ve observed with these limitations.