Releases: axonops/zdm-proxy
AxonOps ZDM Proxy v2.4.1-axonops.2
Merge feature/per-table-write-metrics into main
AxonOps ZDM Proxy v2.4.1-axonops.1
Based on ZDM Proxy v2.4.1 with the following additions:
New features
Target consistency level override
New config option ZDM_TARGET_CONSISTENCY_LEVEL (YAML: target_consistency_level) that overrides the consistency level for all requests forwarded to the target cluster. The origin cluster always receives the original client-requested consistency level.
This is useful during migration when the target cluster is being populated via dual writes. Using a weaker consistency level such as LOCAL_ONE on the target reduces the risk of write failures caused by target-side instability — node outages, streaming, or compaction pressure. Because the target data can be repaired after migration is complete, temporary under-replication is acceptable and preferable to failing writes that would otherwise succeed on origin.
Example: Application sends writes at LOCAL_QUORUM. Origin receives LOCAL_QUORUM. Target receives LOCAL_ONE.
- Disabled by default — when unset, behaviour is identical to upstream
- Valid values:
ANY,ONE,TWO,THREE,QUORUM,ALL,LOCAL_QUORUM,EACH_QUORUM,LOCAL_ONE - Invalid values are rejected at startup
- A
WARNlog is emitted when the override is active - Applies to all CQL request types: inline queries, prepared statement executions, and batch statements
Superuser startup warning
The proxy now checks at startup whether the configured origin and target users are Cassandra superusers. If so, a WARN log is emitted advising against this practice.
Superuser authentication in Cassandra requires QUORUM consistency internally, which increases the risk of authentication failures during node instability. Using a regular user with only the necessary permissions for the keyspaces being migrated is recommended.
The check is best-effort: it is silently skipped if authentication is not enabled, the system_auth.roles table is not accessible, or the platform does not support the query (e.g. DataStax Astra).
Compatibility
- Fully backwards compatible with upstream ZDM Proxy v2.4.1
- No configuration changes required to preserve existing behaviour
- Both features are disabled/inactive by default