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:
[email protected]
With regards,
Apache Git Services