lhotari commented on a change in pull request #14087:
URL: https://github.com/apache/pulsar/pull/14087#discussion_r800691821
##########
File path:
pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/AdminResource.java
##########
@@ -755,13 +755,14 @@ protected void
internalCreatePartitionedTopic(AsyncResponse asyncResponse, int n
return future;
}
- protected void resumeAsyncResponseExceptionally(AsyncResponse
asyncResponse, Throwable throwable) {
- if (throwable instanceof WebApplicationException) {
- asyncResponse.resume(throwable);
- } else if (throwable instanceof
BrokerServiceException.NotAllowedException) {
- asyncResponse.resume(new RestException(Status.CONFLICT,
throwable));
+ protected static void resumeAsyncResponseExceptionally(AsyncResponse
asyncResponse, Throwable exception) {
+ Throwable realCause = FutureUtil.unwrapCompletionException(exception);
+ if (realCause instanceof WebApplicationException) {
+ asyncResponse.resume(realCause);
+ } else if (realCause instanceof
BrokerServiceException.NotAllowedException) {
+ asyncResponse.resume(new RestException(Status.CONFLICT,
realCause));
Review comment:
> I think maybe we need to normalize exceptions and HTTP code after
refactoring the admin side async code.
yes, that makes sense to handle it separately.
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]