[
https://issues.apache.org/jira/browse/HDFS-10552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Anu Engineer updated HDFS-10552:
--------------------------------
Attachment: HDFS-10552-HDFS-1312.003.patch
I haved added new test case that tests this code from
the point of view of CLI. We do have a test already for this
case,
{code}
@Test
public void testQueryPlanWithoutSubmit() throws Exception {
RpcTestHelper rpcTestHelper = new RpcTestHelper().invoke();
DataNode dataNode = rpcTestHelper.getDataNode();
DiskBalancerWorkStatus status = dataNode.queryDiskBalancerPlan();
Assert.assertTrue(status.getResult() == NO_PLAN);
}
{code}
but unfortunately the above test did not catch the protobuf encoding error.
I could have asserted that this string is not null in the same test, but still
would not be a full end-to-end test case. So I have opted to write a test case
from the CLI point of view. It adds approximately 2 seconds to test run, since
we are starting up a new MiniDFSCluster.
> DiskBalancer "-query" results in NPE if no plan for the node
> ------------------------------------------------------------
>
> Key: HDFS-10552
> URL: https://issues.apache.org/jira/browse/HDFS-10552
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: datanode
> Affects Versions: HDFS-1312
> Reporter: Lei (Eddy) Xu
> Assignee: Anu Engineer
> Priority: Critical
> Attachments: HDFS-10552-HDFS-1312.001.patch,
> HDFS-10552-HDFS-1312.002.patch, HDFS-10552-HDFS-1312.003.patch
>
>
> {code}
> 16/06/20 11:50:16 INFO command.Command: Executing "query plan" command.
> java.lang.NullPointerException
> at
> org.apache.hadoop.hdfs.protocol.proto.ClientDatanodeProtocolProtos$QueryPlanStatusResponseProto$Builder.setPlanID(ClientDatanodeProtocolProtos.java:12782)
> at
> org.apache.hadoop.hdfs.protocolPB.ClientDatanodeProtocolServerSideTranslatorPB.queryDiskBalancerPlan(ClientDatanodeProtocolServerSideTranslatorPB.java:340)
> at
> org.apache.hadoop.hdfs.protocol.proto.ClientDatanodeProtocolProtos$ClientDatanodeProtocolService$2.callBlockingMethod(ClientDatanodeProtocolProtos.java:17513)
> at
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:617)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1073)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2086)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2082)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2080)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]