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

zhaocong pushed a commit to branch branch-2.9
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/branch-2.9 by this push:
     new dec6395ceed [fix][broker]fix multi invocation for ledger 
createComplete (#18975)
dec6395ceed is described below

commit dec6395ceed433897614e7366d94b59b394c3f1d
Author: AloysZhang <[email protected]>
AuthorDate: Mon Dec 19 23:41:29 2022 +0800

    [fix][broker]fix multi invocation for ledger createComplete (#18975)
    
    ### Motivation
    
    fix multi invocation for ledger `createComplete`
    
    ### Modifications
    
    Only call `createComplete` at the point of creating ledger timeout if the 
ledger is not created normally
    
    (cherry picked from commit 8f1c1b11e7ac895acc20f9f9ff900583b4af935c)
---
 .../main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java
 
b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java
index a00a69b5b81..c9db05591e7 100644
--- 
a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java
+++ 
b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java
@@ -3778,12 +3778,12 @@ public class ManagedLedgerImpl implements 
ManagedLedger, CreateCallback {
                 if (log.isDebugEnabled()) {
                     log.debug("[{}] Timeout creating ledger", name);
                 }
+                cb.createComplete(BKException.Code.TimeoutException, null, 
ledgerCreated);
             } else {
                 if (log.isDebugEnabled()) {
                     log.debug("[{}] Ledger already created when timeout task 
is triggered", name);
                 }
             }
-            cb.createComplete(BKException.Code.TimeoutException, null, 
ledgerCreated);
         }, config.getMetadataOperationsTimeoutSeconds(), TimeUnit.SECONDS);
     }
 

Reply via email to