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 <[email protected]> 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")); } }
