This is an automated email from the ASF dual-hosted git repository.
penghui pushed a commit to branch branch-2.8
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.8 by this push:
new a5ae0cf Add log to print exception stack. (#12345)
a5ae0cf is described below
commit a5ae0cf790309f58787b1e41c437c1bfda5073c2
Author: Jiwei Guo <[email protected]>
AuthorDate: Fri Oct 15 22:01:55 2021 +0800
Add log to print exception stack. (#12345)
## Motivation
PersistentTopic#subscribe doesn't print other exceptions such as NPE.
which could not help us to locate the cause of the problem.
## Example stack
```
21:58:30.785 [pulsar-io-4-3] INFO
org.apache.pulsar.broker.service.ServerCnx - [/10.28.2.2:54474] Subscribing on
topic persistent://public/product-full-prod/6827 / maestro-marek2
21:58:30.786 [pulsar-io-4-3] INFO
org.apache.pulsar.broker.service.persistent.PersistentTopic -
[persistent://public/product-full-prod/6827][maestro-marek2] Creating
non-durable subscription at msg id -1:-1:-1:-1
21:58:30.786 [pulsar-io-4-3] INFO
org.apache.bookkeeper.mledger.impl.NonDurableCursorImpl -
[public/product-full-prod/persistent/6827] Created non-durable cursor
read-position=88853:0 mark-delete-position=88853:-1
21:58:30.786 [pulsar-io-4-3] INFO
org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl -
[public/product-full-prod/persistent/6827] Opened new cursor:
NonDurableCursorImpl{ledger=public/product-full-prod/persistent/6827,
ackPos=88853:-1, readPos=88853:0}
21:58:30.786 [pulsar-io-4-3] INFO
org.apache.bookkeeper.mledger.impl.ManagedCursorImpl -
[public/product-full-prod/persistent/6827-maestro-marek2] Rewind from 88853:0
to 88853:0
21:58:30.786 [pulsar-io-4-3] WARN
org.apache.pulsar.broker.service.ServerCnx -
[/10.28.2.2:54474][persistent://public/product-full-prod/6827][maestro-marek2]
Failed to create consumer: consumerId=1, null
java.util.concurrent.CompletionException: java.lang.NullPointerException
at
java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
~[?:?]
at
java.util.concurrent.CompletableFuture.uniAcceptNow(CompletableFuture.java:757)
~[?:?]
at
java.util.concurrent.CompletableFuture.uniAcceptStage(CompletableFuture.java:731)
~[?:?]
at
java.util.concurrent.CompletableFuture.thenAccept(CompletableFuture.java:2108)
~[?:?]
at
org.apache.pulsar.broker.service.persistent.PersistentTopic.lambda$subscribe$14(PersistentTopic.java:762)
at
java.util.concurrent.CompletableFuture.uniAcceptNow(CompletableFuture.java:753)
~[?:?]
at
java.util.concurrent.CompletableFuture.uniAcceptStage(CompletableFuture.java:731)
~[?:?]
at
java.util.concurrent.CompletableFuture.thenAccept(CompletableFuture.java:2108)
~[?:?]
at
org.apache.pulsar.broker.service.persistent.PersistentTopic.subscribe(PersistentTopic.java:758)
at
org.apache.pulsar.broker.service.ServerCnx.lambda$null$13(ServerCnx.java:1017)
at
java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
~[?:?]
at
java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
~[?:?]
at
org.apache.pulsar.broker.service.ServerCnx.lambda$handleSubscribe$16(ServerCnx.java:988)
```
---
.../org/apache/pulsar/broker/service/persistent/PersistentTopic.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java
index 83615f2..30315fb 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java
@@ -795,6 +795,8 @@ public class PersistentTopic extends AbstractTopic
consumerName);
} else if (e.getCause() instanceof SubscriptionBusyException) {
log.warn("[{}][{}] {}", topic, subscriptionName,
e.getMessage());
+ } else {
+ log.error("[{}] Failed to create subscription: {}", topic,
subscriptionName, e);
}
decrementUsageCount();
@@ -802,7 +804,7 @@ public class PersistentTopic extends AbstractTopic
return null;
});
}).exceptionally(ex -> {
- log.error("[{}] Failed to create subscription: {} error: {}",
topic, subscriptionName, ex);
+ log.error("[{}] Failed to create subscription: {}", topic,
subscriptionName, ex);
decrementUsageCount();
if (ex.getCause() instanceof NotAllowedException) {
future.completeExceptionally(ex.getCause());