commit method
Implementation
void commit(TxnContextV2 ctx) {
// Silently ignore duplicate commits (idempotent).
if (ctx.status == TxnStatus.committed) return;
if (ctx.status == TxnStatus.aborted) {
throw StateError('Cannot commit already-aborted txn ${ctx.txnId}');
}
ctx.status = TxnStatus.committed;
_active.remove(ctx.txnId);
committed.markCommitted(ctx.txnId);
if (ctx.txnId > _lastCommitted) {
_lastCommitted = ctx.txnId;
}
lockManager.releaseAll(ctx.locks);
ctx.locks.clear();
_asyncPersistCommitted();
}