Fix testScanUnion() to wait in close() until every input
calls writer.open().
Change-Id: I8d4ead7a2a70c4287509f5f25f90534f56960035
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1683
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
BAD: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: abdullah alamoudi <bamousaa@gmail.com>
diff --git a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/rewriting/SuperActivityRewritingTest.java b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/rewriting/SuperActivityRewritingTest.java
index 683857f..8b0b8a0 100644
--- a/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/rewriting/SuperActivityRewritingTest.java
+++ b/hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/rewriting/SuperActivityRewritingTest.java
@@ -21,6 +21,7 @@
import java.nio.ByteBuffer;
import java.util.HashSet;
import java.util.Set;
+import java.util.concurrent.CountDownLatch;
import org.apache.hyracks.api.comm.IFrameWriter;
import org.apache.hyracks.api.constraints.PartitionConstraintHelper;
@@ -124,7 +125,8 @@
IRecordDescriptorProvider recordDescProvider, int partition, int nPartitions)
throws HyracksDataException {
return new IOperatorNodePushable() {
- private Set<Long> threads = new HashSet<Long>();
+ private CountDownLatch allOpenedSignal = new CountDownLatch(3);
+ private Set<Long> threads = new HashSet<>();
@Override
public void initialize() throws HyracksDataException {
@@ -154,6 +156,7 @@
return new IFrameWriter() {
@Override
public void open() throws HyracksDataException {
+ allOpenedSignal.countDown();
synchronized (threads) {
threads.add(Thread.currentThread().getId());
}
@@ -171,7 +174,11 @@
@Override
public void close() throws HyracksDataException {
-
+ try {
+ allOpenedSignal.await();
+ } catch (InterruptedException e) {
+ // This test should not be interrupted
+ }
}
@Override