sohami commented on a change in pull request #1459: DRILL-6731: Move the BFs aggregating work from the Foreman to the RuntimeFi… URL: https://github.com/apache/drill/pull/1459#discussion_r218203657
########## File path: exec/java-exec/src/main/java/org/apache/drill/exec/work/filter/RuntimeFilterRouter.java ########## @@ -138,28 +133,12 @@ public void registerRuntimeFilter(RuntimeFilterWritable runtimeFilterWritable) { int majorId = runtimeFilterB.getMajorFragmentId(); UserBitShared.QueryId queryId = runtimeFilterB.getQueryId(); List<String> probeFields = runtimeFilterB.getProbeFieldsList(); - logger.info("RuntimeFilterManager receives a runtime filter , majorId:{}, queryId:{}", majorId, QueryIdHelper.getQueryId(queryId)); - int size; - synchronized (this) { - size = joinMjId2scanSize.get(majorId); - Preconditions.checkState(size > 0); - RuntimeFilterWritable aggregatedRuntimeFilter = joinMjId2AggregatedRF.get(majorId); - if (aggregatedRuntimeFilter == null) { - aggregatedRuntimeFilter = runtimeFilterWritable; - } else { - aggregatedRuntimeFilter.aggregate(runtimeFilterWritable); - } - joinMjId2AggregatedRF.put(majorId, aggregatedRuntimeFilter); - size--; - joinMjId2scanSize.put(majorId, size); - } - if (size == 0) { - broadcastAggregatedRuntimeFilter(majorId, queryId, probeFields); - } + logger.info("RuntimeFilterRouter receives a runtime filter , majorId:{}, queryId:{}", majorId, QueryIdHelper.getQueryId(queryId)); + broadcastAggregatedRuntimeFilter(majorId, queryId, probeFields, runtimeFilterWritable.getData()); Review comment: why not just pass `runtimeFilterWritable` to broadcast method instead of extracting individual things and passing it as parameter ? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services