sollhui opened a new pull request, #64939:
URL: https://github.com/apache/doris/pull/64939

   ### What problem does this PR solve?
   
   In cloud mode, `CloudMetaMgr::abort_txn` currently prefers `db_id + label` 
over `txn_id` when building `AbortTxnRequest`.
   
   For stream load rollback, the context usually contains both `txn_id` and 
`label`. If an old stream load attempt is aborted externally but its BE-side 
execution is still cleaning up later, its rollback may abort by label instead 
of by the original txn id.
   
   When the upstream retries with the same label, this label-based rollback can 
match and abort a newer running transaction with the same label, causing the 
new attempt to fail with:
   ```
   txn is not in 1 state, txn_status=4
   ```
   
   ### Solution
   Prefer txn_id when aborting a cloud stream load transaction. Fall back to 
db_id + label only when txn_id is not available.
   This makes rollback cleanup target the exact failed transaction, instead of 
affecting another transaction that happens to use the same label.


-- 
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