You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2021/11/18 06:27:36 UTC
[pulsar] 13/15: [Broker] Optimize exception information for schemas (#12647)
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
commit e801f93d54e7a9cfca547e2327af09a753be147c
Author: Ruguo Yu <ji...@163.com>
AuthorDate: Sat Nov 6 22:14:19 2021 +0800
[Broker] Optimize exception information for schemas (#12647)
(cherry picked from commit 36f151ce442ec928c6fcf5840b825284f7f5ae88)
---
.../apache/pulsar/broker/admin/impl/SchemasResourceBase.java | 11 +++++++----
.../java/org/apache/pulsar/tests/integration/cli/CLITest.java | 2 +-
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SchemasResourceBase.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SchemasResourceBase.java
index cab4ee8..d2decdd 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SchemasResourceBase.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/SchemasResourceBase.java
@@ -260,9 +260,11 @@ public class SchemasResourceBase extends AdminResource {
private static void handleGetSchemaResponse(AsyncResponse response, SchemaAndMetadata schema, Throwable error) {
if (isNull(error)) {
if (isNull(schema)) {
- response.resume(Response.status(Response.Status.NOT_FOUND).build());
+ response.resume(Response.status(
+ Response.Status.NOT_FOUND.getStatusCode(), "Schema not found").build());
} else if (schema.schema.isDeleted()) {
- response.resume(Response.status(Response.Status.NOT_FOUND).build());
+ response.resume(Response.status(
+ Response.Status.NOT_FOUND.getStatusCode(), "Schema is deleted").build());
} else {
response.resume(Response.ok().encoding(MediaType.APPLICATION_JSON)
.entity(convertSchemaAndMetadataToGetSchemaResponse(schema)).build());
@@ -278,7 +280,8 @@ public class SchemasResourceBase extends AdminResource {
Throwable error) {
if (isNull(error)) {
if (isNull(schemas)) {
- response.resume(Response.status(Response.Status.NOT_FOUND).build());
+ response.resume(Response.status(
+ Response.Status.NOT_FOUND.getStatusCode(), "Schemas not found").build());
} else {
response.resume(Response.ok().encoding(MediaType.APPLICATION_JSON)
.entity(GetAllVersionsSchemaResponse.builder()
@@ -300,7 +303,7 @@ public class SchemasResourceBase extends AdminResource {
validateTopicOwnership(topicName, authoritative);
} catch (RestException e) {
if (e.getResponse().getStatus() == Response.Status.UNAUTHORIZED.getStatusCode()) {
- throw new RestException(Response.Status.NOT_FOUND, "Not Found");
+ throw new RestException(Response.Status.UNAUTHORIZED, e.getMessage());
} else {
throw e;
}
diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/CLITest.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/CLITest.java
index 790c71b..0076e3c 100644
--- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/CLITest.java
+++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/CLITest.java
@@ -334,7 +334,7 @@ public class CLITest extends PulsarTestSuite {
);
fail("Command should have exited with non-zero");
} catch (ContainerExecException e) {
- assertTrue(e.getResult().getStderr().contains("Reason: HTTP 404 Not Found"));
+ assertTrue(e.getResult().getStderr().contains("Schema not found"));
}
}