This is an automated email from the ASF dual-hosted git repository.
technoboy pushed a commit to branch branch-2.11
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.11 by this push:
new 017db7c1fb0 [Fix][Txn] Unwrap the completion exception. (#20396)
017db7c1fb0 is described below
commit 017db7c1fb0b003c7ff887ebb1d322070908fb2b
Author: thetumbled <[email protected]>
AuthorDate: Tue May 30 10:07:09 2023 +0800
[Fix][Txn] Unwrap the completion exception. (#20396)
---
.../org/apache/pulsar/broker/TransactionMetadataStoreService.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
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 4e79184de0f..90ef6d632d8 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
@@ -169,7 +169,8 @@ public class TransactionMetadataStoreService {
tcLoadSemaphore.release();
})).exceptionally(e -> {
internalPinnedExecutor.execute(() -> {
-
completableFuture.completeExceptionally(e.getCause());
+ Throwable realCause =
FutureUtil.unwrapCompletionException(e);
+
completableFuture.completeExceptionally(realCause);
// release before handle request queue,
//in order to client reconnect infinite loop
tcLoadSemaphore.release();
@@ -180,7 +181,7 @@ public class TransactionMetadataStoreService {
CompletableFuture<Void> future =
deque.poll();
if (future != null) {
// this means that this tc client
connection connect fail
- future.completeExceptionally(e);
+
future.completeExceptionally(realCause);
} else {
break;
}