github-actions[bot] commented on code in PR #69925:
URL: https://github.com/apache/doris/pull/69925#discussion_r4437897617
##########
fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java:
##########
@@ -970,6 +970,19 @@ private TransactionState
commitTxn(CommitTxnRequest.Builder builder, List<Table>
} else if (code == MetaServiceCode.OK || code ==
MetaServiceCode.TXN_ALREADY_VISIBLE
|| code == MetaServiceCode.TXN_ALREADY_ABORTED) {
Env.getCurrentEnv().getTSOService().markTxnFinished(commitTxnRequest.getDbId(),
transactionId);
+ } else if (code == MetaServiceCode.KV_TXN_COMMIT_ERR) {
Review Comment:
[P2] Avoid fencing known-not-committed retry exhaustion
`MetaService::call_impl` also rewrites an exhausted
`KV_TXN_STORE_COMMIT_RETRYABLE`—which `cast_as<COMMIT>` produces for
`TxnErrorCode::TXN_RETRYABLE_NOT_COMMITTED`—to `KV_TXN_COMMIT_ERR`. That source
status explicitly means the FDB transaction did not commit, so this TSO can be
abandoned directly. Because this branch cannot distinguish it from a timeout or
unknown commit, it advances the global fence anyway, rejecting every in-flight
TSO at or below this one with `TXN_COMMIT_TSO_EXPIRED` and potentially
deactivating the whole TSO service if the extra fence RPC fails. Preserve the
underlying status or fence only genuinely ambiguous commit results.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]