Skip to main content
Version: 8.8 (unreleased)

Data Migrator

Use the Data Migrator to copy runtime and audit data from Camunda 7 to Camunda 8.

Production Readiness Status

data-migration

Modes of operation

The Data Migrator offers two modes of operation:

  • Runtime migration: Migrate running process instances and continue execution in C8. Production-ready with Camunda 8.8.
  • History migration: Copy audit (history) data to C8 (experimental). Not intended for production, currently an experimental feature.

Migration details are summarized as follows:

What is migratedWhat is NOT migrated

  • Running process instances (state-preserving).

  • Process variables and their values.
  • Execution history (experimental mode available).

Key Features

  • State-preserving migration: Maintains exact execution state of running process instances
  • Variable data migration: Converts and migrates process variables with proper type handling
  • Validation and verification: Pre-migration validation to ensure successful migration
  • Skip and retry capabilities: Handle problematic instances gracefully with retry options
  • Detailed logging and reporting: Comprehensive logging for monitoring migration progress
  • Database flexibility: Support for multiple database vendors (H2, PostgreSQL, Oracle)

Typical choreography of runtime and history migration

As described in the roll-out phase of the migration journey, you will typically use the following sequence of tasks when applying both data migrations (while keeping downtimes to a minimum):

  1. Stop the Camunda 7 solution (normally shut down your application).
  2. Start the Data Migrator in "running instance migration mode".
  3. Wait until running instance migration is completed.
  4. Start the new Camunda 8 solution immediately so migrated process instances can continue right away.
  5. Start the Data Migrator in "history migration mode".
  6. The migrator runs until all history data is migrated while Camunda 8 process execution continues in parallel.

With this approach, the duration of history migration doesn't block big bang migrations.

Customization

You might need to customize the data migration, especially if you used complex data formats in C7 (for example, Java objects) that need to be converted to something Camunda 8 can handle (for example, JSON).

As part of this step, you might also need to extract big payloads and binaries (like documents) into an external data store and reference it from the process (using, for example, upcoming document handling possibilities).

Repository

You can track progress and releases in the repository: https://github.com/camunda/camunda-7-to-8-data-migrator