You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2022/04/19 09:51:26 UTC

[pulsar] 24/26: [fix][txn] TransactionMetadataService don't connect again if store exist (#15114)

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

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

commit 3adb09978e4b20db1e0175348c19a86a04a26c77
Author: Xiangying Meng <55...@users.noreply.github.com>
AuthorDate: Wed Apr 13 18:00:03 2022 +0800

    [fix][txn] TransactionMetadataService don't connect again if store exist (#15114)
    
    ### Motivation && Modification
    We don`t need to openTransactionMetadataStore if store exist.
    
    (cherry picked from commit ccbcb86e3037bb39cf204d3c430f0978330e50b8)
---
 .../java/org/apache/pulsar/broker/TransactionMetadataStoreService.java  | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/TransactionMetadataStoreService.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/TransactionMetadataStoreService.java
index 97fae3be9f6..679bcf99368 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/TransactionMetadataStoreService.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/TransactionMetadataStoreService.java
@@ -179,6 +179,8 @@ public class TransactionMetadataStoreService {
                         // so we should jude the store exist again.
                         if (stores.get(tcId) != null) {
                             completableFuture.complete(null);
+                            tcLoadSemaphore.release();
+                            return;
                         }
 
                         openTransactionMetadataStore(tcId).thenAccept((store) -> internalPinnedExecutor.execute(() -> {