[ 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