This is an automated email from the ASF dual-hosted git repository.
mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 24605d3 Fix status code of REST API to get list of subscriptions of
partitioned topic (#2550)
24605d3 is described below
commit 24605d328357e89ae107b549a6f0da2ce1683857
Author: massakam <[email protected]>
AuthorDate: Tue Sep 11 12:43:21 2018 +0900
Fix status code of REST API to get list of subscriptions of partitioned
topic (#2550)
---
.../apache/pulsar/broker/admin/impl/PersistentTopicsBase.java | 6 ++++++
.../test/java/org/apache/pulsar/broker/admin/AdminApiTest.java | 10 ++++++++++
2 files changed, 16 insertions(+)
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java
index da51453..9f5c2df 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java
@@ -529,6 +529,12 @@ public class PersistentTopicsBase extends AdminResource {
// subscriptions
subscriptions.addAll(pulsar().getAdminClient().topics()
.getSubscriptions(topicName.getPartition(0).toString()));
+ } catch (PulsarAdminException e) {
+ if (e.getStatusCode() == Status.NOT_FOUND.getStatusCode()) {
+ throw new RestException(Status.NOT_FOUND, "Internal topics
have not been generated yet");
+ } else {
+ throw new RestException(e);
+ }
} catch (Exception e) {
throw new RestException(e);
}
diff --git
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java
index c7c090f..187539f 100644
---
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java
+++
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest.java
@@ -798,6 +798,16 @@ public class AdminApiTest extends
MockedPulsarServiceBaseTest {
fail(e.getMessage());
}
+ try {
+ admin.topics().getSubscriptions(partitionedTopicName);
+ fail("should have failed");
+ } catch (PulsarAdminException e) {
+ // ok
+ assertEquals(e.getStatusCode(), Status.NOT_FOUND.getStatusCode());
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+
// create consumer and subscription
URL pulsarUrl = new URL("http://127.0.0.1" + ":" +
BROKER_WEBSERVICE_PORT);
PulsarClient client =
PulsarClient.builder().serviceUrl(pulsarUrl.toString()).statsInterval(0,
TimeUnit.SECONDS)