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: us...@infra.apache.org With regards, Apache Git Services