sohami commented on a change in pull request #1504: DRILL-6792: Find the right
probe side fragment wrapper & fix DrillBuf…
URL: https://github.com/apache/drill/pull/1504#discussion_r236396536
##########
File path:
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/HashJoinBatch.java
##########
@@ -747,12 +751,35 @@ private void setupHash64(HashTableConfig htConfig)
throws SchemaChangeException
enableRuntimeFilter = false;
return;
}
+ RuntimeFilterDef runtimeFilterDef = popConfig.getRuntimeFilterDef();
+ List<BloomFilterDef> bloomFilterDefs =
runtimeFilterDef.getBloomFilterDefs();
+ for (BloomFilterDef bloomFilterDef : bloomFilterDefs) {
+ String buildField = bloomFilterDef.getBuildField();
+ SchemaPath schemaPath = new SchemaPath(new
PathSegment.NameSegment(buildField), ExpressionPosition.UNKNOWN);
+ TypedFieldId typedFieldId = buildBatch.getValueVectorId(schemaPath);
+ if (typedFieldId == null) {
+ missingField = true;
+ break;
+ }
+ int fieldId = typedFieldId.getFieldIds()[0];
+ String probeField = bloomFilterDef.getProbeField();
+ probeFields.add(probeField);
+ bloomFilterDef2buildId.put(bloomFilterDef, fieldId);
+ }
+ if (missingField) {
+ logger.info("As some build side joint key fields not found, runtime
filter was disabled");
+ enableRuntimeFilter = false;
+ return;
+ }
ValueVectorHashHelper hashHelper = new ValueVectorHashHelper(buildBatch,
context);
try {
hash64 = hashHelper.getHash64(keyExprsBuild, buildSideTypeFieldIds);
} catch (Exception e) {
throw new SchemaChangeException("Failed to construct a field's hash64
dynamic codes", e);
}
+ if (runtimeFilterReporter == null) {
+ runtimeFilterReporter = new
RuntimeFilterReporter((ExecutorFragmentContext) context);
Review comment:
With this the `initializeRuntimeFilter` will always return without actually
creating BloomFilters. Is this initialization required here ?
----------------------------------------------------------------
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