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

Reply via email to