From 2ed058554c0b6d6da0388497562e254107f13d67 Mon Sep 17 00:00:00 2001 From: tedyu Date: Thu, 25 Jun 2015 17:42:22 -0700 Subject: [PATCH] HBASE-13969 AuthenticationTokenSecretManager is never stopped in RPCServer (Pankaj Kumar) --- .../java/org/apache/hadoop/hbase/ipc/RpcServer.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java index cafd25de8a3..8c4f6d4a72d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java @@ -251,6 +251,7 @@ public class RpcServer implements RpcServerInterface { //of client connections private Listener listener = null; protected Responder responder = null; + protected AuthenticationTokenSecretManager authTokenSecretMgr = null; protected int numConnections = 0; protected HBaseRPCErrorHandler errorHandler = null; @@ -2070,10 +2071,10 @@ public class RpcServer implements RpcServerInterface { @Override public synchronized void start() { if (started) return; - AuthenticationTokenSecretManager mgr = createSecretManager(); - if (mgr != null) { - setSecretManager(mgr); - mgr.start(); + authTokenSecretMgr = createSecretManager(); + if (authTokenSecretMgr != null) { + setSecretManager(authTokenSecretMgr); + authTokenSecretMgr.start(); } this.authManager = new ServiceAuthorizationManager(); HBasePolicyProvider.init(conf, authManager); @@ -2234,6 +2235,10 @@ public class RpcServer implements RpcServerInterface { public synchronized void stop() { LOG.info("Stopping server on " + port); running = false; + if (authTokenSecretMgr != null) { + authTokenSecretMgr.stop(); + authTokenSecretMgr = null; + } listener.interrupt(); listener.doStop(); responder.interrupt();