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

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

Attaching a preliminary patch.
Notable changes:

(1) In order to support {{AlignmentContext}} across HA I had to modify 
{{HAProxyFactory}} interface. Passed the {{AlignmentContext}} across both 
{{createProxy}} methods. This resulted in modifying {{ClientHAProxyFactory}} 
and {{NameNodeHAProxyFactory}}.
(2) {{RpcEngine}} interface changed in order to pass {{AlignmentContext}} 
through it's main {{getProxy}} call. 
(3) Heavy use of method overloading was done to attempt to minimize changes. In 
most cases the "old" methods now just pass {{null}} for their alignmentContext 
parameter.
(4) Finally, {{Call}} was modified to have an overloaded method for 
construction and and {{Client.receiveRpcResponse}} and 
{{Client.sendRpcRequest}} make use of {{Call.alignmentContext}}, preserving the 
mapping of DFSClient to their respective AlignmentContext per call. 
(5) TestStateAlignmentContext was modified to use a new DFSClient that had a 
Mockito spied AlignmentContext passed into it's ClientProtocol proxy.

The patch is pretty sizable but I believe the changes are overall fairly 
trivial.
Looking forward to your review(s).


> 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
>
>
> 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]

Reply via email to