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

Elek, Marton commented on HDFS-13300:
-------------------------------------

Thanks to work on this [~nandakumar131]. I am very happy to see that the 
hdsl/ozone became more independent from datanode/hdfs.

Overall the patch looks good, I have some comments:

1. I am not sure if we need infoPort. As I remember it is used for DatanodeHttp 
server which is not required for hdsl/ozone any more. (We need an addition 
server in hdsl to help the container replication which could be added to the 
descriptor but it can be part of HDFS-11686)

2. You renamed HdslServerPlugin to HdslDatanodeService. I am happy with this 
change but please keep the two plugin names consistent: in this case please 
rename ObjectStoreRestPlugin to ObjectStoreDatanodeService (or 
OzoneDatanodeService). As the two classes are very similar I prefer to use 
similar names (Especially as the names are used in the configuration).

3. I can't see how the race condition between hdsl/object store 
services(=plugins) are handled. As I see the ObjectStoreRestPlugin updates the 
ozoneRestPort in the one DatanodeDetails which is part of the scm--datanode. 
heartbeat. But I think the SCMNodeManager.hadleHeartbeat should contain some 
logic to update the ports from the heartbeat (I think it's used from the 
discovery). I think this is the reason behind the failing REST related unit 
tests (didn't check, just my guess).

4. I am not sure if we need to persist the DatanodeDetails. I think it's enogh 
to persiste the UUID. The ports could be changed (and in containerized 
environment host/ip also could be changed in case of moving a container to a 
different host). But I understand this was not changed by this patch.

I think the whole logic should work even if I modify any of the ports. If I 
understood well, now it is true, as all the ports are updated after reading the 
datanode descriptor from the file.

5. This is a smal one, but some javadoc still use the "Datanode ID" expression 
which could be confusing (StorageContainerDatanodeProtocol, SCMTestMock)

> Ozone:  Remove DatanodeID dependency from HDSL and Ozone
> --------------------------------------------------------
>
>                 Key: HDFS-13300
>                 URL: https://issues.apache.org/jira/browse/HDFS-13300
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: ozone
>            Reporter: Nanda kumar
>            Assignee: Nanda kumar
>            Priority: Major
>         Attachments: HDFS-13300-HDFS-7240.000.patch, 
> HDFS-13300-HDFS-7240.001.patch
>
>
> DatanodeID has been modified to add HDSL/Ozone related information 
> previously. This jira is to remove DatanodeID dependency from HDSL/Ozone to 
> make it truly pluggable without having the need to modify DatanodeID.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to