HDFS-2624. ConfiguredFailoverProxyProvider doesn't correctly stop ProtocolTranslators. Contributed by Todd Lipcon.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-1623@1210341 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b3f28dbb3d
commit
c7f5167845
@ -41,3 +41,5 @@ HDFS-2612. Handle refreshNameNodes in federated HA clusters (todd)
|
|||||||
HDFS-2623. Add test case for hot standby capability (todd)
|
HDFS-2623. Add test case for hot standby capability (todd)
|
||||||
|
|
||||||
HDFS-2626. BPOfferService.verifyAndSetNamespaceInfo needs to be synchronized (todd)
|
HDFS-2626. BPOfferService.verifyAndSetNamespaceInfo needs to be synchronized (todd)
|
||||||
|
|
||||||
|
HDFS-2624. ConfiguredFailoverProxyProvider doesn't correctly stop ProtocolTranslators (todd)
|
||||||
|
@ -439,8 +439,9 @@ void closeConnectionToNamenode() {
|
|||||||
// fall through - lets try the stopProxy
|
// fall through - lets try the stopProxy
|
||||||
LOG.warn("Exception closing namenode, stopping the proxy");
|
LOG.warn("Exception closing namenode, stopping the proxy");
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
RPC.stopProxy(namenode);
|
||||||
}
|
}
|
||||||
RPC.stopProxy(namenode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Abort and release resources held. Ignore all errors. */
|
/** Abort and release resources held. Ignore all errors. */
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.hadoop.hdfs.server.namenode.ha;
|
package org.apache.hadoop.hdfs.server.namenode.ha;
|
||||||
|
|
||||||
|
import java.io.Closeable;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -126,7 +127,11 @@ public AddressRpcProxyPair(InetSocketAddress address) {
|
|||||||
public synchronized void close() throws IOException {
|
public synchronized void close() throws IOException {
|
||||||
for (AddressRpcProxyPair proxy : proxies) {
|
for (AddressRpcProxyPair proxy : proxies) {
|
||||||
if (proxy.namenode != null) {
|
if (proxy.namenode != null) {
|
||||||
RPC.stopProxy(proxy.namenode);
|
if (proxy.namenode instanceof Closeable) {
|
||||||
|
((Closeable)proxy.namenode).close();
|
||||||
|
} else {
|
||||||
|
RPC.stopProxy(proxy.namenode);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user