Details
-
Improvement
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
Few places in the code have following pattern
GenericUDAFBloomFilterEvaluator bloomFilterEval = new GenericUDAFBloomFilterEvaluator(); ... AggregationDesc bloom = new AggregationDesc("bloom_filter", bloomFilterEval, p, false, mode); bloom.setGenericUDAFWritableEvaluator(bloomFilterEval);
where the bloom filter evaluator is passed in the constructor of the aggregation and directly after using a setter. The use of the setter is necessary otherwise there are runtime failures of the query however the pattern is a bit confusing.
Investigate if there is a way to avoid the double passing of the evaluator.
To reproduce the failure remove the setter and run the following test.
mvn test -Dtest=TestMiniLlapLocalCliDriver -Dqfile=vectorized_dynamic_semijoin_reduction.q -Dtest.output.overwrite