aboutsummaryrefslogtreecommitdiff
path: root/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical
diff options
context:
space:
mode:
authorSorabh Hamirwasia <sorabh@apache.org>2018-09-26 13:20:02 -0700
committerSorabh Hamirwasia <sorabh@apache.org>2018-10-10 09:51:02 -0700
commitde76e135316086386e2f7edd04ec1d5ca479bc59 (patch)
tree0726d0d7bd1273239573244d32fafb44d05bb079 /exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical
parent216b1237739935b04c4f54b3f6f05371a4644085 (diff)
DRILL-6731: Resolving race conditions in RuntimeFilterSink
Add condition variable to avoid starvation of producer thread while acquiring queue lock
Diffstat (limited to 'exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical')
-rw-r--r--exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/RuntimeFilterVisitor.java12
1 files changed, 2 insertions, 10 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/RuntimeFilterVisitor.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/RuntimeFilterVisitor.java
index bfba5f2c1..fcfa2bca1 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/RuntimeFilterVisitor.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/RuntimeFilterVisitor.java
@@ -222,18 +222,10 @@ public class RuntimeFilterVisitor extends BasePrelVisitor<Prel, Void, RuntimeExc
holder.setFromBuildSide(true);
right.accept(this, holder);
boolean routeToForeman = holder.needToRouteToForeman();
- if (!routeToForeman) {
- runtimeFilterDef.setSendToForeman(false);
- } else {
- runtimeFilterDef.setSendToForeman(true);
- }
+ runtimeFilterDef.setSendToForeman(routeToForeman);
List<BloomFilterDef> bloomFilterDefs = runtimeFilterDef.getBloomFilterDefs();
for (BloomFilterDef bloomFilterDef : bloomFilterDefs) {
- if (!routeToForeman) {
- bloomFilterDef.setLocal(true);
- } else {
- bloomFilterDef.setLocal(false);
- }
+ bloomFilterDef.setLocal(!routeToForeman);
}
}
}