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

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

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.3.0, 2.0.0
    • Component/s: None
    • Labels:
      None

      Description

      Thanks to Gopal Vijayaraghavan 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.1.patch
          16 kB
          Prasanth Jayachandran
        2. HIVE-11405.2.patch
          55 kB
          Prasanth Jayachandran
        3. HIVE-11405.2.patch
          55 kB
          Gunther Hagleitner
        4. HIVE-11405.2.patch
          55 kB
          Prasanth Jayachandran
        5. HIVE-11405.2.patch
          55 kB
          Prasanth Jayachandran
        6. HIVE-11405.patch
          16 kB
          Prasanth Jayachandran
        7. HIVE-11405-branch-1.patch
          55 kB
          Prasanth Jayachandran

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: