From 5fee26f5afbae56f794618955908ba11039412fe Mon Sep 17 00:00:00 2001 From: sdeka Date: Thu, 17 Oct 2019 11:46:17 +0530 Subject: [PATCH 1/2] HDDS-2208. Propagate System Exceptions from OM transaction apply phase. Contributed by Supratim Deka --- .../hadoop/ozone/om/request/OMClientRequest.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java index 306527f2a4fc..eda2f0f29c5e 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java @@ -34,6 +34,7 @@ import org.apache.hadoop.ozone.audit.AuditLogger; import org.apache.hadoop.ozone.audit.AuditMessage; import org.apache.hadoop.ozone.om.OzoneManager; +import org.apache.hadoop.ozone.om.exceptions.OMException; import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper; import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerRatisUtils; import org.apache.hadoop.ozone.om.response.OMClientResponse; @@ -180,13 +181,22 @@ protected OMResponse createErrorOMResponse( @Nonnull OMResponse.Builder omResponse, @Nonnull IOException ex) { omResponse.setSuccess(false); - if (ex.getMessage() != null) { - omResponse.setMessage(ex.getMessage()); + String errorMsg = exceptionErrorMessage(ex); + if (errorMsg != null) { + omResponse.setMessage(errorMsg); } omResponse.setStatus(OzoneManagerRatisUtils.exceptionToResponseStatus(ex)); return omResponse.build(); } + private String exceptionErrorMessage(IOException ex) { + if (ex instanceof OMException) { + return ex.getMessage(); + } else { + return org.apache.hadoop.util.StringUtils.stringifyException(ex); + } + } + /** * Log the auditMessage. * @param auditLogger From 0b9d3c3c778f55c2e15b51a921b811f658c7efcb Mon Sep 17 00:00:00 2001 From: sdeka Date: Fri, 18 Oct 2019 15:09:40 +0530 Subject: [PATCH 2/2] fixed checkstyle issue. --- .../org/apache/hadoop/ozone/om/request/OMClientRequest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java index eda2f0f29c5e..dc1aeac4b7bb 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java @@ -193,7 +193,7 @@ private String exceptionErrorMessage(IOException ex) { if (ex instanceof OMException) { return ex.getMessage(); } else { - return org.apache.hadoop.util.StringUtils.stringifyException(ex); + return org.apache.hadoop.util.StringUtils.stringifyException(ex); } }