You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Aman Sinha (JIRA)" <ji...@apache.org> on 2014/02/21 23:35:20 UTC

[jira] [Updated] (DRILL-380) Filter before Sort causes exception

     [ https://issues.apache.org/jira/browse/DRILL-380?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aman Sinha updated DRILL-380:
-----------------------------

    Description: 
Here's a plan that contains a Filter before Sort.  The stack trace for the exception is shown further below.  Having a SelectionVectorRemover between the Filter and Sort eliminates the problem but should not be required. 

{
  head : {
    version : 1,
    generator : {
      type : "optiq",
      info : "na"
    },
    type : "APACHE_DRILL_PHYSICAL"
  },
  graph : [ {
    pop : "parquet-scan",
    @id : 1,
    entries : [ {
      path : "/tmp/parquet/orders/part-m-00001.parquet"
    } ],
    storageengine : {
      type : "parquet",
      dfsName : "file:///"
    },
    ref : "_MAP",
    fragmentPointer : 0
  }, {
    pop : "project",
    @id : 2,
    exprs : [ {
      ref : "output.$f0",
      expr : "_MAP.O_CUSTKEY"
    }, {
      ref : "output.$f1",
      expr : "_MAP.O_ORDERKEY"
    } ],
    child : 1
  }, {
    pop : "filter",
    @id : 3,
    child : 2,
    expr : "$f0 > (100000) AND $f0 < (500000)"
  }, {
    pop : "sort",
    @id : 4,
    child : 3,
    orderings : [ {
      order : "ASC",
      expr : "$f0"
    }, {
      order : "ASC",
      expr : "Y"
    } ],
    reverse : false
  }, {
    pop : "selection-vector-remover",
    @id : 5,
    child : 4
  }, {
    pop : "screen",
    @id : 6,
    child : 5
  } ]
}


ava.lang.IllegalArgumentException: Undefined for 0
        at org.apache.hadoop.util.QuickSort.getMaxDepth(QuickSort.java:41) ~[hadoop-core-1.2.1.jar:na]
        at org.apache.hadoop.util.QuickSort.sort(QuickSort.java:59) ~[hadoop-core-1.2.1.jar:na]
        at org.apache.hadoop.util.QuickSort.sort(QuickSort.java:51) ~[hadoop-core-1.2.1.jar:na]
        at org.apache.drill.exec.test.generated.SorterGen0.sort(SortTemplate.java:47) ~[na:na]
        at org.apache.drill.exec.physical.impl.sort.SortBatch.next(SortBatch.java:152) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at org.apache.drill.exec.record.AbstractSingleRecordBatch.next(AbstractSingleRecordBatch.java:42) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]

  was:
Here's a plan that contains a Filter below Sort.  The stack trace for the exception is shown further below.  Having a SelectionVectorRemover between the Filter and Sort eliminates the problem but should not be required. 

{
  head : {
    version : 1,
    generator : {
      type : "optiq",
      info : "na"
    },
    type : "APACHE_DRILL_PHYSICAL"
  },
  graph : [ {
    pop : "parquet-scan",
    @id : 1,
    entries : [ {
      path : "/tmp/parquet/orders/part-m-00001.parquet"
    } ],
    storageengine : {
      type : "parquet",
      dfsName : "file:///"
    },
    ref : "_MAP",
    fragmentPointer : 0
  }, {
    pop : "project",
    @id : 2,
    exprs : [ {
      ref : "output.$f0",
      expr : "_MAP.O_CUSTKEY"
    }, {
      ref : "output.$f1",
      expr : "_MAP.O_ORDERKEY"
    } ],
    child : 1
  }, {
    pop : "filter",
    @id : 3,
    child : 2,
    expr : "$f0 > (100000) AND $f0 < (500000)"
  }, {
    pop : "sort",
    @id : 4,
    child : 3,
    orderings : [ {
      order : "ASC",
      expr : "$f0"
    }, {
      order : "ASC",
      expr : "Y"
    } ],
    reverse : false
  }, {
    pop : "selection-vector-remover",
    @id : 5,
    child : 4
  }, {
    pop : "screen",
    @id : 6,
    child : 5
  } ]
}


ava.lang.IllegalArgumentException: Undefined for 0
        at org.apache.hadoop.util.QuickSort.getMaxDepth(QuickSort.java:41) ~[hadoop-core-1.2.1.jar:na]
        at org.apache.hadoop.util.QuickSort.sort(QuickSort.java:59) ~[hadoop-core-1.2.1.jar:na]
        at org.apache.hadoop.util.QuickSort.sort(QuickSort.java:51) ~[hadoop-core-1.2.1.jar:na]
        at org.apache.drill.exec.test.generated.SorterGen0.sort(SortTemplate.java:47) ~[na:na]
        at org.apache.drill.exec.physical.impl.sort.SortBatch.next(SortBatch.java:152) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at org.apache.drill.exec.record.AbstractSingleRecordBatch.next(AbstractSingleRecordBatch.java:42) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]


> Filter before Sort causes exception
> -----------------------------------
>
>                 Key: DRILL-380
>                 URL: https://issues.apache.org/jira/browse/DRILL-380
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: Aman Sinha
>
> Here's a plan that contains a Filter before Sort.  The stack trace for the exception is shown further below.  Having a SelectionVectorRemover between the Filter and Sort eliminates the problem but should not be required. 
> {
>   head : {
>     version : 1,
>     generator : {
>       type : "optiq",
>       info : "na"
>     },
>     type : "APACHE_DRILL_PHYSICAL"
>   },
>   graph : [ {
>     pop : "parquet-scan",
>     @id : 1,
>     entries : [ {
>       path : "/tmp/parquet/orders/part-m-00001.parquet"
>     } ],
>     storageengine : {
>       type : "parquet",
>       dfsName : "file:///"
>     },
>     ref : "_MAP",
>     fragmentPointer : 0
>   }, {
>     pop : "project",
>     @id : 2,
>     exprs : [ {
>       ref : "output.$f0",
>       expr : "_MAP.O_CUSTKEY"
>     }, {
>       ref : "output.$f1",
>       expr : "_MAP.O_ORDERKEY"
>     } ],
>     child : 1
>   }, {
>     pop : "filter",
>     @id : 3,
>     child : 2,
>     expr : "$f0 > (100000) AND $f0 < (500000)"
>   }, {
>     pop : "sort",
>     @id : 4,
>     child : 3,
>     orderings : [ {
>       order : "ASC",
>       expr : "$f0"
>     }, {
>       order : "ASC",
>       expr : "Y"
>     } ],
>     reverse : false
>   }, {
>     pop : "selection-vector-remover",
>     @id : 5,
>     child : 4
>   }, {
>     pop : "screen",
>     @id : 6,
>     child : 5
>   } ]
> }
> ava.lang.IllegalArgumentException: Undefined for 0
>         at org.apache.hadoop.util.QuickSort.getMaxDepth(QuickSort.java:41) ~[hadoop-core-1.2.1.jar:na]
>         at org.apache.hadoop.util.QuickSort.sort(QuickSort.java:59) ~[hadoop-core-1.2.1.jar:na]
>         at org.apache.hadoop.util.QuickSort.sort(QuickSort.java:51) ~[hadoop-core-1.2.1.jar:na]
>         at org.apache.drill.exec.test.generated.SorterGen0.sort(SortTemplate.java:47) ~[na:na]
>         at org.apache.drill.exec.physical.impl.sort.SortBatch.next(SortBatch.java:152) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
>         at org.apache.drill.exec.record.AbstractSingleRecordBatch.next(AbstractSingleRecordBatch.java:42) ~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)