Skip to content

Commit 75fea65

Browse files
committed
add uuid to database path
1 parent 996d67c commit 75fea65

File tree

3 files changed

+40
-23
lines changed

3 files changed

+40
-23
lines changed

presto-clp/src/test/java/com/facebook/presto/plugin/clp/ClpMetadataDbSetUp.java

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import java.sql.Statement;
2929
import java.util.List;
3030
import java.util.Map;
31+
import java.util.UUID;
3132

3233
import static org.testng.Assert.fail;
3334

@@ -36,15 +37,34 @@ public final class ClpMetadataDbSetUp
3637
private static final Logger log = Logger.get(ClpMetadataDbSetUp.class);
3738

3839
public static final String metadataDbUrlTemplate =
39-
"jdbc:h2:file:/tmp/%s;MODE=MySQL;DATABASE_TO_UPPER=FALSE";
40+
"jdbc:h2:file:%s;MODE=MySQL;DATABASE_TO_UPPER=FALSE";
4041
public static final String metadataDbTablePrefix = "clp_";
4142
public static final String metadataDbUser = "sa";
4243
public static final String metadataDbPassword = "";
43-
private final String datasetsTableName = metadataDbTablePrefix + "datasets";
44+
private static final String datasetsTableName = metadataDbTablePrefix + "datasets";
4445

45-
public ClpMetadata setupMetadata(String dbName, Map<String, List<Pair<String, ClpNodeType>>> clpFields)
46+
public static final class DbHandle
4647
{
47-
final String metadataDbUrl = String.format(metadataDbUrlTemplate, dbName);
48+
DbHandle(String dbPath)
49+
{
50+
this.dbPath = dbPath;
51+
}
52+
public String dbPath;
53+
}
54+
55+
private ClpMetadataDbSetUp()
56+
{
57+
throw new UnsupportedOperationException("This is a utility class and cannot be instantiated");
58+
}
59+
60+
public static DbHandle getDbHandle(String dbName)
61+
{
62+
return new DbHandle(String.format("/tmp/presto-clp-test/%s-%s", dbName, UUID.randomUUID()));
63+
}
64+
65+
public static ClpMetadata setupMetadata(DbHandle dbHandle, Map<String, List<Pair<String, ClpNodeType>>> clpFields)
66+
{
67+
final String metadataDbUrl = String.format(metadataDbUrlTemplate, dbHandle.dbPath);
4868
final String columnMetadataTableSuffix = "_column_metadata";
4969

5070
try (Connection conn = DriverManager.getConnection(metadataDbUrl, metadataDbUser, metadataDbPassword);
@@ -88,9 +108,9 @@ public ClpMetadata setupMetadata(String dbName, Map<String, List<Pair<String, Cl
88108
return new ClpMetadata(config, metadataProvider);
89109
}
90110

91-
public ClpMySqlSplitProvider setupSplit(String dbName, Map<String, List<String>> splits)
111+
public static ClpMySqlSplitProvider setupSplit(DbHandle dbHandle, Map<String, List<String>> splits)
92112
{
93-
final String metadataDbUrl = String.format(metadataDbUrlTemplate, dbName);
113+
final String metadataDbUrl = String.format(metadataDbUrlTemplate, dbHandle.dbPath);
94114
final String archiveTableSuffix = "_archives";
95115
final String archiveTableFormat = metadataDbTablePrefix + "%s" + archiveTableSuffix;
96116

@@ -135,10 +155,10 @@ public ClpMySqlSplitProvider setupSplit(String dbName, Map<String, List<String>>
135155
.setMetadataTablePrefix(metadataDbTablePrefix));
136156
}
137157

138-
public void tearDown(String dbName)
158+
public static void tearDown(DbHandle dbHandle)
139159
{
140-
File dbFile = new File(String.format("/tmp/%s.mv.db", dbName));
141-
File lockFile = new File(String.format("/tmp/%s.trace.db", dbName)); // Optional, H2 sometimes creates this
160+
File dbFile = new File(dbHandle.dbPath + ".mv.db");
161+
File lockFile = new File(dbHandle.dbPath + ".trace.db"); // Optional, H2 sometimes creates this
142162
if (dbFile.exists()) {
143163
dbFile.delete();
144164
log.info("Deleted database file: " + dbFile.getAbsolutePath());
@@ -148,7 +168,7 @@ public void tearDown(String dbName)
148168
}
149169
}
150170

151-
private void createDatasetsTable(Statement stmt) throws SQLException
171+
private static void createDatasetsTable(Statement stmt) throws SQLException
152172
{
153173
final String createDatasetTableSQL = String.format(
154174
"CREATE TABLE IF NOT EXISTS %s (" +
@@ -158,7 +178,7 @@ private void createDatasetsTable(Statement stmt) throws SQLException
158178
stmt.execute(createDatasetTableSQL);
159179
}
160180

161-
private void updateDatasetsTable(Connection conn, String tableName) throws SQLException
181+
private static void updateDatasetsTable(Connection conn, String tableName) throws SQLException
162182
{
163183
final String insertDatasetTableSQL = String.format(
164184
"INSERT INTO %s (name, archive_storage_type, archive_storage_directory) VALUES (?, ?, ?)", datasetsTableName);

presto-clp/src/test/java/com/facebook/presto/plugin/clp/TestClpMetadata.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,17 @@
4141
@Test(singleThreaded = true)
4242
public class TestClpMetadata
4343
{
44+
private ClpMetadataDbSetUp.DbHandle dbHandle;
4445
private ClpMetadata metadata;
45-
private ClpMetadataDbSetUp clpMetadataDbSetUp;
4646

47-
private static final String databaseName = "metadata_testdb";
4847
private static final String tableName = "test";
4948

5049
@BeforeMethod
5150
public void setUp()
5251
{
53-
clpMetadataDbSetUp = new ClpMetadataDbSetUp();
54-
metadata = clpMetadataDbSetUp.setupMetadata(
55-
databaseName,
52+
dbHandle = ClpMetadataDbSetUp.getDbHandle("metadata_testdb");
53+
metadata = ClpMetadataDbSetUp.setupMetadata(
54+
dbHandle,
5655
ImmutableMap.of(
5756
tableName,
5857
ImmutableList.of(
@@ -68,7 +67,7 @@ public void setUp()
6867
@AfterMethod
6968
public void tearDown()
7069
{
71-
clpMetadataDbSetUp.tearDown(databaseName);
70+
ClpMetadataDbSetUp.tearDown(dbHandle);
7271
}
7372

7473
@Test

presto-clp/src/test/java/com/facebook/presto/plugin/clp/TestClpSplit.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,14 @@
3232
@Test(singleThreaded = true)
3333
public class TestClpSplit
3434
{
35+
private ClpMetadataDbSetUp.DbHandle dbHandle;
3536
private ClpSplitProvider clpSplitProvider;
36-
private ClpMetadataDbSetUp clpMetadataDbSetUp;
3737
private Map<String, List<String>> tableSplits;
3838

39-
private final String databaseName = "split_testdb";
40-
4139
@BeforeMethod
4240
public void setUp()
4341
{
44-
clpMetadataDbSetUp = new ClpMetadataDbSetUp();
42+
dbHandle = ClpMetadataDbSetUp.getDbHandle("split_testdb");
4543
tableSplits = new HashMap<>();
4644

4745
int numKeys = 3;
@@ -57,13 +55,13 @@ public void setUp()
5755

5856
tableSplits.put(key, values);
5957
}
60-
clpSplitProvider = clpMetadataDbSetUp.setupSplit(databaseName, tableSplits);
58+
clpSplitProvider = ClpMetadataDbSetUp.setupSplit(dbHandle, tableSplits);
6159
}
6260

6361
@AfterMethod
6462
public void tearDown()
6563
{
66-
clpMetadataDbSetUp.tearDown(databaseName);
64+
ClpMetadataDbSetUp.tearDown(dbHandle);
6765
}
6866

6967
@Test

0 commit comments

Comments
 (0)