Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-15505

Fix NullPointerException when call getAdditionalDatanode method with null extendedBlock parameter

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.0.0, 3.1.0, 3.0.1, 3.0.2, 3.2.0, 3.1.1, 3.0.3, 3.1.2, 3.3.0, 3.2.1, 3.1.3
    • None
    • dfsclient
    • None

    Description

      When client call getAdditionalDatanode method, it will initialize GetAdditionalDatanodeRequestProto and send RPC request to Router/namenode. However, if we call getAdditionalDatanode method with null extendedBlock parameter, it will set GetAdditionalDatanodeRequestProto's blk field with null, which will cause NullPointerException. The code show as follow.

      // code placeholder
      GetAdditionalDatanodeRequestProto req = GetAdditionalDatanodeRequestProto
       .newBuilder()
       .setSrc(src)
       .setFileId(fileId)
       .setBlk(PBHelperClient.convert(blk))
       .addAllExistings(PBHelperClient.convert(existings))
       .addAllExistingStorageUuids(Arrays.asList(existingStorageIDs))
       .addAllExcludes(PBHelperClient.convert(excludes))
       .setNumAdditionalNodes(numAdditionalNodes)
       .setClientName(clientName)
       .build();

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            hangc hang chen
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated: