[
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: [email protected]
For additional commands, e-mail: [email protected]