diff --git a/storage/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteLogManager.java b/storage/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteLogManager.java index 47b5417e25a..a9b2c67ba79 100644 --- a/storage/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteLogManager.java +++ b/storage/src/main/java/org/apache/kafka/server/log/remote/storage/RemoteLogManager.java @@ -2038,9 +2038,6 @@ public class RemoteLogManager implements Closeable, AsyncOffsetReader { leaderCopyRLMTasks.values().forEach(RLMTaskWithFuture::cancel); leaderExpirationRLMTasks.values().forEach(RLMTaskWithFuture::cancel); followerRLMTasks.values().forEach(RLMTaskWithFuture::cancel); - Utils.closeQuietly(remoteStorageManagerPlugin, "remoteStorageManagerPlugin"); - Utils.closeQuietly(remoteLogMetadataManagerPlugin, "remoteLogMetadataManagerPlugin"); - Utils.closeQuietly(indexCache, "RemoteIndexCache"); rlmCopyThreadPool.close(); rlmExpirationThreadPool.close(); @@ -2050,10 +2047,13 @@ public class RemoteLogManager implements Closeable, AsyncOffsetReader { } finally { removeMetrics(); } - leaderCopyRLMTasks.clear(); leaderExpirationRLMTasks.clear(); followerRLMTasks.clear(); + + Utils.closeQuietly(indexCache, "RemoteIndexCache"); + Utils.closeQuietly(remoteLogMetadataManagerPlugin, "remoteLogMetadataManagerPlugin"); + Utils.closeQuietly(remoteStorageManagerPlugin, "remoteStorageManagerPlugin"); closed = true; } } diff --git a/storage/src/test/java/org/apache/kafka/server/log/remote/storage/RemoteLogManagerTest.java b/storage/src/test/java/org/apache/kafka/server/log/remote/storage/RemoteLogManagerTest.java index 5201511e75d..b45b1118f5c 100644 --- a/storage/src/test/java/org/apache/kafka/server/log/remote/storage/RemoteLogManagerTest.java +++ b/storage/src/test/java/org/apache/kafka/server/log/remote/storage/RemoteLogManagerTest.java @@ -1769,9 +1769,9 @@ public class RemoteLogManagerTest { void testIdempotentClose() throws IOException { remoteLogManager.close(); remoteLogManager.close(); - InOrder inorder = inOrder(remoteStorageManager, remoteLogMetadataManager); - inorder.verify(remoteStorageManager, times(1)).close(); + InOrder inorder = inOrder(remoteLogMetadataManager, remoteStorageManager); inorder.verify(remoteLogMetadataManager, times(1)).close(); + inorder.verify(remoteStorageManager, times(1)).close(); } @Test