You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ae...@apache.org on 2017/09/26 23:20:44 UTC
[11/33] hadoop git commit: HDFS-12339. NFS Gateway on Shutdown Gives
Unregistration Failure. Does Not Unregister with rpcbind Portmapper.
Contributed by Mukul Kumar Singh.
HDFS-12339. NFS Gateway on Shutdown Gives Unregistration Failure. Does Not Unregister with rpcbind Portmapper. Contributed by Mukul Kumar Singh.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/ecc85620
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/ecc85620
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/ecc85620
Branch: refs/heads/HDFS-7240
Commit: ecc85620e83dc051502c3b85df11d2f50b0cd616
Parents: 40ef9fa
Author: Anu Engineer <ae...@apache.org>
Authored: Sat Sep 23 12:27:34 2017 -0700
Committer: Anu Engineer <ae...@apache.org>
Committed: Sat Sep 23 12:27:34 2017 -0700
----------------------------------------------------------------------
.../main/java/org/apache/hadoop/mount/MountdBase.java | 14 ++++++++++++--
.../java/org/apache/hadoop/nfs/nfs3/Nfs3Base.java | 10 ++++++++--
.../java/org/apache/hadoop/hdfs/nfs/nfs3/Nfs3.java | 10 ++++++++--
.../hdfs/nfs/nfs3/PrivilegedNfsGatewayStarter.java | 7 +++++--
4 files changed, 33 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/ecc85620/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/mount/MountdBase.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/mount/MountdBase.java b/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/mount/MountdBase.java
index 8c13b4f..0ff3084 100644
--- a/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/mount/MountdBase.java
+++ b/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/mount/MountdBase.java
@@ -109,6 +109,17 @@ abstract public class MountdBase {
}
}
+ public void stop() {
+ if (udpBoundPort > 0) {
+ rpcProgram.unregister(PortmapMapping.TRANSPORT_UDP, udpBoundPort);
+ udpBoundPort = 0;
+ }
+ if (tcpBoundPort > 0) {
+ rpcProgram.unregister(PortmapMapping.TRANSPORT_TCP, tcpBoundPort);
+ tcpBoundPort = 0;
+ }
+ }
+
/**
* Priority of the mountd shutdown hook.
*/
@@ -117,8 +128,7 @@ abstract public class MountdBase {
private class Unregister implements Runnable {
@Override
public synchronized void run() {
- rpcProgram.unregister(PortmapMapping.TRANSPORT_UDP, udpBoundPort);
- rpcProgram.unregister(PortmapMapping.TRANSPORT_TCP, tcpBoundPort);
+ stop();
}
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/ecc85620/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Base.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Base.java b/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Base.java
index 00e6d9f..ff83a5f 100644
--- a/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Base.java
+++ b/hadoop-common-project/hadoop-nfs/src/main/java/org/apache/hadoop/nfs/nfs3/Nfs3Base.java
@@ -78,6 +78,13 @@ public abstract class Nfs3Base {
nfsBoundPort = tcpServer.getBoundPort();
}
+ public void stop() {
+ if (nfsBoundPort > 0) {
+ rpcProgram.unregister(PortmapMapping.TRANSPORT_TCP, nfsBoundPort);
+ nfsBoundPort = 0;
+ }
+ rpcProgram.stopDaemons();
+ }
/**
* Priority of the nfsd shutdown hook.
*/
@@ -86,8 +93,7 @@ public abstract class Nfs3Base {
private class NfsShutdownHook implements Runnable {
@Override
public synchronized void run() {
- rpcProgram.unregister(PortmapMapping.TRANSPORT_TCP, nfsBoundPort);
- rpcProgram.stopDaemons();
+ stop();
}
}
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/ecc85620/hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/Nfs3.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/Nfs3.java b/hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/Nfs3.java
index ac9abf8..8494493 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/Nfs3.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/Nfs3.java
@@ -57,7 +57,7 @@ public class Nfs3 extends Nfs3Base {
start(register);
}
- static void startService(String[] args,
+ static Nfs3 startService(String[] args,
DatagramSocket registrationSocket) throws IOException {
StringUtils.startupShutdownMessage(Nfs3.class, args, LOG);
NfsConfiguration conf = new NfsConfiguration();
@@ -67,8 +67,14 @@ public class Nfs3 extends Nfs3Base {
final Nfs3 nfsServer = new Nfs3(conf, registrationSocket,
allowInsecurePorts);
nfsServer.startServiceInternal(true);
+ return nfsServer;
}
-
+
+ public void stop() {
+ super.stop();
+ mountd.stop();
+ }
+
public static void main(String[] args) throws IOException {
startService(args, null);
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/ecc85620/hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/PrivilegedNfsGatewayStarter.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/PrivilegedNfsGatewayStarter.java b/hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/PrivilegedNfsGatewayStarter.java
index 9456caf..e495486 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/PrivilegedNfsGatewayStarter.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-nfs/src/main/java/org/apache/hadoop/hdfs/nfs/nfs3/PrivilegedNfsGatewayStarter.java
@@ -40,6 +40,7 @@ public class PrivilegedNfsGatewayStarter implements Daemon {
static final Log LOG = LogFactory.getLog(PrivilegedNfsGatewayStarter.class);
private String[] args = null;
private DatagramSocket registrationSocket = null;
+ private Nfs3 nfs3Server = null;
@Override
public void init(DaemonContext context) throws Exception {
@@ -68,12 +69,14 @@ public class PrivilegedNfsGatewayStarter implements Daemon {
@Override
public void start() throws Exception {
- Nfs3.startService(args, registrationSocket);
+ nfs3Server = Nfs3.startService(args, registrationSocket);
}
@Override
public void stop() throws Exception {
- // Nothing to do.
+ if (nfs3Server != null) {
+ nfs3Server.stop();
+ }
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org