HDFS-13664. Refactor ConfiguredFailoverProxyProvider to make inheritance easier. Contributed by Chao Sun.
(cherry picked from commit fba1c42adc
)
This commit is contained in:
parent
b991b38f51
commit
4049fa37af
|
@ -52,11 +52,11 @@ public class ConfiguredFailoverProxyProvider<T> extends
|
|||
protected final Configuration conf;
|
||||
protected final List<AddressRpcProxyPair<T>> proxies =
|
||||
new ArrayList<AddressRpcProxyPair<T>>();
|
||||
private final UserGroupInformation ugi;
|
||||
protected final UserGroupInformation ugi;
|
||||
protected final Class<T> xface;
|
||||
|
||||
private int currentProxyIndex = 0;
|
||||
private final HAProxyFactory<T> factory;
|
||||
protected final HAProxyFactory<T> factory;
|
||||
|
||||
public ConfiguredFailoverProxyProvider(Configuration conf, URI uri,
|
||||
Class<T> xface, HAProxyFactory<T> factory) {
|
||||
|
@ -122,6 +122,10 @@ public class ConfiguredFailoverProxyProvider<T> extends
|
|||
@Override
|
||||
public synchronized ProxyInfo<T> getProxy() {
|
||||
AddressRpcProxyPair<T> current = proxies.get(currentProxyIndex);
|
||||
return getProxy(current);
|
||||
}
|
||||
|
||||
protected ProxyInfo<T> getProxy(AddressRpcProxyPair<T> current) {
|
||||
if (current.namenode == null) {
|
||||
try {
|
||||
current.namenode = factory.createProxy(conf,
|
||||
|
@ -147,7 +151,7 @@ public class ConfiguredFailoverProxyProvider<T> extends
|
|||
* A little pair object to store the address and connected RPC proxy object to
|
||||
* an NN. Note that {@link AddressRpcProxyPair#namenode} may be null.
|
||||
*/
|
||||
private static class AddressRpcProxyPair<T> {
|
||||
protected static class AddressRpcProxyPair<T> {
|
||||
public final InetSocketAddress address;
|
||||
public T namenode;
|
||||
|
||||
|
|
Loading…
Reference in New Issue