This is an automated email from the ASF dual-hosted git repository.
yubiao pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new d09664af2d8 [Fix][Txn] Unwrap the completion exception. (#20396)
d09664af2d8 is described below
commit d09664af2d8dbdd681db8a7ad1b76ffde5675314
Author: thetumbled <[email protected]>
AuthorDate: Tue May 30 10:07:09 2023 +0800
[Fix][Txn] Unwrap the completion exception. (#20396)
(cherry picked from commit 7ea8741af265bd8554e7a52a29a4ed59cb749dea)
---
.../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 3e3b044ec51..35aa7cc2fdd 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;
}