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

Plamen Jeliazkov commented on HDFS-13399:
-----------------------------------------

Thanks for taking a look [~shv]!

# Removed unused import in {{NameNodeHAProxyFactory}}.
# Removed {{setAlignmentContext()}} from {{HAProxyFactory}} interface. Now only 
in {{ClientHAProxyFactory}}.
# Created new method called 
{{NameNodeProxiesClient.createNonHAProxyWithAlignmentContext(..., 
alignmentContext)}}. I also added a conditional to only call this method if 
alignmentContext is not null in {{ClientHAProxyFactory.createProxy}}. This way 
there is a clear branch and use of legacy construction of the ProxyFactory 
otherwise.

I would like to direct attention to {{Server.RpcCall}} changes; specifically 
around the new fields {{bufferedRv}} and {{bufferedHeader}}.
In order to make AlignmentContext work while utilizing the FsEditLogAsync 
implementation I needed to re-do the RPC response byte buffer construction with 
a (later) modified ResponseHeader.
I encourage you to look at the {{setupResponse(RpcCall call, 
RpcResponseHeaderProto header, Writable rv)}} and 
{{Server.RpcCall.doResponse(Throwable t)}} methods to understand what I am 
concerned about.
It would be nice to not bloat the RpcCall objects any further as NameNode is 
dealing with many RPC connections all the time and this would add 2 fields 
worth of heap to all {{RpcCalls}}.

> Make Client field AlignmentContext non-static.
> ----------------------------------------------
>
>                 Key: HDFS-13399
>                 URL: https://issues.apache.org/jira/browse/HDFS-13399
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>    Affects Versions: HDFS-12943
>            Reporter: Plamen Jeliazkov
>            Assignee: Plamen Jeliazkov
>            Priority: Major
>         Attachments: HDFS-13399-HDFS-12943.000.patch, 
> HDFS-13399-HDFS-12943.001.patch, HDFS-13399-HDFS-12943.002.patch, 
> HDFS-13399-HDFS-12943.003.patch, HDFS-13399-HDFS-12943.004.patch, 
> HDFS-13399-HDFS-12943.005.patch, HDFS-13399-HDFS-12943.006.patch, 
> HDFS-13399-HDFS-12943.007.patch, HDFS-13399-HDFS-12943.008.patch
>
>
> In HDFS-12977, DFSClient's constructor was altered to make use of a new 
> static method in Client that allowed one to set an AlignmentContext. This 
> work is to remove that static field and make each DFSClient pass it's 
> AlignmentContext down to the proxy Call level.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to