You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by lh...@apache.org on 2024/11/29 15:04:02 UTC
(pulsar) branch master updated: [improve][client] Enhance error handling for non-exist subscription in consumer creation (#23254)
This is an automated email from the ASF dual-hosted git repository.
lhotari 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 7fc88d65020 [improve][client] Enhance error handling for non-exist subscription in consumer creation (#23254)
7fc88d65020 is described below
commit 7fc88d650202bca5d0462b41a89c5189f90a3859
Author: Yike Xiao <km...@live.com>
AuthorDate: Fri Nov 29 23:03:55 2024 +0800
[improve][client] Enhance error handling for non-exist subscription in consumer creation (#23254)
---
.../java/org/apache/pulsar/client/api/MultiTopicsConsumerTest.java | 6 ++++--
.../java/org/apache/pulsar/client/api/PulsarClientException.java | 2 ++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/client/api/MultiTopicsConsumerTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/client/api/MultiTopicsConsumerTest.java
index 7a12acd47ed..ea8eb6e8cc0 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/client/api/MultiTopicsConsumerTest.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/client/api/MultiTopicsConsumerTest.java
@@ -413,8 +413,9 @@ public class MultiTopicsConsumerTest extends ProducerConsumerBase {
.isAckReceiptEnabled(true)
.subscribe();
assertTrue(singleTopicConsumer instanceof ConsumerImpl);
+ } catch (PulsarClientException.SubscriptionNotFoundException ignore) {
} catch (Throwable t) {
- assertTrue(t.getCause().getCause() instanceof PulsarClientException.SubscriptionNotFoundException);
+ fail("Should throw PulsarClientException.SubscriptionNotFoundException instead");
}
try {
@@ -424,8 +425,9 @@ public class MultiTopicsConsumerTest extends ProducerConsumerBase {
.isAckReceiptEnabled(true)
.subscribe();
assertTrue(multiTopicsConsumer instanceof MultiTopicsConsumerImpl);
+ } catch (PulsarClientException.SubscriptionNotFoundException ignore) {
} catch (Throwable t) {
- assertTrue(t.getCause().getCause() instanceof PulsarClientException.SubscriptionNotFoundException);
+ fail("Should throw PulsarClientException.SubscriptionNotFoundException instead");
}
pulsar.getConfiguration().setAllowAutoSubscriptionCreation(true);
diff --git a/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/PulsarClientException.java b/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/PulsarClientException.java
index 9eb6c612a52..b2c9b2b697b 100644
--- a/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/PulsarClientException.java
+++ b/pulsar-client-api/src/main/java/org/apache/pulsar/client/api/PulsarClientException.java
@@ -1113,6 +1113,8 @@ public class PulsarClientException extends IOException {
newException = new TransactionConflictException(msg);
} else if (cause instanceof TopicDoesNotExistException) {
newException = new TopicDoesNotExistException(msg);
+ } else if (cause instanceof SubscriptionNotFoundException) {
+ newException = new SubscriptionNotFoundException(msg);
} else if (cause instanceof ProducerFencedException) {
newException = new ProducerFencedException(msg);
} else if (cause instanceof MemoryBufferIsFullError) {