This is an automated email from the ASF dual-hosted git repository.
eolivelli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git
The following commit(s) were added to refs/heads/master by this push:
new 05ca058444 Make sure the LedgerHandle close callback can be completed
when encounter exception (#2913)
05ca058444 is described below
commit 05ca058444e83a349d3a002b8d893817691f36b0
Author: Penghui Li <[email protected]>
AuthorDate: Fri Jul 29 14:56:48 2022 +0800
Make sure the LedgerHandle close callback can be completed when encounter
exception (#2913)
* Make sure the LedgerHandle close callback can be completed when encounter
exception.
---
.../src/main/java/org/apache/bookkeeper/client/LedgerHandle.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerHandle.java
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerHandle.java
index 4b1a20c25e..316cc7d32d 100644
---
a/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerHandle.java
+++
b/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerHandle.java
@@ -571,7 +571,12 @@ public class LedgerHandle implements WriteHandle {
// error out all pending adds during closing, the callbacks
shouldn't be
// running under any bk locks.
- errorOutPendingAdds(rc, pendingAdds);
+ try {
+ errorOutPendingAdds(rc, pendingAdds);
+ } catch (Throwable e) {
+ closePromise.completeExceptionally(e);
+ return;
+ }
if (prevHandleState != HandleState.CLOSED) {
if (LOG.isDebugEnabled()) {