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/07/21 11:22:28 UTC
[pulsar] branch master updated: [fix][broker] Fix the managed ledger factory shutdown stuck due to scheduled executor shutdown first (#16668)
This is an automated email from the ASF dual-hosted git repository.
penghui 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 9c93ab45af8 [fix][broker] Fix the managed ledger factory shutdown stuck due to scheduled executor shutdown first (#16668)
9c93ab45af8 is described below
commit 9c93ab45af80dbeb116bfe9b63ff579ac4e22ce6
Author: Penghui Li <pe...@apache.org>
AuthorDate: Thu Jul 21 19:22:21 2022 +0800
[fix][broker] Fix the managed ledger factory shutdown stuck due to scheduled executor shutdown first (#16668)
---
.../apache/bookkeeper/mledger/impl/ManagedLedgerFactoryImpl.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerFactoryImpl.java b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerFactoryImpl.java
index 1a12f9da496..8e3271a0393 100644
--- a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerFactoryImpl.java
+++ b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerFactoryImpl.java
@@ -570,9 +570,6 @@ public class ManagedLedgerFactoryImpl implements ManagedLedgerFactory {
} else {
bookkeeperFuture.complete(null);
}
- //wait for tasks in scheduledExecutor executed.
- scheduledExecutor.shutdown();
-
if (!ledgers.isEmpty()) {
log.info("Force closing {} ledgers.", ledgers.size());
//make sure all callbacks is called.
@@ -596,7 +593,10 @@ public class ManagedLedgerFactoryImpl implements ManagedLedgerFactory {
}
}));
entryCacheManager.clear();
- return FutureUtil.waitForAll(futures);
+ return FutureUtil.waitForAll(futures).thenAccept(__ -> {
+ //wait for tasks in scheduledExecutor executed.
+ scheduledExecutor.shutdown();
+ });
}
@Override