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

Konstantin Shvachko commented on HDFS-13782:
--------------------------------------------

Some thoughts. Our main goal for ObserverReadProxyProvider (ORPP) is to provide 
fail-over of ANN to SBN, when active fails. The main difference between 
ConfiguredFailoverProxyProvider (CFPP) and IPFailoverProxyProvider (IFPP) is 
that CFPP chooses another NN, and repeats until until fail-over succeeds. While 
IFPP does nothing, because somebody else  fails over the VIP.
ORPP should inherit the fail-over behavior of CFPP or IFPP depending on which 
fail-over method is used. The remaining logic or ORPP working with Obervers 
stays the same in both cases, since we do not allow failing-over directly to an 
Observer. So I propose to add another generic parameter to ORPP, which will 
define the underlying fail-over class and encapsulate a corresponding method.
{code}
public class ObserverReadProxyProvider<T extends ClientProtocol, F extends 
FailoverProxyProvider<T>> {
  private F failoverProxy;
  ...............

  @Override
  public void performFailover(T currentProxy) {
    failoverProxy.performFailover(currentProxy);
  }
}
{code}
Then we can use the respective classes:
{code}
public class ObserverReadProxyProviderWithConfiguredFailover<T extends 
ClientProtocol, ConfiguredFailoverProxyProvider<T>> {}
public class ObserverReadProxyProviderWithIPFailover<T extends ClientProtocol, 
IPFailoverProxyProvider<T>> {}
{code}

> ObserverReadProxyProvider should work with IPFailoverProxyProvider
> ------------------------------------------------------------------
>
>                 Key: HDFS-13782
>                 URL: https://issues.apache.org/jira/browse/HDFS-13782
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: test
>            Reporter: Konstantin Shvachko
>            Priority: Major
>
> Currently {{ObserverReadProxyProvider}} is based on 
> {{ConfiguredFailoverProxyProvider}}. We should also be able perform SBN reads 
> in case of {{IPFailoverProxyProvider}}.



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