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

Xiaoyu Yao commented on HDFS-12745:
-----------------------------------

[~msingh], I take a look at patch v6 and it looks good to me overall. Here are 
some comments:

NIT: 
XceiverClientStandAlone.java -> XceiverClientStandalone.java and the class name 
to be consistent.

Pipeline.java
Line 79: Should we use the OzoneProtos.Pipeline directly to avoid the 
conversion, which also have a builder to construct pipeline object without 
worrying about different constructors?

ContainerProtocolCalls.java
Line 229: agree with [~anu] that we can get the pipeline from a client unless 
it is removed from the XceiverClientSpi interface and implementation. Can you 
elaborate on adding the additional parameter for the pipeline? 

Line 237: should we remove the containerName from protobuf definition for 
pipeline as a pipeline may be shared by multiple containers?

XceiverServerInitializer.java
Line 33: NIT: XceiverServerStandAlone->XceiverServerStandalone

XceiverServerStandAlone.java
Line 45/47/60: same as above

PipelineManager.java

Line 40: suggest to change activePipelines from private to protect so that 
subclass can access it to update/close pipeline.

Also, how do we protect the thread safe of activePipelines among 
get/update/close operations?
 
Line 78: should we allow round-robin of existing pipelines if the newNodes is 
less than the replication factor requested?

Line 82/93: the number of parameters in the format string (1) is less than the 
actual parameters (2), we need a {} after “for container”

> Ozone: XceiverClientManager should cache objects based on pipeline name
> -----------------------------------------------------------------------
>
>                 Key: HDFS-12745
>                 URL: https://issues.apache.org/jira/browse/HDFS-12745
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: ozone
>    Affects Versions: HDFS-7240
>            Reporter: Mukul Kumar Singh
>            Assignee: Mukul Kumar Singh
>             Fix For: HDFS-7240
>
>         Attachments: HDFS-12745-HDFS-7240.001.patch, 
> HDFS-12745-HDFS-7240.002.patch, HDFS-12745-HDFS-7240.003.patch, 
> HDFS-12745-HDFS-7240.004.patch, HDFS-12745-HDFS-7240.005.patch, 
> HDFS-12745-HDFS-7240.006.patch
>
>
> With just the standalone pipeline, a new pipeline was created for each and 
> every container.
> This code can be optimized so that pipelines are craeted less frequently. 
> Caching using pipeline names will help with Ratis clients as well.
> a) Remove Container name from Pipeline object.
> b) XceiverClientManager should cache objects based on pipeline name
> c) XceiverClient and XceiverServer should be renamed to 
> XceiverClientStandAlone & XceiverServerRatis
> d) StandAlone pipeline should have notion of re-using pipeline objects.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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

Reply via email to