Verify that BufferCache is clean after tests
Change-Id: I5610e903be3347893e676c915b98316b06073c26
Reviewed-on: https://asterix-gerrit.ics.uci.edu/498
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Murtadha Hubail <hubailmor@gmail.com>
diff --git a/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java b/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
index 158bf0c..2897a15 100644
--- a/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
+++ b/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java
@@ -43,9 +43,9 @@
public static final int DEFAULT_HYRACKS_CC_CLUSTER_PORT = 1099;
- private static ClusterControllerService cc;
- private static NodeControllerService[] ncs = new NodeControllerService[NODES];
- private static IHyracksClientConnection hcc;
+ public static ClusterControllerService cc;
+ public static NodeControllerService[] ncs = new NodeControllerService[NODES];
+ public static IHyracksClientConnection hcc;
public static void init() throws Exception {
CCConfig ccConfig = new CCConfig();
diff --git a/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTest.java b/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTest.java
index 78cb52e..052e0be 100644
--- a/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTest.java
+++ b/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTest.java
@@ -29,9 +29,12 @@
import org.apache.asterix.testframework.context.TestCaseContext;
import org.apache.asterix.testframework.xml.TestGroup;
import org.apache.commons.lang3.StringUtils;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.apache.hyracks.api.lifecycle.ILifeCycleComponent;
+import org.apache.hyracks.api.lifecycle.ILifeCycleComponentManager;
+import org.apache.hyracks.control.nc.NodeControllerService;
+import org.apache.hyracks.control.nc.application.NCApplicationContext;
+import org.apache.hyracks.storage.common.buffercache.BufferCache;
+import org.junit.*;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
diff --git a/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTestUtil.java b/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTestUtil.java
index 8eccd3f..0473f6c 100644
--- a/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTestUtil.java
+++ b/asterix-app/src/test/java/org/apache/asterix/test/runtime/ExecutionTestUtil.java
@@ -24,6 +24,7 @@
import java.util.logging.Logger;
import org.apache.asterix.api.common.AsterixHyracksIntegrationUtil;
+import org.apache.asterix.common.api.IAsterixAppRuntimeContext;
import org.apache.asterix.common.config.AsterixPropertiesAccessor;
import org.apache.asterix.common.config.AsterixTransactionProperties;
import org.apache.asterix.common.config.GlobalConfig;
@@ -32,6 +33,8 @@
import org.apache.asterix.testframework.xml.TestGroup;
import org.apache.asterix.testframework.xml.TestSuite;
import org.apache.commons.io.FileUtils;
+import org.apache.hyracks.control.nc.NodeControllerService;
+import org.apache.hyracks.storage.common.buffercache.BufferCache;
public class ExecutionTestUtil {
@@ -87,7 +90,17 @@
}
}
+ private static void validateBufferCacheState() {
+ for(NodeControllerService nc: AsterixHyracksIntegrationUtil.ncs){
+ IAsterixAppRuntimeContext appCtx = (IAsterixAppRuntimeContext) nc.getApplicationContext().getApplicationObject();
+ if(!((BufferCache)appCtx.getBufferCache()).isClean()){
+ throw new IllegalStateException();
+ }
+ }
+ }
+
public static void tearDown() throws Exception {
+ validateBufferCacheState();
AsterixHyracksIntegrationUtil.deinit();
File outdir = new File(PATH_ACTUAL);
File[] files = outdir.listFiles();