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/04 10:33:33 UTC

[jira] [Commented] (DRILL-1908) new window function implementation

    [ https://issues.apache.org/jira/browse/DRILL-1908?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14395626#comment-14395626 ] 

Khurram Faraaz commented on DRILL-1908:
---------------------------------------

I see an assert when no inputs are given to over( ) function, I believe this is a known issue, adding details here as a comment just so we don't forget this. Seeing it on version 0.9.0
 
{code}
0: jdbc:drill:> select * from `testWindow.csv`;
+------------+
|  columns   |
+------------+
| ["100","John Doe","35","80000","IT"] |
| ["10","Bill Sawyer","37","90000","Engineering"] |
| ["2","Rock Breaker","55","200000","Product Management"] |
| ["50","Raj Verma","40","95000","HR"] |
| ["55","Bob Sr","45","85000","Engineering"] |
| ["67","Kumar","40","90000","Engineering"] |
| ["113","Susan","42","100000","Engineering"] |
| ["119","Jane Doe","39","87000","Engineering"] |
| ["89","Bruce Li","32","80000","Fitness"] |
| ["57","Sam","43","100000","Sales"] |
| ["61","Patrick","41","99000","Sales"] |
+------------+
11 rows selected (0.091 seconds)


0: jdbc:drill:> alter system set `window.enable`=true;
+------------+------------+
|     ok     |  summary   |
+------------+------------+
| true       | window.enable updated. |
+------------+------------+
1 row selected (0.042 seconds)
0: jdbc:drill:> select sum(cast(columns[0] as int)) over () sum_salary, cast(columns[1] as varchar(50)) from `testWindow.csv`;
Query failed: AssertionError: 

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

Stack trace from drillbit.log

2015-03-31 00:13:56,916 [2ae6193a-d425-6057-85c7-f22e14ed33f6:foreman] INFO  o.a.drill.exec.work.foreman.Foreman - foreman cleaning up - status: []
2015-03-31 00:13:56,918 [2ae6193a-d425-6057-85c7-f22e14ed33f6:foreman] ERROR o.a.drill.exec.work.foreman.Foreman - Error 9a37e4fa-27d0-4a2d-8e40-c7335f3f6c37: AssertionError:
org.apache.drill.exec.work.foreman.ForemanException: Unexpected exception during fragment initialization: null
        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: null
        at org.eigenbase.sql.validate.SqlValidatorUtil.lookup(SqlValidatorUtil.java:242) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlIdentifier.getMonotonicity(SqlIdentifier.java:261) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SelectScope.getMonotonicity(SelectScope.java:149) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlWindow.isTableSorted(SqlWindow.java:340) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlWindow.validate(SqlWindow.java:561) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SqlValidatorImpl.validateWindow(SqlValidatorImpl.java:3674) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlOverOperator.validateCall(SqlOverOperator.java:67) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SqlValidatorImpl.validateCall(SqlValidatorImpl.java:3713) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlCall.validate(SqlCall.java:102) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlNode.validateExpr(SqlNode.java:223) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlAsOperator.validateCall(SqlAsOperator.java:91) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SqlValidatorImpl.validateCall(SqlValidatorImpl.java:3713) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlCall.validate(SqlCall.java:102) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.SqlNode.validateExpr(SqlNode.java:223) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SqlValidatorImpl.validateExpr(SqlValidatorImpl.java:3146) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SqlValidatorImpl.validateSelectList(SqlValidatorImpl.java:3131) ~[optiq-core-0.9-drill-r20.jar:na]
        at org.eigenbase.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:2822) ~[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}

> new window function implementation
> ----------------------------------
>
>                 Key: DRILL-1908
>                 URL: https://issues.apache.org/jira/browse/DRILL-1908
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Execution - Relational Operators
>    Affects Versions: 0.7.0
>            Reporter: Deneche A. Hakim
>            Assignee: Jacques Nadeau
>            Priority: Critical
>             Fix For: 0.8.0
>
>         Attachments: DRILL-1908.1.patch.txt, DRILL-1908.2.patch.txt, DRILL-1908.3.patch.txt, DRILL-1908.4.patch.txt, DRILL-1908.5.patch.txt, DRILL-1908.6.patch.txt, DRILL-1908.7.patch.txt, DRILL-1908.8.patch.txt
>
>
> In order to fix DRILL-1487 a complete rewrite of the StreamingWindowFrameRecordBatch may be needed. The purpose of this issue is to report my progress and share my thoughts with the community in order to get a proper implementation



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