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

Add early termination for recursion in StatsRulesProcFactory$FilterStatsRule.evaluateExpression for OR expression

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.3.0, 2.0.0
    • None
    • None

    Description

      Thanks to gopalv for uncovering this issue as part of HIVE-11330. Quoting him,
      "The recursion protection works well with an AND expr, but it doesn't work against
      (OR a=1 (OR a=2 (OR a=3 (OR ...)
      since the for the rows will never be reduced during recursion due to the nature of the OR.
      We need to execute a short-circuit to satisfy the OR properly - no case which matches a=1 qualifies for the rest of the filters.
      Recursion should pass in the numRows - branch1Rows for the branch-2."

      Attachments

        1. HIVE-11405.patch
          16 kB
          Prasanth Jayachandran
        2. HIVE-11405.1.patch
          16 kB
          Prasanth Jayachandran
        3. HIVE-11405.2.patch
          55 kB
          Prasanth Jayachandran
        4. HIVE-11405.2.patch
          55 kB
          Prasanth Jayachandran
        5. HIVE-11405.2.patch
          55 kB
          Gunther Hagleitner
        6. HIVE-11405.2.patch
          55 kB
          Prasanth Jayachandran
        7. HIVE-11405-branch-1.patch
          55 kB
          Prasanth Jayachandran

        Issue Links

          Activity

            People

              prasanth_j Prasanth Jayachandran
              hsubramaniyan Hari Sankar Sivarama Subramaniyan
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: