diff --git a/hadoop-ozone/integration-test-recon/pom.xml b/hadoop-ozone/integration-test-recon/pom.xml index ce2e8222e3c3..47db1fc0c426 100644 --- a/hadoop-ozone/integration-test-recon/pom.xml +++ b/hadoop-ozone/integration-test-recon/pom.xml @@ -188,6 +188,12 @@ ratis-common test + + org.apache.ratis + ratis-server + test-jar + test + org.slf4j slf4j-api diff --git a/hadoop-ozone/integration-test-recon/src/test/java/org/apache/hadoop/ozone/recon/TestNSSummaryMemoryLeak.java b/hadoop-ozone/integration-test-recon/src/test/java/org/apache/hadoop/ozone/recon/TestNSSummaryMemoryLeak.java index 8f4e06f08dd0..50e85f7d8c88 100644 --- a/hadoop-ozone/integration-test-recon/src/test/java/org/apache/hadoop/ozone/recon/TestNSSummaryMemoryLeak.java +++ b/hadoop-ozone/integration-test-recon/src/test/java/org/apache/hadoop/ozone/recon/TestNSSummaryMemoryLeak.java @@ -22,7 +22,7 @@ import static org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_BLOCK_DELETING_SERVICE_INTERVAL; import static org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_FS_ITERATE_BATCH_SIZE; import static org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_DIR_DELETING_SERVICE_INTERVAL; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import java.io.IOException; import java.util.concurrent.TimeUnit; @@ -46,6 +46,7 @@ import org.apache.hadoop.ozone.recon.spi.ReconNamespaceSummaryManager; import org.apache.hadoop.ozone.recon.spi.impl.OzoneManagerServiceProviderImpl; import org.apache.ozone.test.GenericTestUtils; +import org.apache.ratis.RaftTestUtil; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; @@ -312,14 +313,13 @@ public void testMemoryLeakWithLargeStructure() throws Exception { syncDataFromOM(); // Force garbage collection - System.gc(); - Thread.sleep(1000); - + RaftTestUtil.gc(); + // Verify memory cleanup long memoryAfter = runtime.totalMemory() - runtime.freeMemory(); LOG.info("Memory usage - Before: {} bytes, After: {} bytes", memoryBefore, memoryAfter); - assertTrue(memoryBefore >= memoryAfter); - + assertThat(memoryAfter).isLessThanOrEqualTo(memoryBefore); + // Verify NSSummary cleanup ReconNamespaceSummaryManager namespaceSummaryManager = recon.getReconServer().getReconNamespaceSummaryManager(); diff --git a/pom.xml b/pom.xml index d469d337ec22..934042d518e4 100644 --- a/pom.xml +++ b/pom.xml @@ -1309,6 +1309,12 @@ ratis-server ${ratis.version} + + org.apache.ratis + ratis-server + ${ratis.version} + test-jar + org.apache.ratis ratis-server-api