You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "David Powell (JIRA)" <ji...@apache.org> on 2013/12/19 18:50:09 UTC

[jira] [Created] (HDFS-5689) FsDatasetImpl registers mbean using uninitialized DataNode UUID

David Powell created HDFS-5689:
----------------------------------

             Summary: FsDatasetImpl registers mbean using uninitialized DataNode UUID
                 Key: HDFS-5689
                 URL: https://issues.apache.org/jira/browse/HDFS-5689
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: datanode
    Affects Versions: 3.0.0
            Reporter: David Powell
            Priority: Minor


FsDatasetImpl's constructor attempts to include the datanode UUID in its mbean's ObjectName:

  registerMBean(datanode.getDatanodeUuid());

Unfortunately this doesn't work because the provided DataNode's UUID isn't set until bpRegistrationSucceeded() is called... after the FsDatasetImpl has been created.  The result is the mbean is always registered with a bogus (though valid) ObjectName:

  Hadoop:name=FSDatasetState-null,service=DataNode

Prior to HDFS-2832 and the storageID -> datanodeUuid rename, this was initialized using the DataStorage:

  registerMBean(storage.getStorageID());

With the fix for HDFS-5454 in place, doing equivalent thing (already done by SimulatedFSDataset):

  registerMBean(storage.getDatanodeUuid());

...fixes the problem:

  Hadoop:name=FSDatasetState-24aed86a-fee6-4b88-868e-285e09ea2766,service=DataNode




--
This message was sent by Atlassian JIRA
(v6.1.4#6159)