[
https://issues.apache.org/jira/browse/HDDS-1258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16869399#comment-16869399
]
Stephen O'Donnell commented on HDDS-1258:
-----------------------------------------
I have submitted a pull request for this. Right now, the client does not see
the benefit of this change. This is because the calls usually go:
Client -> OM -> SCM
At the moment the OM only translates error codes return from OMException and it
does not have the logic to translate error codes from the SCM exception.
This change does leave us in a good position to create a followup Jira to
ensure the OM can map the SCM Exceptions too. It is probably not overly
complex, but its not as trivial as it sounds due to how the error codes are
current mapped between the code in the exception object and the code in the
protobuf messages.
> Fix error propagation for SCM protocol
> --------------------------------------
>
> Key: HDDS-1258
> URL: https://issues.apache.org/jira/browse/HDDS-1258
> Project: Hadoop Distributed Data Store
> Issue Type: Improvement
> Reporter: Elek, Marton
> Assignee: Stephen O'Donnell
> Priority: Critical
> Labels: pull-request-available
> Time Spent: 20m
> Remaining Estimate: 0h
>
> HDDS-1068 fixed the error propagation between the OM client and OM server.
> By default the Server.java transforms all the IOExceptions to one string
> (message + stack trace) and this is returned to the client.
> But for business exception (eg. volume not found, chill mode is active, etc.)
> this is not what we need.
> In the OM side we fixed this behaviour. In the ServerSideTranslator classes
> we catch (server) the business (OMException) exceptions and serialize them to
> the response object.
> The exception (and the status code) is stored in message/status field of the
> OMResponse (hadoop-ozone/common/src/main/proto/OzoneManagerProtocol.proto)
> Here I propose to do the same for the ScmBlockLocationProtocol.proto.
> Unfortunately there is no common parent object (like OMRequest) in this
> protocol, but we can easily add one as only the Serverside/Clientside
> translator should be changed for that.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]