HADOOP-17914. Print RPC response length in the exception message (#3436)

This commit is contained in:
litao 2021-09-17 14:45:14 +08:00 committed by GitHub
parent f5c76c8e31
commit 71a601241c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 4 deletions

View File

@ -1907,10 +1907,12 @@ public ByteBuffer readResponse() throws IOException {
}
}
if (length <= 0) {
throw new RpcException("RPC response has invalid length");
throw new RpcException(String.format("RPC response has " +
"invalid length of %d", length));
}
if (maxResponseLength > 0 && length > maxResponseLength) {
throw new RpcException("RPC response exceeds maximum data length");
throw new RpcException(String.format("RPC response has a " +
"length of %d exceeds maximum data length", length));
}
ByteBuffer bb = ByteBuffer.allocate(length);
in.readFully(bb.array());

View File

@ -1638,8 +1638,8 @@ public void testRpcResponseLimit() throws Throwable {
} catch (IOException ioe) {
Assert.assertNotNull(ioe);
Assert.assertEquals(RpcException.class, ioe.getClass());
Assert.assertEquals("RPC response exceeds maximum data length",
ioe.getMessage());
Assert.assertTrue(ioe.getMessage().contains(
"exceeds maximum data length"));
return;
}
Assert.fail("didn't get limit exceeded");