| Previous | Next |
| ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS | ERROR_CLUSTER_NULL_DATA |
ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS
Commit and rollback are valid only while the transaction is active
ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS is the inverse lifecycle error: code attempted to complete a transaction that was never started, was already committed or rolled back, or was invalidated by an earlier failure. A duplicate completion can occur when both a normal return path and an exception-cleanup path finalize the same batch.
Treat the transaction handle as a one-owner, one-completion object. Log the first error that changed its state and prevent later cleanup from hiding that result with this secondary code. If an operation is retried, create a fresh transaction and rebuild the intended changes from authoritative cluster state rather than reusing an old handle.
Why the active transaction disappeared
- Whether begin/create succeeded before commit was called.
- First commit, rollback, close, or exception path touching the handle.
- Duplicate callbacks or retry logic completing the same operation.
- Cluster database changes already visible after the earlier completion.
References
- Microsoft: cluster database access functions
- Microsoft: cluster registry batch lifecycle
- Microsoft: non-batched cluster value update semantics
Looking for a different code? Search another status or error code.