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

yong pushed a commit to branch branch-4.15
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git

commit 8f673e50647fcff1b9f796461d86eef862deb917
Author: gaozhangmin <[email protected]>
AuthorDate: Thu Nov 3 17:04:43 2022 +0800

    Using a separate thread pool to execute openWithMetadata (#3548)
    
    (cherry picked from commit 5724bc8434a4d6903487221d39713f39a4bcb6b4)
---
 .../main/java/org/apache/bookkeeper/client/LedgerOpenOp.java   | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerOpenOp.java
 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerOpenOp.java
index 6ba4a11e3b..847da0d89c 100644
--- 
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerOpenOp.java
+++ 
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerOpenOp.java
@@ -113,12 +113,10 @@ class LedgerOpenOp {
          * Asynchronously read the ledger metadata node.
          */
         bk.getLedgerManager().readLedgerMetadata(ledgerId)
-            .whenComplete((metadata, exception) -> {
-                    if (exception != null) {
-                        openComplete(BKException.getExceptionCode(exception), 
null);
-                    } else {
-                        openWithMetadata(metadata);
-                    }
+                .thenAcceptAsync(this::openWithMetadata, 
bk.getScheduler().chooseThread(ledgerId))
+                .exceptionally(exception -> {
+                    openComplete(BKException.getExceptionCode(exception), 
null);
+                    return null;
                 });
     }
 

Reply via email to