hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen O'Donnell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDDS-1258) Fix error propagation for SCM protocol
Date Fri, 21 Jun 2019 11:04:00 GMT

    [ 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: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org


Mime
View raw message