-
Notifications
You must be signed in to change notification settings - Fork 588
HDDS-2208. Propagate System Exceptions from OM transaction apply phase. Contributed by Supratim Deka #47
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
…e. Contributed by Supratim Deka
...op-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java
Outdated
Show resolved
Hide resolved
bharatviswa504
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall LGTM.
What is the end goal of this change or instead of just the exception message, have the entire stackTrace for System exceptions that is only the intention here?
|
@bharatviswa504 , yes the intention is to send the entire stack trace for system exceptions to the client. the expectation is to make debugging more convenient. the original intent was to throw exceptions on the client (via protobuf ServiceExceptions). but that gets quite complicated because of Ratis. Lot simpler to make the same information available in the message field of the OM response. So leaving it at that for now. |
|
Can we have this disable by default via a config flag. This is a debug facility and should remain so. |
Depends what is I think it's good to have the stack trace in these cases. Would be better to have it in a structured form, but as it's explained this is the easiest way. Let me commit this, and we can continue the discussion if any configuration key is required (and if it is, we can add it in a follow-up jira) |
elek
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
Thanks the contribution @supratimdeka
|
I discussed it with @anuengineer and understood that he has more concerns regarding the propagation of stack traces to the client, as it couldn't be used easily with any non-java client in the future. I also found this comment: https://issues.apache.org/jira/browse/HDDS-2206
But it's hard to understand the concerns based on this comment line. I propose to create short design-document about the vision of error handling to make it easier to follow in all the patches. We can adjust the behavior in a follow-up patch. (For example: instead of propagating the stack trace we can improve the insight tool to help to find the real error without propagation). |
|
This comment is perhaps more relevant. Yes, let us create a doc that deals with this issue. |
|
Thanks the pointer, I was not familiar with that conversation. |
https://issues.apache.org/jira/browse/HDDS-2208
This is a follow-up to the patch for HDDS-2206
#12
The change propagates complete stacktraces for system exceptions encountered during the Ratis phase of the OM request handling.
However, this patch does not consider the configuration parameter introduced earlier in the patch for HDDS-2206. Controlling the behaviour using a configuration parameter requires a much greater footprint in the code. Because at this point, there is no clear requirement for such a config parameter - going ahead without the config param.
Will update the patch for HDDS-2206 as well - will remove the configuration that was introduced.