Skip to content

Commit 445fe62

Browse files
supratimdekabharatviswa504
authored andcommitted
HDDS-2206. Separate handling for OMException and IOException in the Ozone Manager. Contributed by Supratim Deka (#12)
1 parent 636df43 commit 445fe62

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerProtocolServerSideTranslatorPB.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.apache.hadoop.ozone.OmUtils;
2323
import org.apache.hadoop.ozone.om.OzoneManager;
2424
import org.apache.hadoop.ozone.om.exceptions.NotLeaderException;
25+
import org.apache.hadoop.ozone.om.exceptions.OMException;
2526
import org.apache.hadoop.ozone.om.protocolPB.OzoneManagerProtocolPB;
2627
import org.apache.hadoop.ozone.om.ratis.OzoneManagerDoubleBuffer;
2728
import org.apache.hadoop.ozone.om.ratis.OzoneManagerRatisServer;
@@ -34,6 +35,7 @@
3435

3536
import com.google.protobuf.RpcController;
3637
import com.google.protobuf.ServiceException;
38+
import org.apache.hadoop.util.StringUtils;
3739
import org.apache.ratis.protocol.RaftPeerId;
3840
import org.apache.ratis.util.ExitUtils;
3941
import org.slf4j.Logger;
@@ -151,12 +153,21 @@ private OMResponse createErrorResponse(
151153
OzoneManagerRatisUtils.exceptionToResponseStatus(exception))
152154
.setCmdType(cmdType)
153155
.setSuccess(false);
154-
if (exception.getMessage() != null) {
155-
omResponse.setMessage(exception.getMessage());
156+
String errorMsg = exceptionErrorMessage(exception);
157+
if (errorMsg != null) {
158+
omResponse.setMessage(errorMsg);
156159
}
157160
return omResponse.build();
158161
}
159162

163+
private String exceptionErrorMessage(IOException ex) {
164+
if (ex instanceof OMException) {
165+
return ex.getMessage();
166+
} else {
167+
return StringUtils.stringifyException(ex);
168+
}
169+
}
170+
160171
/**
161172
* Submits request to OM's Ratis server.
162173
*/

0 commit comments

Comments
 (0)