[ 
https://issues.apache.org/jira/browse/HDFS-5448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13813734#comment-13813734
 ] 

Konstantin Shvachko commented on HDFS-5448:
-------------------------------------------

Ah yes, this is a legacy and pretty confusing part of code, which remained from 
the times when DNs could not generate their own storageIDs. Now that they do, 
see {{DataStorage.createStorageID()}}, this code path is just never triggered, 
because nodeReg.getStorageID() is never empty.
So in practice NameNode never generates storageIDs for DNs.

> 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.addendum.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)

Reply via email to