LuciferYang opened a new issue, #13401:
URL: https://github.com/apache/gravitino/issues/13401

   ### Version
   
   main branch
   
   ### Describe what's wrong
   
   When a catalog supplies a `ProxyPlugin`, `OperationsProxy.invoke` propagates 
the `InvocationTargetException` that `java.lang.reflect.Method.invoke` wraps 
around the operation's own exception. Every typed failure 
(`NoSuchEntityException`, `AlreadyExistsException`, and so on) reaches callers 
as the reflective wrapper instead of the real exception.
   
   Exception-type dispatch downstream then misses. The REST layer's 
`ExceptionHandlers` is an `instanceof` chain over the domain exception types; a 
wrapped exception matches none of them and falls through to a generic 500, 
instead of the correct 404, 409, and so on.
   
   ### How to reproduce
   
   Configure a catalog that supplies a `ProxyPlugin`, then trigger a typed 
failure such as loading a table that does not exist. The client receives a 500 
rather than a 404.
   


-- 
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]

Reply via email to