diff --git a/core/server/src/main/java/alluxio/worker/SessionCleaner.java b/core/server/src/main/java/alluxio/worker/SessionCleaner.java index 1314ba7e4615..808a89b813db 100644 --- a/core/server/src/main/java/alluxio/worker/SessionCleaner.java +++ b/core/server/src/main/java/alluxio/worker/SessionCleaner.java @@ -28,7 +28,7 @@ public final class SessionCleaner implements Runnable { private static final Logger LOG = LoggerFactory.getLogger(Constants.LOGGER_TYPE); /** The object which supports cleaning up sessions. */ - private final SessionCleanable mSessionCleanable; + private final SessionCleanupCallback mSessionCleanupCallback; /** Milliseconds between each check. */ private final int mCheckIntervalMs; @@ -38,10 +38,10 @@ public final class SessionCleaner implements Runnable { /** * Creates a new instance of {@link SessionCleaner}. * - * @param sessionCleanable the session tracker to periodically clean + * @param sessionCleanupCallback the session clean up callback which will periodically be invoked */ - public SessionCleaner(SessionCleanable sessionCleanable) { - mSessionCleanable = sessionCleanable; + public SessionCleaner(SessionCleanupCallback sessionCleanupCallback) { + mSessionCleanupCallback = sessionCleanupCallback; mCheckIntervalMs = WorkerContext.getConf().getInt(Constants.WORKER_BLOCK_HEARTBEAT_INTERVAL_MS); @@ -66,7 +66,7 @@ public void run() { // Check if any sessions have become zombies, if so clean them up lastCheckMs = System.currentTimeMillis(); - mSessionCleanable.cleanupSessions(); + mSessionCleanupCallback.cleanupSessions(); } } diff --git a/core/server/src/main/java/alluxio/worker/SessionCleanable.java b/core/server/src/main/java/alluxio/worker/SessionCleanupCallback.java similarity index 89% rename from core/server/src/main/java/alluxio/worker/SessionCleanable.java rename to core/server/src/main/java/alluxio/worker/SessionCleanupCallback.java index 7ed935a675e8..74ba7f38d360 100644 --- a/core/server/src/main/java/alluxio/worker/SessionCleanable.java +++ b/core/server/src/main/java/alluxio/worker/SessionCleanupCallback.java @@ -14,9 +14,9 @@ /** * Interface for classes which track sessions and provide a method to clean any expired sessions. */ -public interface SessionCleanable { +public abstract class SessionCleanupCallback { /** * Runs a session inspection and cleans up sessions which have expired. */ - void cleanupSessions(); + public abstract void cleanupSessions(); } diff --git a/core/server/src/main/java/alluxio/worker/block/BlockWorker.java b/core/server/src/main/java/alluxio/worker/block/BlockWorker.java index 5e8df5cdd290..bf781b7f19ec 100644 --- a/core/server/src/main/java/alluxio/worker/block/BlockWorker.java +++ b/core/server/src/main/java/alluxio/worker/block/BlockWorker.java @@ -31,7 +31,7 @@ import alluxio.wire.WorkerNetAddress; import alluxio.worker.AbstractWorker; import alluxio.worker.SessionCleaner; -import alluxio.worker.SessionCleanable; +import alluxio.worker.SessionCleanupCallback; import alluxio.worker.WorkerContext; import alluxio.worker.WorkerIdRegistry; import alluxio.worker.block.io.BlockReader; @@ -594,7 +594,7 @@ public void sessionHeartbeat(long sessionId, List metrics) { * Sets up the session cleaner thread. This logic is isolated for testing the session cleaner. */ private void setupSessionCleaner() { - mSessionCleaner = new SessionCleaner(new SessionCleanable() { + mSessionCleaner = new SessionCleaner(new SessionCleanupCallback() { /** * Cleans up after sessions, to prevent zombie sessions holding local resources. */ diff --git a/core/server/src/main/java/alluxio/worker/file/FileSystemWorker.java b/core/server/src/main/java/alluxio/worker/file/FileSystemWorker.java index fd9efa66ab95..6eb0eb94e248 100644 --- a/core/server/src/main/java/alluxio/worker/file/FileSystemWorker.java +++ b/core/server/src/main/java/alluxio/worker/file/FileSystemWorker.java @@ -25,7 +25,7 @@ import alluxio.util.network.NetworkAddressUtils.ServiceType; import alluxio.worker.AbstractWorker; import alluxio.worker.SessionCleaner; -import alluxio.worker.SessionCleanable; +import alluxio.worker.SessionCleanupCallback; import alluxio.worker.WorkerContext; import alluxio.worker.block.BlockWorker; @@ -88,7 +88,7 @@ public FileSystemWorker(BlockWorker blockWorker) throws IOException { NetworkAddressUtils.getConnectAddress(ServiceType.MASTER_RPC, mConf), mConf); // Setup session cleaner - mSessionCleaner = new SessionCleaner(new SessionCleanable() { + mSessionCleaner = new SessionCleaner(new SessionCleanupCallback() { /** * Cleans up after sessions, to prevent zombie sessions holding ufs resources. */ diff --git a/core/server/src/test/java/alluxio/worker/block/BlockWorkerTest.java b/core/server/src/test/java/alluxio/worker/block/BlockWorkerTest.java index ae2a63cb6435..e490ed1f490a 100644 --- a/core/server/src/test/java/alluxio/worker/block/BlockWorkerTest.java +++ b/core/server/src/test/java/alluxio/worker/block/BlockWorkerTest.java @@ -20,7 +20,7 @@ import alluxio.Sessions; import alluxio.underfs.UnderFileSystem; import alluxio.util.io.PathUtils; -import alluxio.worker.SessionCleanable; +import alluxio.worker.SessionCleanupCallback; import alluxio.worker.SessionCleaner; import alluxio.worker.WorkerContext; import alluxio.worker.WorkerIdRegistry; @@ -154,7 +154,8 @@ public void cleanupSessionsTest() throws Exception { when(mSessions.getTimedOutSessions()).thenReturn(sessions); Whitebox.invokeMethod(mBlockWorker, "setupSessionCleaner"); SessionCleaner cleaner = Whitebox.getInternalState(mBlockWorker, "mSessionCleaner"); - SessionCleanable cleanable = Whitebox.getInternalState(cleaner, "mSessionCleanable"); + SessionCleanupCallback cleanable = + Whitebox.getInternalState(cleaner, "mSessionCleanupCallback"); cleanable.cleanupSessions(); verify(mSessions).removeSession(sessionId); verify(mBlockStore).cleanupSession(sessionId);