You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Khurram Faraaz (JIRA)" <ji...@apache.org> on 2015/04/13 22:17:13 UTC

[jira] [Created] (DRILL-2770) Aggregate query returns AssertionError: star should have been expanded

Khurram Faraaz created DRILL-2770:
-------------------------------------

             Summary: Aggregate query returns AssertionError: star should have been expanded
                 Key: DRILL-2770
                 URL: https://issues.apache.org/jira/browse/DRILL-2770
             Project: Apache Drill
          Issue Type: Bug
          Components: Query Planning & Optimization
    Affects Versions: 0.9.0
         Environment: | 393a8affdab9b93093a7afcc81d016e720d7781f | MD-192: CONVERT_FROM in where clause | 25.03.2015 @ 17:57:28 EDT
            Reporter: Khurram Faraaz
            Assignee: Jinfeng Ni


Aggregate query that should return maximum value, reports an AssertionError.
Test was performed on 4 node cluster on CentOS.

{code}

0: jdbc:drill:> select max(columns[0]) from (select * from `countries.csv` offset 1) tmp order by tmp.columns[1];
Query failed: AssertionError: star should have been expanded

Error: exception while executing query: Failure while executing query. (state=,code=0)
0: jdbc:drill:> select max(tmp.columns[0]) from (select * from `countries.csv` offset 1) tmp order by tmp.columns[1];
Query failed: AssertionError: star should have been expanded

Error: exception while executing query: Failure while executing query. (state=,code=0)

Aggregate query to get the maximum value from columns[0]
0: jdbc:drill:> select max(columns[0]) from `countries.csv`;
+------------+
|   EXPR$0   |
+------------+
| 302802,"VE","Venezuela","SA","http://en.wikipedia.org/wiki/Venezuela", |
+------------+
1 row selected (0.372 seconds)

query without the order by, returns results. Although it should have returned just the maximum value in that column, we also see some other data returned by the query. We do not see the assertion when the order by is removed.

0: jdbc:drill:> select max(tmp.columns[0]) from (select * from `countries.csv` offset 1) tmp;
+------------+
|   EXPR$0   |
+------------+
| 302802,"VE","Venezuela","SA","http://en.wikipedia.org/wiki/Venezuela", |
+------------+
1 row selected (0.192 seconds)

Note that there is header information in the CSV file in the first row. 

0: jdbc:drill:> select * from `countries.csv` limit 2;
+------------+
|  columns   |
+------------+
| ["\"id\",\"code\",\"name\",\"continent\",\"wikipedia_link\",\"keywords\""] |
| ["302672,\"AD\",\"Andorra\",\"EU\",\"http://en.wikipedia.org/wiki/Andorra\","] |
+------------+
2 rows selected (0.14 seconds)

Snippet from CSV data file

[root@centos-01 airport_CSV_data]# head -10 countries.csv 
"id","code","name","continent","wikipedia_link","keywords"
302672,"AD","Andorra","EU","http://en.wikipedia.org/wiki/Andorra",
302618,"AE","United Arab Emirates","AS","http://en.wikipedia.org/wiki/United_Arab_Emirates","UAE"
302619,"AF","Afghanistan","AS","http://en.wikipedia.org/wiki/Afghanistan",
302722,"AG","Antigua and Barbuda","NA","http://en.wikipedia.org/wiki/Antigua_and_Barbuda",
302723,"AI","Anguilla","NA","http://en.wikipedia.org/wiki/Anguilla",
302673,"AL","Albania","EU","http://en.wikipedia.org/wiki/Albania",
302620,"AM","Armenia","AS","http://en.wikipedia.org/wiki/Armenia",
302556,"AO","Angola","AF","http://en.wikipedia.org/wiki/Angola",
302615,"AQ","Antarctica","AN","http://en.wikipedia.org/wiki/Antarctica",

Stack trace from drillbit.log

2015-04-13 20:09:18,198 [2ad3dd91-0f3b-b882-8ae6-45f8ad208fb6:foreman] ERROR o.a.drill.exec.work.foreman.Foreman - Error 4eee026f-6235-45a8-84b1-dd8302edec3c: AssertionError: star should have been expanded
org.apache.drill.exec.work.foreman.ForemanException: Unexpected exception during fragment initialization: star should have been expanded
        at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:213) [drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_75]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_75]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]
Caused by: java.lang.AssertionError: star should have been expanded
        at org.eigenbase.sql.validate.AggChecker.visit(AggChecker.java:81) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.AggChecker.visit(AggChecker.java:31) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlIdentifier.accept(SqlIdentifier.java:222) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.util.SqlBasicVisitor$ArgHandlerImpl.visitChild(SqlBasicVisitor.java:107) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlOperator.acceptCall(SqlOperator.java:688) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.AggChecker.visit(AggChecker.java:139) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.AggChecker.visit(AggChecker.java:31) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlCall.accept(SqlCall.java:125) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.util.SqlBasicVisitor$ArgHandlerImpl.visitChild(SqlBasicVisitor.java:107) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlOperator.acceptCall(SqlOperator.java:688) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.AggChecker.visit(AggChecker.java:139) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.AggChecker.visit(AggChecker.java:31) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlCall.accept(SqlCall.java:125) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.AggregatingSelectScope.checkAggregateExpr(AggregatingSelectScope.java:155) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.AggregatingSelectScope.validateExpr(AggregatingSelectScope.java:164) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.OrderByScope.validateExpr(OrderByScope.java:100) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SqlValidatorImpl.validateExpr(SqlValidatorImpl.java:3150) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SqlValidatorImpl.validateOrderItem(SqlValidatorImpl.java:2965) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SqlValidatorImpl.validateOrderList(SqlValidatorImpl.java:2949) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:2829) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:85) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:785) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:774) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlSelect.validate(SqlSelect.java:211) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:748) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:464) ~[optiq-core-0.9-drill-r20.jar:na]
        at net.hydromatic.optiq.prepare.PlannerImpl.validate(PlannerImpl.java:174) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode(DefaultSqlHandler.java:157) ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:133) ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:145) ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:773) [drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:204) [drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        ... 3 common frames omitted

{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)