[
https://issues.apache.org/jira/browse/HDFS-5448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arpit Agarwal updated HDFS-5448:
--------------------------------
Attachment: h5448.01.patch
A preliminary patch to get any thoughts on the approach.
This just serializes multiple registrations with a yield between retry
attempts. We can probably avoid the serialization for all registrations after
the first one.
> Synchronize NN registrations across BPServiceActors
> ---------------------------------------------------
>
> 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
> Attachments: h5448.01.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)