[
https://issues.apache.org/jira/browse/HDFS-13848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16590972#comment-16590972
]
Erik Krogen commented on HDFS-13848:
------------------------------------
Hey [~shv], I think this is a great consolidation of redundant logic. A few
things:
* I think the new {{AbstractNNFailoverProxyProvider}} constructors should be
{{protected}} instead of package-private
* I think getting rid of {{AddressRpcProxyPair}} in favor of something more
standard like {{ProxyInfo}} totally makes sense. But, there are currently many
situations where no {{address}} is supplied, and some cases where an address
doesn't even make sense, such as the wrapper proxy in
{{RequestHedgingProxyProvider}}. Plus, the current constructors look kind of
odd side-by-side... What do you think about making something like
{{NameNodeProxyInfo extends ProxyInfo}} within
{{AbstractNNFailoverProxyProvider}} (which adds the additional address field),
and standardizing usages inside of relevant classes to use this extended
{{ProxyInfo}}? It seems semantically a little cleaner; if I was using a
{{ProxyInfo}} somewhere else now I feel I may get confused by the presence of
this field.
> Refactor NameNode failover proxy providers
> ------------------------------------------
>
> Key: HDFS-13848
> URL: https://issues.apache.org/jira/browse/HDFS-13848
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: ha, hdfs-client
> Affects Versions: 2.7.5
> Reporter: Konstantin Shvachko
> Assignee: Konstantin Shvachko
> Priority: Major
> Attachments: HDFS-13848.002.patch, HDFS-13848.patch
>
>
> Looking at NN failover proxy providers in the context of HDFS-13782 I noticed
> that {{ConfiguredFailoverProxyProvider}} and {{IPFailoverProxyProvider}} have
> a lot of common logic. We can move this common logic into
> {{AbstractNNFailoverProxyProvider}}, which simplifies things a lot.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]