Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-24018

Review necessity of AggregationDesc#setGenericUDAFWritableEvaluator for bloom filter aggregations

    XMLWordPrintableJSON

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 
      

      Attachments

        Activity

          People

            zabetak Stamatis Zampetakis
            zabetak Stamatis Zampetakis
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: