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

   ### What would you like to be improved?
   
   When a request includes an unsupported metadataObjectType path value, 
Gravitino can fail during authorization context construction and return an 
internal server error instead of a clean client-facing validation error.
   
   The problem happens before the REST handler runs:
   - ParameterUtil.java converts the path parameter with 
MetadataObject.Type.valueOf(...)
   - GravitinoInterceptionService.java catches that exception in the 
authorization interceptor
   - the interceptor then returns Authorization failed due to system internal 
error
   
   This makes invalid user input look like a server-side authorization failure.
   
   ### How should we improve?
   
   Handle invalid metadata object types explicitly during authorization 
parameter extraction.
   
   Options:
   - Catch IllegalArgumentException around MetadataObject.Type.valueOf(...) in 
ParameterUtil.extractNameIdentifierFromParameters and convert it to a normal 
invalid-argument path.
   - In GravitinoInterceptionService, treat invalid request-parameter parsing 
errors as bad requests instead of internal authorization failures.
   - Add tests covering unsupported metadataObjectType values for object-based 
endpoints to verify they return a clean 4xx response rather than 500.


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