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

Reply via email to