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");
+                    }
                 }
             }
         };


Reply via email to