-
Notifications
You must be signed in to change notification settings - Fork 9.1k
HDDS-2175. Propagate stack trace for OM Exceptions to the Client. Contributed by Supratim Deka #1520
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
💔 -1 overall
This message was automatically generated. |
Thank you very much to file this issue @supratimdeka. The big question (for me) is the type of the exceptions. There are two kind of exception:
This particular code is about propagating the business exceptions. I am not sure if we need to It's enough to propagate the error type and the message. (This is what we do.) In case of a real system exception the stack trace is is propagated with Hadoop RPC (inside an RpcException If I remember well... The full stack trace is propagated there...) |
For the records. We discussed it offline: The most easy but powerful way can be an improvement to convert only the OM/SCM exceptions to message + status code and throw all the other exceptions (to be caucht by Hadoop RPC and stack trace will be propagated by hadoop rpc) |
Also are these call stacks something that the end user should ever see? I have always found as user a call stack useless, it might be useful for the developer for debugging purposes, but clients are generally things used by real users. Maybe if these stacks are not logged in the ozone.log, we can log them, provided we can guard them via a config key and by default we do not do that. |
https://issues.apache.org/jira/browse/HDDS-2175
complete stack trace added into the message field of OM response.
SCM exceptions(allocate block) are wrapped into an IOException on the OM and propagated to the client.
Intent is to make debugging more convenient.