congbobo184 opened a new pull request #10131:
URL: https://github.com/apache/pulsar/pull/10131


   ## Motivation
   When transaction in aborting or committing status, we retry endTransaction 
and update status in ```TransactionMetadataStore``` will throw 
```InvalidTxnStatusException```, it will not retry. so we should judge the 
Transaction status try to retry.
   
   ## implement
   1. When Transaction status in ```OPEN```status, we can updateStatus by 
```TransactionMetadataStore```.
   2. When Transaction status in ```Committing``` or ```Aborting``` status, we 
should judge the ```TxnAction```, if txnAction corresponds to the 
```TxnStatus``` only ```endTxnInTransactionBuffer```, if not we don't do any 
operation.
   3. When Transaction status in another status, don't need to handle.
   4. When ```TransactionNotFoundException``` or 
```CoordinatorNotFoundException``` can stop retry op.
   ### Verifying this change
   Add the tests for it
   
   Does this pull request potentially affect one of the following parts:
   If yes was chosen, please highlight the changes
   
   Dependencies (does it add or upgrade a dependency): (no)
   The public API: (no)
   The schema: (no)
   The default values of configurations: (no)
   The wire protocol: (no)
   The rest endpoints: (no)
   The admin cli options: (no)
   Anything that affects deployment: (no)
   
   


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

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to