[ https://issues.apache.org/jira/browse/HDFS-5448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13812838#comment-13812838 ]
Eric Sirianni commented on HDFS-5448: ------------------------------------- bq. Eric Sirianni, I believe this is not very different from today where the storageID remains unassigned until after the first handshake. [~arpitagarwal] - true, your change to synchronize the registrations did not create the issue I was seeing - I haven't fully root caused, but that seems to have been caused by the changes to DataNode initialization ordering for namespace federation. I chose to comment on this particular JIRA since my observations about NULL UUIDs were relevant in favoring "option 2". Thanks for making the change! > Datanode should generate its ID on first registration > ----------------------------------------------------- > > Key: HDFS-5448 > URL: https://issues.apache.org/jira/browse/HDFS-5448 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: datanode > Affects Versions: Heterogeneous Storage (HDFS-2832) > Reporter: Arpit Agarwal > Assignee: Arpit Agarwal > Fix For: Heterogeneous Storage (HDFS-2832) > > Attachments: h5448.01.patch, h5448.03.patch, h5448.04.patch > > > Prior to the heterogeneous storage feature, each Datanode had a single > storage ID which was generated by the Namenode on first registration. The > storage ID used fixed Datanode identifiers like IP address and port, so that > in a federated cluster, for example, all NameNodes would generate the same > storage ID. > With Heterogeneous storage, we have replaced the storage ID with a > per-datanode identifier called the Datanode-UUID. The Datanode UUID is also > assigned by a NameNode on first registration. In a federated cluster with > multiple namenodes, there are two ways to ensure a unique Datanode UUID > allocation: > # Synchronize initial registration requests from the BPServiceActors. If a > Datanode UUID is already assigned we don't need to synchronize. > # The datanode assigns itself a UUID on initialization. -- This message was sent by Atlassian JIRA (v6.1#6144)