Known Issues

Unstable elementId

CDC returns the same elementId as provided by the elementId() Cypher function. This elementId is not stable through processes that change the database without going through the transaction layer, such as:

  • Restoring from backup

  • Importing through CLI commands

  • Copying the database to a new name or location

  • Pausing and resuming the database in Neo4j Aura

Performing any of the listed actions causes new changes to the same element to be transmitted with a different elementId.

To avoid the issue, you should use logical/business keys rather than elementId to identify elements.

Unstable change identifier

The change identifier that CDC uses to track the location in the transaction log has similar issues as the elementId. The actions listed under Unstable elementId also cause change identifiers to become invalid. After performing any of these actions it might be required to restart querying changes from db.cdc.current or db.cdc.earliest.