Uploaded image for project: 'Pig'
  1. Pig
  2. PIG-4940

Predicate push-down filtering unary expressions can be pushed.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.17.0
    • None
    • None
    • Reviewed

    Description

      While testing predicate push-down, I ran into the following error:

      Pig Exception
      ERROR 0: Unsupported conversion of LogicalExpression to Expression: Map
              at org.apache.pig.newplan.FilterExtractor.getExpression(FilterExtractor.java:389)
              at org.apache.pig.newplan.FilterExtractor.getExpression(FilterExtractor.java:401)
              at org.apache.pig.newplan.FilterExtractor.getExpression(FilterExtractor.java:378)
              at org.apache.pig.newplan.FilterExtractor.getExpression(FilterExtractor.java:401)
              at org.apache.pig.newplan.FilterExtractor.getExpression(FilterExtractor.java:380)
              at org.apache.pig.newplan.FilterExtractor.visit(FilterExtractor.java:109)
              at org.apache.pig.newplan.PredicatePushDownFilterExtractor.visit(PredicatePushDownFilterExtractor.java:70)
              at org.apache.pig.newplan.logical.rules.PredicatePushdownOptimizer$PredicatePushDownTransformer.transform(PredicatePushdownOptimizer.java:146)
              at org.apache.pig.newplan.optimizer.PlanOptimizer.optimize(PlanOptimizer.java:110)
              ... 19 more
      

      The problem is that the code is trying to push a map access operation, that isn't supported. The cause appears to be the logic in checkPushDown(UnaryExpression) that separates expressions that can be pushed from expressions that must be run by Pig. This function assumes that any expression under IsNullExpression or NotExpression can be pushed and adds the unary node's child expression to the pushdown expression without calling checkPushDown on it.

      Attachments

        1. PIG-4940.3.patch
          4 kB
          Daniel Dai
        2. PIG-4940.2.patch
          4 kB
          Ryan Blue
        3. PIG-4940.1.patch
          2 kB
          Ryan Blue

        Issue Links

          Activity

            People

              rdblue Ryan Blue
              rdblue Ryan Blue
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: