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]

Reply via email to