This is an automated email from the ASF dual-hosted git repository.

bogong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new a35670d83b0 [improve][txn] fix error in 
recoverTracker.handleCommittingAndAbortingTransaction()  (#18924)
a35670d83b0 is described below

commit a35670d83b0b3f2fb63d11e4fb222d7f24099c9a
Author: ken <[email protected]>
AuthorDate: Fri Dec 16 10:56:55 2022 +0800

    [improve][txn] fix error in 
recoverTracker.handleCommittingAndAbortingTransaction()  (#18924)
    
    Fixes #18923
    
    ### Motivation
    
    As described in #18923, 
recoverTracker.handleCommittingAndAbortingTransaction() fail when TC recover.
    
    ### Modifications
    
    when transactionLog.replayAsync() finish, complete TC future.
---
 .../pulsar/transaction/coordinator/impl/MLTransactionMetadataStore.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/pulsar-transaction/coordinator/src/main/java/org/apache/pulsar/transaction/coordinator/impl/MLTransactionMetadataStore.java
 
b/pulsar-transaction/coordinator/src/main/java/org/apache/pulsar/transaction/coordinator/impl/MLTransactionMetadataStore.java
index fbb14fa86f3..53a515ff991 100644
--- 
a/pulsar-transaction/coordinator/src/main/java/org/apache/pulsar/transaction/coordinator/impl/MLTransactionMetadataStore.java
+++ 
b/pulsar-transaction/coordinator/src/main/java/org/apache/pulsar/transaction/coordinator/impl/MLTransactionMetadataStore.java
@@ -127,9 +127,9 @@ public class MLTransactionMetadataStore
                                         + tcID.toString() + " change state to 
Ready error when init it"));
 
                     } else {
+                        
completableFuture.complete(MLTransactionMetadataStore.this);
                         
recoverTracker.handleCommittingAndAbortingTransaction();
                         timeoutTracker.start();
-                        
completableFuture.complete(MLTransactionMetadataStore.this);
                         
recoverTime.setRecoverEndTime(System.currentTimeMillis());
                     }
                 }

Reply via email to