Author: reschke
Date: Mon Feb 9 17:15:18 2015
New Revision: 1658470
URL: http://svn.apache.org/r1658470
Log:
OAK-1266 - allow oak-run's BenchmarkRunner to check whether tables have been
dropped
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java?rev=1658470&r1=1658469&r2=1658470&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
Mon Feb 9 17:15:18 2015
@@ -275,9 +275,17 @@ public class RDBDocumentStore implements
}
}
+ // used for diagnostics
+ private String droppedTables = "";
+
+ public String getDroppedTables() {
+ return this.droppedTables;
+ }
+
@Override
public void dispose() {
if (!this.tablesToBeDropped.isEmpty()) {
+ String dropped = "";
LOG.debug("attempting to drop: " + this.tablesToBeDropped);
for (String tname : this.tablesToBeDropped) {
Connection con = null;
@@ -288,6 +296,7 @@ public class RDBDocumentStore implements
stmt.execute("drop table " + tname);
stmt.close();
con.commit();
+ dropped += tname + " ";
} catch (SQLException ex) {
LOG.debug("attempting to drop: " + tname);
}
@@ -303,6 +312,7 @@ public class RDBDocumentStore implements
}
}
}
+ this.droppedTables = dropped.trim();
}
this.ch = null;
}
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java?rev=1658470&r1=1658469&r2=1658470&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
(original)
+++
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
Mon Feb 9 17:15:18 2015
@@ -28,6 +28,7 @@ import org.apache.jackrabbit.oak.kernel.
import org.apache.jackrabbit.oak.plugins.document.DocumentMK;
import org.apache.jackrabbit.oak.plugins.document.rdb.RDBBlobStore;
import org.apache.jackrabbit.oak.plugins.document.rdb.RDBDataSourceFactory;
+import org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore;
import org.apache.jackrabbit.oak.plugins.document.rdb.RDBOptions;
import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection;
import org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState;
@@ -295,11 +296,17 @@ public abstract class OakFixture {
@Override
public void tearDownCluster() {
+ String dropped = "";
for (DocumentMK kernel : kernels) {
kernel.dispose();
+ if (kernel.getDocumentStore() instanceof RDBDocumentStore)
{
+ dropped +=
((RDBDocumentStore)kernel.getDocumentStore()).getDroppedTables();
+ }
}
if (dropDBAfterTest) {
- throw new RuntimeException("dropdb not supported for RDB
persistence");
+ if (dropped.isEmpty()) {
+ throw new RuntimeException("dropdb was set, but tables
have not been dropped");
+ }
}
}
};