This is an automated email from the ASF dual-hosted git repository.
arjun4084346 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/gobblin.git
The following commit(s) were added to refs/heads/master by this push:
new 8eeb74391 close ITestMetastoreDatabase in all tests (#3946)
8eeb74391 is described below
commit 8eeb7439123e9d3a1ad79369b251e065c7d3b819
Author: Arjun Singh Bora <[email protected]>
AuthorDate: Wed May 8 09:26:42 2024 -0700
close ITestMetastoreDatabase in all tests (#3946)
---
.../CleanableMysqlDatasetStoreDatasetTest.java | 8 +++++++
.../runtime/MysqlDatasetStateStoreTest.java | 3 +++
.../gobblin/runtime/cli/JobStateStoreCliTest.java | 14 +++++++++---
.../runtime/job_catalog/TestMysqlJobCatalog.java | 26 ++++++++++++++++------
.../runtime/spec_store/MysqlBaseSpecStoreTest.java | 26 ++++++++++++++++------
.../runtime/spec_store/MysqlSpecStoreTest.java | 11 ++++++++-
.../spec_store/MysqlSpecStoreWithUpdateTest.java | 11 ++++++++-
.../service/modules/core/GobblinServiceHATest.java | 8 +++++--
.../modules/core/GobblinServiceRedirectTest.java | 6 ++++-
.../modules/orchestration/DagManagerFlowTest.java | 10 ++++++---
.../MostlyMySqlDagManagementStateStoreTest.java | 12 +++++++++-
.../orchestration/MysqlDagStateStoreTest.java | 16 ++++++++-----
.../modules/orchestration/OrchestratorTest.java | 10 +++++++--
.../orchestration/proc/KillDagProcTest.java | 13 ++++++++++-
.../orchestration/proc/LaunchDagProcTest.java | 2 +-
15 files changed, 140 insertions(+), 36 deletions(-)
diff --git
a/gobblin-data-management/src/test/java/org/apache/gobblin/data/management/retention/CleanableMysqlDatasetStoreDatasetTest.java
b/gobblin-data-management/src/test/java/org/apache/gobblin/data/management/retention/CleanableMysqlDatasetStoreDatasetTest.java
index c0d0719cb..4a693a16c 100644
---
a/gobblin-data-management/src/test/java/org/apache/gobblin/data/management/retention/CleanableMysqlDatasetStoreDatasetTest.java
+++
b/gobblin-data-management/src/test/java/org/apache/gobblin/data/management/retention/CleanableMysqlDatasetStoreDatasetTest.java
@@ -23,6 +23,7 @@ import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.testng.Assert;
+import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -108,6 +109,13 @@ public class CleanableMysqlDatasetStoreDatasetTest {
this.dbDatasetStateStore.delete(TEST_JOB_NAME2);
}
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ if (testMetastoreDatabase != null) {
+ testMetastoreDatabase.close();
+ }
+ }
+
/**
* Test cleanup of the job state store
* @throws IOException
diff --git
a/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/MysqlDatasetStateStoreTest.java
b/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/MysqlDatasetStateStoreTest.java
index 14c5a9166..ce5532fe3 100644
---
a/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/MysqlDatasetStateStoreTest.java
+++
b/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/MysqlDatasetStateStoreTest.java
@@ -332,5 +332,8 @@ public class MysqlDatasetStateStoreTest {
public void tearDown() throws IOException {
dbJobStateStore.delete(TEST_JOB_NAME);
dbDatasetStateStore.delete(TEST_JOB_NAME);
+ if (testMetastoreDatabase != null) {
+ testMetastoreDatabase.close();
+ }
}
}
diff --git
a/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/cli/JobStateStoreCliTest.java
b/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/cli/JobStateStoreCliTest.java
index 6b5213284..da7c3248c 100644
---
a/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/cli/JobStateStoreCliTest.java
+++
b/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/cli/JobStateStoreCliTest.java
@@ -21,6 +21,11 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
import com.zaxxer.hikari.HikariDataSource;
import org.apache.gobblin.config.ConfigBuilder;
@@ -36,9 +41,6 @@ import org.apache.gobblin.runtime.MysqlDatasetStateStore;
import org.apache.gobblin.runtime.TaskState;
import org.apache.gobblin.util.ClassAliasResolver;
import org.apache.gobblin.util.ConfigUtils;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
@Test(groups = { "gobblin.runtime" })
@@ -174,4 +176,10 @@ public class JobStateStoreCliTest {
Assert.assertNull(jobState);
}
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ if (this.testMetastoreDatabase != null) {
+ this.testMetastoreDatabase.close();
+ }
+ }
}
diff --git
a/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/job_catalog/TestMysqlJobCatalog.java
b/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/job_catalog/TestMysqlJobCatalog.java
index 72a914fe1..a5b9f10e7 100644
---
a/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/job_catalog/TestMysqlJobCatalog.java
+++
b/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/job_catalog/TestMysqlJobCatalog.java
@@ -17,10 +17,18 @@
package org.apache.gobblin.runtime.job_catalog;
-import com.google.common.base.Predicates;
-import com.typesafe.config.Config;
import java.net.URI;
import java.util.concurrent.TimeUnit;
+
+import org.mockito.Mockito;
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import com.google.common.base.Predicates;
+import com.typesafe.config.Config;
+
import org.apache.gobblin.config.ConfigBuilder;
import org.apache.gobblin.configuration.ConfigurationKeys;
import org.apache.gobblin.instrumented.GobblinMetricsKeys;
@@ -30,10 +38,6 @@ import org.apache.gobblin.metrics.test.MetricsAssert;
import org.apache.gobblin.runtime.api.JobCatalog;
import org.apache.gobblin.runtime.api.JobCatalogListener;
import org.apache.gobblin.runtime.api.JobSpec;
-import org.mockito.Mockito;
-import org.testng.Assert;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
/** Verify {@link MysqlJobCatalog} [modeled on {@link TestInMemoryJobCatalog}]
*/
@@ -43,11 +47,12 @@ public class TestMysqlJobCatalog {
private static final String TABLE = "job_catalog";
private MysqlJobCatalog cat;
+ private static ITestMetastoreDatabase testDb;
/** create a new DB/`JobCatalog` for each test, so they're completely
independent */
@BeforeMethod
public void setUp() throws Exception {
- ITestMetastoreDatabase testDb = TestMetastoreDatabaseFactory.get();
+ testDb = TestMetastoreDatabaseFactory.get();
Config config = ConfigBuilder.create()
.addPrimitive(ConfigurationKeys.METRICS_ENABLED_KEY, "true")
@@ -209,4 +214,11 @@ public class TestMysqlJobCatalog {
cat.stopAsync();
cat.awaitTerminated(1, TimeUnit.SECONDS);
}
+
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ if (testDb != null) {
+ testDb.close();
+ }
+ }
}
diff --git
a/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/spec_store/MysqlBaseSpecStoreTest.java
b/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/spec_store/MysqlBaseSpecStoreTest.java
index 1a68be27a..d2f97f8dc 100644
---
a/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/spec_store/MysqlBaseSpecStoreTest.java
+++
b/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/spec_store/MysqlBaseSpecStoreTest.java
@@ -17,26 +17,30 @@
package org.apache.gobblin.runtime.spec_store;
-import com.google.common.collect.Iterators;
-import com.typesafe.config.Config;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
+
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+import com.google.common.collect.Iterators;
+import com.typesafe.config.Config;
+
import org.apache.gobblin.config.ConfigBuilder;
import org.apache.gobblin.configuration.ConfigurationKeys;
import org.apache.gobblin.metastore.testing.ITestMetastoreDatabase;
import org.apache.gobblin.metastore.testing.TestMetastoreDatabaseFactory;
-import org.apache.gobblin.runtime.api.TopologySpec;
import org.apache.gobblin.runtime.api.FlowSpecSearchObject;
import org.apache.gobblin.runtime.api.Spec;
+import org.apache.gobblin.runtime.api.TopologySpec;
import org.apache.gobblin.runtime.spec_executorInstance.MockedSpecExecutor;
import org.apache.gobblin.runtime.spec_serde.JavaSpecSerDe;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
public class MysqlBaseSpecStoreTest {
@@ -48,6 +52,7 @@ public class MysqlBaseSpecStoreTest {
private final URI uri1 = new URI(new
TopologySpec.Builder().getDefaultTopologyCatalogURI().toString() + "1");
private final URI uri2 = new URI(new
TopologySpec.Builder().getDefaultTopologyCatalogURI().toString() + "2");
private TopologySpec topoSpec1, topoSpec2;
+ private static ITestMetastoreDatabase testDb;
public MysqlBaseSpecStoreTest()
throws URISyntaxException { // (based on `uri1` and other
initializations just above)
@@ -55,7 +60,7 @@ public class MysqlBaseSpecStoreTest {
@BeforeClass
public void setUp() throws Exception {
- ITestMetastoreDatabase testDb = TestMetastoreDatabaseFactory.get();
+ testDb = TestMetastoreDatabaseFactory.get();
// prefix keys to demonstrate disambiguation mechanism used to side-step
intentially-sabatoged non-prefixed, 'fallback'
Config config = ConfigBuilder.create()
@@ -86,6 +91,13 @@ public class MysqlBaseSpecStoreTest {
.build();
}
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ if (testDb != null) {
+ testDb.close();
+ }
+ }
+
@Test(expectedExceptions = UnsupportedOperationException.class)
public void testSpecSearchUnsupported() throws Exception {
FlowSpecSearchObject flowSpecSearchObject =
FlowSpecSearchObject.builder().build();
diff --git
a/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/spec_store/MysqlSpecStoreTest.java
b/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/spec_store/MysqlSpecStoreTest.java
index 73b2e052a..8927f0ec5 100644
---
a/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/spec_store/MysqlSpecStoreTest.java
+++
b/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/spec_store/MysqlSpecStoreTest.java
@@ -30,6 +30,7 @@ import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
import org.testng.Assert;
+import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -64,6 +65,7 @@ public class MysqlSpecStoreTest {
private final URI uri3 = FlowSpec.Utils.createFlowSpecUri(new
FlowId().setFlowName("fg3").setFlowGroup("fn3"));
private final URI uri4 = FlowSpec.Utils.createFlowSpecUri(new
FlowId().setFlowName("fg4").setFlowGroup("fn4"));
private FlowSpec flowSpec1, flowSpec2, flowSpec3, flowSpec4;
+ private static ITestMetastoreDatabase testDb;
public MysqlSpecStoreTest()
throws URISyntaxException { // (based on `uri1` and other
initializations just above)
@@ -71,7 +73,7 @@ public class MysqlSpecStoreTest {
@BeforeClass
public void setUp() throws Exception {
- ITestMetastoreDatabase testDb = TestMetastoreDatabaseFactory.get();
+ testDb = TestMetastoreDatabaseFactory.get();
Config config = ConfigBuilder.create()
.addPrimitive(ConfigurationKeys.STATE_STORE_DB_URL_KEY,
testDb.getJdbcUrl())
@@ -130,6 +132,13 @@ public class MysqlSpecStoreTest {
.build();
}
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ if (testDb != null) {
+ testDb.close();
+ }
+ }
+
@Test(expectedExceptions = IOException.class)
public void testSpecSearch() throws Exception {
// empty FlowSpecSearchObject should throw an error
diff --git
a/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/spec_store/MysqlSpecStoreWithUpdateTest.java
b/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/spec_store/MysqlSpecStoreWithUpdateTest.java
index bcd77eaab..bf6e4fe99 100644
---
a/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/spec_store/MysqlSpecStoreWithUpdateTest.java
+++
b/gobblin-runtime/src/test/java/org/apache/gobblin/runtime/spec_store/MysqlSpecStoreWithUpdateTest.java
@@ -30,6 +30,7 @@ import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
import org.testng.Assert;
+import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -64,6 +65,7 @@ public class MysqlSpecStoreWithUpdateTest {
private final URI uri3 = FlowSpec.Utils.createFlowSpecUri(new
FlowId().setFlowName("fg3").setFlowGroup("fn3"));
private final URI uri4 = FlowSpec.Utils.createFlowSpecUri(new
FlowId().setFlowName("fg4").setFlowGroup("fn4"));
private FlowSpec flowSpec1, flowSpec2, flowSpec3, flowSpec4,
flowSpec4_update;
+ private static ITestMetastoreDatabase testDb;
public MysqlSpecStoreWithUpdateTest()
throws URISyntaxException { // (based on `uri1` and other
initializations just above)
@@ -71,7 +73,7 @@ public class MysqlSpecStoreWithUpdateTest {
@BeforeClass
public void setUp() throws Exception {
- ITestMetastoreDatabase testDb = TestMetastoreDatabaseFactory.get();
+ testDb = TestMetastoreDatabaseFactory.get();
Config config = ConfigBuilder.create()
.addPrimitive(ConfigurationKeys.STATE_STORE_DB_URL_KEY,
testDb.getJdbcUrl())
@@ -140,6 +142,13 @@ public class MysqlSpecStoreWithUpdateTest {
.build();
}
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ if (testDb != null) {
+ testDb.close();
+ }
+ }
+
@Test(expectedExceptions = IOException.class)
public void testSpecSearch() throws Exception {
// empty FlowSpecSearchObject should throw an error
diff --git
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/core/GobblinServiceHATest.java
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/core/GobblinServiceHATest.java
index 3a61a7301..a231a9eec 100644
---
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/core/GobblinServiceHATest.java
+++
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/core/GobblinServiceHATest.java
@@ -102,6 +102,7 @@ public class GobblinServiceHATest {
private TestingServer testingZKServer;
private MySQLContainer mysql;
+ private static ITestMetastoreDatabase testMetastoreDatabase;
@BeforeClass
public void setup() throws Exception {
@@ -122,7 +123,7 @@ public class GobblinServiceHATest {
HelixUtils.createGobblinHelixCluster(testingZKServer.getConnectString(),
TEST_HELIX_CLUSTER_NAME);
- ITestMetastoreDatabase testMetastoreDatabase =
TestMetastoreDatabaseFactory.get();
+ testMetastoreDatabase = TestMetastoreDatabaseFactory.get();
Properties commonServiceCoreProperties = new Properties();
@@ -199,8 +200,11 @@ public class GobblinServiceHATest {
}
}
- @AfterClass
+ @AfterClass(alwaysRun = true)
public void cleanUp() throws Exception {
+ if (testMetastoreDatabase != null) {
+ testMetastoreDatabase.close();
+ }
// Shutdown Node 1
try {
logger.info("+++++++++++++++++++ start shutdown noad1");
diff --git
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/core/GobblinServiceRedirectTest.java
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/core/GobblinServiceRedirectTest.java
index 7d2648a28..280b05465 100644
---
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/core/GobblinServiceRedirectTest.java
+++
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/core/GobblinServiceRedirectTest.java
@@ -109,6 +109,7 @@ public class GobblinServiceRedirectTest {
private Properties node2ServiceCoreProperties;
private MySQLContainer mysql;
+ private static ITestMetastoreDatabase testMetastoreDatabase;
@BeforeClass
public void setup() throws Exception {
@@ -123,7 +124,7 @@ public class GobblinServiceRedirectTest {
logger.info("Testing ZK Server listening on: " +
testingZKServer.getConnectString());
HelixUtils.createGobblinHelixCluster(testingZKServer.getConnectString(),
TEST_HELIX_CLUSTER_NAME);
- ITestMetastoreDatabase testMetastoreDatabase =
TestMetastoreDatabaseFactory.get();
+ testMetastoreDatabase = TestMetastoreDatabaseFactory.get();
Properties commonServiceCoreProperties = new Properties();
@@ -223,6 +224,9 @@ public class GobblinServiceRedirectTest {
}
mysql.stop();
+ if (testMetastoreDatabase != null) {
+ testMetastoreDatabase.close();
+ }
}
@Test
diff --git
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/DagManagerFlowTest.java
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/DagManagerFlowTest.java
index 0afdbe9e8..4f4fa98e7 100644
---
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/DagManagerFlowTest.java
+++
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/DagManagerFlowTest.java
@@ -26,8 +26,6 @@ import java.util.Properties;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
-import org.apache.gobblin.runtime.spec_catalog.FlowCatalog;
-import org.apache.gobblin.service.monitoring.FlowStatusGenerator;
import org.mockito.Mockito;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
@@ -47,10 +45,12 @@ import
org.apache.gobblin.metastore.testing.ITestMetastoreDatabase;
import org.apache.gobblin.metastore.testing.TestMetastoreDatabaseFactory;
import org.apache.gobblin.runtime.api.FlowSpec;
import org.apache.gobblin.runtime.api.TopologySpec;
+import org.apache.gobblin.runtime.spec_catalog.FlowCatalog;
import org.apache.gobblin.service.ExecutionStatus;
import org.apache.gobblin.service.FlowId;
import org.apache.gobblin.service.modules.flowgraph.Dag;
import org.apache.gobblin.service.modules.spec.JobExecutionPlan;
+import org.apache.gobblin.service.monitoring.FlowStatusGenerator;
import org.apache.gobblin.service.monitoring.JobStatusRetriever;
import org.apache.gobblin.testing.AssertWithBackoff;
import org.apache.gobblin.util.ConfigUtils;
@@ -74,12 +74,13 @@ public class DagManagerFlowTest {
private static final String flowExecutionId = "12345677";
private static final String flowExecutionId_2 = "12345678";
private DagActionStore dagActionStore;
+ private static ITestMetastoreDatabase testDb;
@BeforeClass
public void setUp() throws Exception {
Properties props = new Properties();
props.put(DagManager.JOB_STATUS_POLLING_INTERVAL_KEY, 1);
- ITestMetastoreDatabase testDb = TestMetastoreDatabaseFactory.get();
+ testDb = TestMetastoreDatabaseFactory.get();
Config config = ConfigBuilder.create()
.addPrimitive("MysqlDagActionStore." +
ConfigurationKeys.STATE_STORE_DB_URL_KEY, testDb.getJdbcUrl())
@@ -102,6 +103,9 @@ public class DagManagerFlowTest {
public void cleanUp() throws Exception {
dagManager.setActive(false);
Assert.assertEquals(dagManager.getHouseKeepingThreadPool().isShutdown(),
true);
+ if (testDb != null) {
+ testDb.close();
+ }
}
@Test
diff --git
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/MostlyMySqlDagManagementStateStoreTest.java
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/MostlyMySqlDagManagementStateStoreTest.java
index 649a6e80a..f828a576d 100644
---
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/MostlyMySqlDagManagementStateStoreTest.java
+++
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/MostlyMySqlDagManagementStateStoreTest.java
@@ -23,6 +23,7 @@ import java.util.List;
import java.util.Map;
import org.testng.Assert;
+import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -61,11 +62,20 @@ public class MostlyMySqlDagManagementStateStoreTest {
private static final String TEST_PASSWORD = "testPassword";
private static final String TEST_DAG_STATE_STORE = "TestDagStateStore";
private static final String TEST_TABLE = "quotas";
+ private static ITestMetastoreDatabase testDb;
@BeforeClass
public void setUp() throws Exception {
// Setting up mock DB
- this.dagManagementStateStore =
getDummyDMSS(TestMetastoreDatabaseFactory.get());
+ testDb = TestMetastoreDatabaseFactory.get();
+ this.dagManagementStateStore = getDummyDMSS(testDb);
+ }
+
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ if (testDb != null) {
+ testDb.close();
+ }
}
@Test
diff --git
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/MysqlDagStateStoreTest.java
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/MysqlDagStateStoreTest.java
index 97d2ae698..f4ea414d0 100644
---
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/MysqlDagStateStoreTest.java
+++
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/MysqlDagStateStoreTest.java
@@ -24,6 +24,7 @@ import java.util.Map;
import java.util.Set;
import org.testng.Assert;
+import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -54,23 +55,27 @@ public class MysqlDagStateStoreTest {
private static final String TEST_USER = "testUser";
private static final String TEST_PASSWORD = "testPassword";
private static final String TEST_DAG_STATE_STORE = "TestDagStateStore";
+ private static ITestMetastoreDatabase testDb;
@BeforeClass
public void setUp() throws Exception {
-
-
+ testDb = TestMetastoreDatabaseFactory.get();
ConfigBuilder configBuilder = ConfigBuilder.create();
-
// Constructing TopologySpecMap.
this.topologySpecMap = new HashMap<>();
String specExecInstance = "mySpecExecutor";
TopologySpec topologySpec =
DagTestUtils.buildNaiveTopologySpec(specExecInstance);
URI specExecURI = new URI(specExecInstance);
this.topologySpecMap.put(specExecURI, topologySpec);
-
this._dagStateStore = new TestMysqlDagStateStore(configBuilder.build(),
this.topologySpecMap);
}
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ if (testDb != null) {
+ testDb.close();
+ }
+ }
@Test
public void testWriteCheckpointAndGet() throws Exception{
@@ -164,8 +169,7 @@ public class MysqlDagStateStoreTest {
protected StateStore<State> createStateStore(Config config) {
try {
// Setting up mock DB
- ITestMetastoreDatabase testMetastoreDatabase =
TestMetastoreDatabaseFactory.get();
- String jdbcUrl = testMetastoreDatabase.getJdbcUrl();
+ String jdbcUrl = MysqlDagStateStoreTest.testDb.getJdbcUrl();
HikariDataSource dataSource = new HikariDataSource();
dataSource.setDriverClassName(ConfigurationKeys.DEFAULT_STATE_STORE_DB_JDBC_DRIVER);
diff --git
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/OrchestratorTest.java
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/OrchestratorTest.java
index a98fc8cb7..87ce00368 100644
---
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/OrchestratorTest.java
+++
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/OrchestratorTest.java
@@ -41,6 +41,7 @@ import com.typesafe.config.Config;
import org.apache.gobblin.config.ConfigBuilder;
import org.apache.gobblin.configuration.ConfigurationKeys;
+import org.apache.gobblin.metastore.testing.ITestMetastoreDatabase;
import org.apache.gobblin.metastore.testing.TestMetastoreDatabaseFactory;
import org.apache.gobblin.metrics.MetricContext;
import org.apache.gobblin.metrics.ServiceMetricNames;
@@ -85,9 +86,10 @@ public class OrchestratorTest {
private static final String TEST_USER = "testUser";
private static final String TEST_PASSWORD = "testPassword";
private static final String TEST_TABLE = "quotas";
-
+ private static ITestMetastoreDatabase testDb;
@BeforeClass
public void setup() throws Exception {
+ testDb = TestMetastoreDatabaseFactory.get();
cleanUpDir(TOPOLOGY_SPEC_STORE_DIR);
cleanUpDir(FLOW_SPEC_STORE_DIR);
@@ -117,7 +119,7 @@ public class OrchestratorTest {
Config config = ConfigBuilder.create()
.addPrimitive(MostlyMySqlDagManagementStateStore.DAG_STATESTORE_CLASS_KEY,
MostlyMySqlDagManagementStateStoreTest.TestMysqlDagStateStore.class.getName())
-
.addPrimitive(MysqlUserQuotaManager.qualify(ConfigurationKeys.STATE_STORE_DB_URL_KEY),
TestMetastoreDatabaseFactory.get().getJdbcUrl())
+
.addPrimitive(MysqlUserQuotaManager.qualify(ConfigurationKeys.STATE_STORE_DB_URL_KEY),
testDb.getJdbcUrl())
.addPrimitive(MysqlUserQuotaManager.qualify(ConfigurationKeys.STATE_STORE_DB_USER_KEY),
TEST_USER)
.addPrimitive(MysqlUserQuotaManager.qualify(ConfigurationKeys.STATE_STORE_DB_PASSWORD_KEY),
TEST_PASSWORD)
.addPrimitive(MysqlUserQuotaManager.qualify(ConfigurationKeys.STATE_STORE_DB_TABLE_KEY),
TEST_TABLE).build();
@@ -228,6 +230,10 @@ public class OrchestratorTest {
if (specStoreDir.exists()) {
FileUtils.deleteDirectory(specStoreDir);
}
+
+ if (testDb != null) {
+ testDb.close();
+ }
}
@Test
diff --git
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/proc/KillDagProcTest.java
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/proc/KillDagProcTest.java
index be7019ba3..cc39a58c5 100644
---
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/proc/KillDagProcTest.java
+++
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/proc/KillDagProcTest.java
@@ -27,6 +27,7 @@ import java.util.stream.Collectors;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.mockito.Mockito;
import org.testng.Assert;
+import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -34,6 +35,7 @@ import com.typesafe.config.ConfigFactory;
import com.typesafe.config.ConfigValueFactory;
import org.apache.gobblin.configuration.ConfigurationKeys;
+import org.apache.gobblin.metastore.testing.ITestMetastoreDatabase;
import org.apache.gobblin.metastore.testing.TestMetastoreDatabaseFactory;
import org.apache.gobblin.runtime.api.FlowSpec;
import org.apache.gobblin.runtime.api.Spec;
@@ -62,15 +64,24 @@ import static org.mockito.Mockito.spy;
public class KillDagProcTest {
private MostlyMySqlDagManagementStateStore dagManagementStateStore;
+ private static ITestMetastoreDatabase testDb;
@BeforeClass
public void setUp() throws Exception {
- this.dagManagementStateStore =
spy(MostlyMySqlDagManagementStateStoreTest.getDummyDMSS(TestMetastoreDatabaseFactory.get()));
+ testDb = TestMetastoreDatabaseFactory.get();
+ this.dagManagementStateStore =
spy(MostlyMySqlDagManagementStateStoreTest.getDummyDMSS(testDb));
doReturn(FlowSpec.builder().build()).when(this.dagManagementStateStore).getFlowSpec(any());
doNothing().when(this.dagManagementStateStore).tryAcquireQuota(any());
doNothing().when(this.dagManagementStateStore).addDagNodeState(any(),
any());
}
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ if (testDb != null) {
+ testDb.close();
+ }
+ }
+
@Test
public void killDag() throws IOException, URISyntaxException,
InterruptedException {
long flowExecutionId = System.currentTimeMillis();
diff --git
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/proc/LaunchDagProcTest.java
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/proc/LaunchDagProcTest.java
index 9c75c0808..dbe6d1f58 100644
---
a/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/proc/LaunchDagProcTest.java
+++
b/gobblin-service/src/test/java/org/apache/gobblin/service/modules/orchestration/proc/LaunchDagProcTest.java
@@ -68,7 +68,7 @@ public class LaunchDagProcTest {
@BeforeClass
public void setUp() throws Exception {
this.testMetastoreDatabase = TestMetastoreDatabaseFactory.get();
- this.dagManagementStateStore =
spy(MostlyMySqlDagManagementStateStoreTest.getDummyDMSS(TestMetastoreDatabaseFactory.get()));
+ this.dagManagementStateStore =
spy(MostlyMySqlDagManagementStateStoreTest.getDummyDMSS(this.testMetastoreDatabase));
doReturn(FlowSpec.builder().build()).when(this.dagManagementStateStore).getFlowSpec(any());
doNothing().when(this.dagManagementStateStore).tryAcquireQuota(any());
doNothing().when(this.dagManagementStateStore).addDagNodeState(any(),
any());