From commits-return-36672-archive-asf-public=cust-asf.ponee.io@pulsar.apache.org Mon Sep 2 18:07:44 2019
Return-Path:
X-Original-To: archive-asf-public@cust-asf.ponee.io
Delivered-To: archive-asf-public@cust-asf.ponee.io
Received: from mail.apache.org (hermes.apache.org [207.244.88.153])
by mx-eu-01.ponee.io (Postfix) with SMTP id CB5C2180658
for ; Mon, 2 Sep 2019 20:07:43 +0200 (CEST)
Received: (qmail 46065 invoked by uid 500); 2 Sep 2019 19:47:05 -0000
Mailing-List: contact commits-help@pulsar.apache.org; run by ezmlm
Precedence: bulk
List-Help:
List-Unsubscribe:
List-Post:
List-Id:
Reply-To: dev@pulsar.apache.org
Delivered-To: mailing list commits@pulsar.apache.org
Received: (qmail 46056 invoked by uid 99); 2 Sep 2019 19:47:05 -0000
Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70)
by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 02 Sep 2019 19:47:05 +0000
From: GitBox
To: commits@pulsar.apache.org
Subject: [GitHub] [pulsar] pouledodue opened a new issue #5094: Improve response of
REST API on AvroSchemaBasedCompatibilityCheck
Message-ID: <156744766302.22758.5162177275416023750.gitbox@gitbox.apache.org>
Date: Mon, 02 Sep 2019 18:07:43 -0000
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
pouledodue opened a new issue #5094: Improve response of REST API on AvroSchemaBasedCompatibilityCheck
URL: https://github.com/apache/pulsar/issues/5094
posting non-compatible schema outputs a unuseful html page with 500 code.
It should output maybe a 409 with the compatibility error shown in json output or something beautifully helpful for a developer
POST to
```
'http://localhost:8080/admin/v2/schemas/abc/def/x2/schema'
```
Get response
```
b'\n\n\nError 500 Internal Server Error\n\nHTTP ERROR 500
\nProblem accessing /admin/v2/schemas/abc/def/x2/schema. Reason:\n
Internal Server Error
Powered by Jetty:// 9.4.12.v20180830
\n\n\n\n'
```
Developer needs to read the logs to understand the error
```
17:59:36.291 [ForkJoinPool.commonPool-worker-0] ERROR org.apache.pulsar.broker.service.schema.AvroSchemaBasedCompatibilityCheck - Error during schema compatibility check: Unable to read schema:
{
"type" : "record",
"name" : "XSchemaV0",
"fields" : [ {
"name" : "fur4",
"type" : "string"
} ]
}
using schema:
{
"type" : "record",
"name" : "XSchemaV0",
"fields" : [ {
"name" : "fur2",
"type" : "string"
} ]
}
org.apache.avro.SchemaValidationException: Unable to read schema:
{
"type" : "record",
"name" : "XSchemaV0",
"fields" : [ {
"name" : "fur4",
"type" : "string"
} ]
}
using schema:
{
"type" : "record",
"name" : "XSchemaV0",
"fields" : [ {
"name" : "fur2",
"type" : "string"
} ]
}
at org.apache.avro.ValidateMutualRead.canRead(ValidateMutualRead.java:70) ~[org.apache.avro-avro-1.8.2.jar:1.8.2]
at org.apache.avro.ValidateMutualRead.validate(ValidateMutualRead.java:43) ~[org.apache.avro-avro-1.8.2.jar:1.8.2]
at org.apache.avro.ValidateLatest.validate(ValidateLatest.java:51) ~[org.apache.avro-avro-1.8.2.jar:1.8.2]
at org.apache.pulsar.broker.service.schema.AvroSchemaBasedCompatibilityCheck.isCompatible(AvroSchemaBasedCompatibilityCheck.java:56) ~[org.apache.pulsar-pulsar-broker-2.4.0.jar:2.4.0]
at org.apache.pulsar.broker.service.schema.AvroSchemaCompatibilityCheck.isCompatible(AvroSchemaCompatibilityCheck.java:26) ~[org.apache.pulsar-pulsar-broker-2.4.0.jar:2.4.0]
at org.apache.pulsar.broker.service.schema.AvroSchemaBasedCompatibilityCheck.isCompatible(AvroSchemaBasedCompatibilityCheck.java:42) ~[org.apache.pulsar-pulsar-broker-2.4.0.jar:2.4.0]
at org.apache.pulsar.broker.service.schema.AvroSchemaCompatibilityCheck.isCompatible(AvroSchemaCompatibilityCheck.java:26) ~[org.apache.pulsar-pulsar-broker-2.4.0.jar:2.4.0]
at org.apache.pulsar.broker.service.schema.SchemaRegistryServiceImpl.isCompatible(SchemaRegistryServiceImpl.java:180) ~[org.apache.pulsar-pulsar-broker-2.4.0.jar:2.4.0]
at org.apache.pulsar.broker.service.schema.SchemaRegistryServiceImpl.lambda$checkCompatibilityWithLatest$8(SchemaRegistryServiceImpl.java:189) ~[org.apache.pulsar-pulsar-broker-2.4.0.jar:2.4.0]
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602) ~[?:1.8.0_212]
at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577) ~[?:1.8.0_212]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) ~[?:1.8.0_212]
at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962) ~[?:1.8.0_212]
at org.apache.pulsar.broker.service.schema.BookkeeperSchemaStorage.lambda$null$5(BookkeeperSchemaStorage.java:187) ~[org.apache.pulsar-pulsar-broker-2.4.0.jar:2.4.0]
at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:822) [?:1.8.0_212]
at java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:797) [?:1.8.0_212]
at java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:443) [?:1.8.0_212]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) [?:1.8.0_212]
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) [?:1.8.0_212]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) [?:1.8.0_212]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) [?:1.8.0_212]
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services