diff --git a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/ReconTestInjector.java b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/ReconTestInjector.java index e93e4d71f52c..b37c16019298 100644 --- a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/ReconTestInjector.java +++ b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/ReconTestInjector.java @@ -233,6 +233,31 @@ public OzoneConfiguration getTestOzoneConfiguration( return configuration; } + /** + * Closes all resources created by this injector. + * This should be called in test tearDown methods to ensure proper cleanup. + * + * @throws Exception if any resource fails to close + */ + public void close() throws Exception { + // Close ReconDBProvider if it was created + if (withContainerDB && injector != null) { + try { + ReconDBProvider reconDBProvider = + injector.getInstance(ReconDBProvider.class); + if (reconDBProvider != null) { + reconDBProvider.close(); + } + } catch (Exception e) { + } + } + + // Close OzoneStorageContainerManager if it was created + if (reconScm != null) { + reconScm.stop(); + } + } + /** * Builder for Recon Test Injector. */ diff --git a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestOmDBInsightEndPoint.java b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestOmDBInsightEndPoint.java index c83501bb7a0d..c7a7645b9998 100644 --- a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestOmDBInsightEndPoint.java +++ b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestOmDBInsightEndPoint.java @@ -109,6 +109,7 @@ public class TestOmDBInsightEndPoint extends AbstractReconSqlDBTest { private ReconOMMetadataManager reconOMMetadataManager; private ReconNamespaceSummaryManager reconNamespaceSummaryManager; private OMDBInsightEndpoint omdbInsightEndpoint; + private ReconTestInjector reconTestInjector; private Pipeline pipeline; private Random random = new Random(); private OzoneConfiguration ozoneConfiguration; @@ -297,7 +298,7 @@ public void setUp() throws Exception { reconOMMetadataManager = getTestReconOmMetadataManager(omMetadataManager, Files.createDirectory(temporaryFolder.resolve( "JunitOmMetadataTest")).toFile()); - ReconTestInjector reconTestInjector = + reconTestInjector = new ReconTestInjector.Builder(temporaryFolder.toFile()) .withReconSqlDb() .withReconOm(reconOMMetadataManager) @@ -350,6 +351,9 @@ public void tearDown() throws Exception { if (reconOMMetadataManager != null) { reconOMMetadataManager.stop(); } + if (reconTestInjector != null) { + reconTestInjector.close(); + } } @SuppressWarnings("methodlength")