[
https://issues.apache.org/jira/browse/HDDS-2175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16941476#comment-16941476
]
Anu Engineer edited comment on HDDS-2175 at 10/1/19 4:46 PM:
-------------------------------------------------------------
It is something that I disagree with. But if you feel strongly about this;
please go ahead.
Also since you seem passionate about this topic, I think I should point you to
something better than tweet. Here is a good analysis of problems with
exceptions.
https://pdfs.semanticscholar.org/5a36/bc568242439e9a4509fba63fb18a01ffdfc9.pdf
Google etc. for the longest time, argued that even C++ code should not use
exceptions.
Languages like Golang, cannot handle them if you throw them.
I understand that proposal here is not to propogate exceptions, inspite of what
you argue, but move the code to a frankenstien state, where we send exceptions
to client as strings.
So it still is Error code, message -- but sometimes you need to parse the error
string to understand what it is; sometimes it is just human readable. Our
current model is that these strings be always be human readable.
But as I said; I think the disagreement is a question of taste; so I do not
want perfect to be the enemy of good; and if we want to move to this
frankenstien model, where sometimes error strings are exceptions, I am willing
to live with it.
was (Author: anu):
It is something that I disagree with. But if you feel strongly about this;
please go ahead.
> Propagate System Exceptions from the OzoneManager
> -------------------------------------------------
>
> Key: HDDS-2175
> URL: https://issues.apache.org/jira/browse/HDDS-2175
> Project: Hadoop Distributed Data Store
> Issue Type: Improvement
> Components: Ozone Manager
> Reporter: Supratim Deka
> Assignee: Supratim Deka
> Priority: Major
> Labels: pull-request-available
> Time Spent: 1h
> Remaining Estimate: 0h
>
> Exceptions encountered while processing requests on the OM are categorized as
> business exceptions and system exceptions. All of the business exceptions are
> captured as OMException and have an associated status code which is returned
> to the client. The handling of these is not going to be changed.
> Currently system exceptions are returned as INTERNAL ERROR to the client with
> a 1 line message string from the exception. The scope of this jira is to
> capture system exceptions and propagate the related information(including the
> complete stack trace) back to the client.
> There are 3 sub-tasks required to achieve this
> 1. Separate capture and handling for OMException and the other
> exceptions(IOException). For system exceptions, use Hadoop IPC
> ServiceException mechanism to send the stack trace to the client.
> 2. track and propagate exceptions inside Ratis OzoneManagerStateMachine and
> propagate up to the OzoneManager layer (on the leader). Currently, these
> exceptions are not being tracked.
> 3. Handle and propagate exceptions from Ratis.
> Will raise jira for each sub-task.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]