提交 555af2d5 authored 作者: Thomas Mueller's avatar Thomas Mueller

Ensure threads stop running if the test fails

上级 0aae334e
...@@ -597,31 +597,39 @@ public class TestMVTableEngine extends TestBase { ...@@ -597,31 +597,39 @@ public class TestMVTableEngine extends TestBase {
private void testTransactionLogUsuallyNotStored() throws Exception { private void testTransactionLogUsuallyNotStored() throws Exception {
Connection conn; Connection conn;
Statement stat; Statement stat;
deleteDb(getTestName()); // we expect the transaction log is empty in at least some of the cases
String url = getTestName() + ";MV_STORE=TRUE"; for (int test = 0; test < 5; test++) {
url = getURL(url, true); deleteDb(getTestName());
conn = getConnection(url); String url = getTestName() + ";MV_STORE=TRUE";
stat = conn.createStatement(); url = getURL(url, true);
stat.execute("create table test(id identity, name varchar)"); conn = getConnection(url);
conn.setAutoCommit(false); stat = conn.createStatement();
PreparedStatement prep = conn.prepareStatement( stat.execute("create table test(id identity, name varchar)");
"insert into test(name) values(space(10000))"); conn.setAutoCommit(false);
for (int j = 0; j < 100; j++) { PreparedStatement prep = conn.prepareStatement(
for (int i = 0; i < 100; i++) { "insert into test(name) values(space(10000))");
prep.execute(); for (int j = 0; j < 100; j++) {
for (int i = 0; i < 100; i++) {
prep.execute();
}
conn.commit();
}
stat.execute("shutdown immediately");
JdbcUtils.closeSilently(conn);
String file = getBaseDir() + "/" + getTestName() +
Constants.SUFFIX_MV_FILE;
MVStore store = MVStore.open(file);
TransactionStore t = new TransactionStore(store);
t.init();
int openTransactions = t.getOpenTransactions().size();
store.close();
if (openTransactions == 0) {
return;
} }
conn.commit();
} }
stat.execute("shutdown immediately"); fail("transaction log was never empty");
JdbcUtils.closeSilently(conn);
String file = getBaseDir() + "/" + getTestName() + Constants.SUFFIX_MV_FILE;
MVStore store = MVStore.open(file);
TransactionStore t = new TransactionStore(store);
t.init();
assertEquals(0, t.getOpenTransactions().size());
store.close();
} }
private void testShrinkDatabaseFile() throws Exception { private void testShrinkDatabaseFile() throws Exception {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论