Khurram Faraaz created DRILL-2481: ------------------------------------- Summary: Querying individual column from view results in AssertionError Key: DRILL-2481 URL: https://issues.apache.org/jira/browse/DRILL-2481 Project: Apache Drill Issue Type: Bug Components: Query Planning & Optimization Affects Versions: 0.8.0 Reporter: Khurram Faraaz Assignee: Jinfeng Ni
Querying an individual column from a view results in an AssertionError Data used was from a csv file, its content was a single row (pls see below) 1,John Doe,HR,5000,Software Engineer {code } 0: jdbc:drill:> use dfs.tmp; +------------+------------+ | ok | summary | +------------+------------+ | true | Default schema changed to 'dfs.tmp' | +------------+------------+ 1 row selected (0.188 seconds) 0: jdbc:drill:> create view v1 as select * from `employee.csv` union all select * from `employee.csv`; +------------+------------+ | ok | summary | +------------+------------+ | true | View 'v1' created successfully in 'dfs.tmp' schema | +------------+------------+ 1 row selected (0.073 seconds) 0: jdbc:drill:> create view v2 as select * from `employee.csv` union all select * from `employee.csv`; +------------+------------+ | ok | summary | +------------+------------+ | true | View 'v2' created successfully in 'dfs.tmp' schema | +------------+------------+ 1 row selected (0.046 seconds) 0: jdbc:drill:> select * from v1; +------------+ | columns | +------------+ | ["1","John Doe","HR","5000","Software Engineer"] | | ["1","John Doe","HR","5000","Software Engineer"] | +------------+ 2 rows selected (0.087 seconds) 0: jdbc:drill:> select * from v2; +------------+ | columns | +------------+ | ["1","John Doe","HR","5000","Software Engineer"] | | ["1","John Doe","HR","5000","Software Engineer"] | +------------+ 2 rows selected (0.075 seconds) 0: jdbc:drill:> describe v1; +-------------+------------+-------------+ | COLUMN_NAME | DATA_TYPE | IS_NULLABLE | +-------------+------------+-------------+ | * | ANY | NO | +-------------+------------+-------------+ 1 row selected (0.084 seconds) 0: jdbc:drill:> describe v2; +-------------+------------+-------------+ | COLUMN_NAME | DATA_TYPE | IS_NULLABLE | +-------------+------------+-------------+ | * | ANY | NO | +-------------+------------+-------------+ 1 row selected (0.083 seconds) 0: jdbc:drill:> select columns[0] from v1; Query failed: AssertionError: ANY Error: exception while executing query: Failure while executing query. (state=,code=0) {code} {code} Stack trace from driblet.log 2015-03-17 16:40:43,176 [2af7a6f3-bbcf-3a34-dfae-5b5bb11ff4a9:foreman] INFO o.a.d.e.s.schedule.BlockMapBuilder - Get block maps: Executed 1 out of 1 using 1 threads. Time: 1ms total, 1.060851ms avg, 1ms max. 2015-03-17 16:40:43,178 [2af7a6f3-bbcf-3a34-dfae-5b5bb11ff4a9:foreman] INFO o.a.drill.exec.work.foreman.Foreman - State change requested. PENDING --> FAILED org.apache.drill.exec.work.foreman.ForemanException: Unexpected exception during fragment initialization: ANY at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:195) [drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT] at org.apache.drill.exec.work.WorkManager$RunnableWrapper.run(WorkManager.java:303) [drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.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: ANY at org.eigenbase.reltype.RelDataTypeImpl.getFieldCount(RelDataTypeImpl.java:114) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.relopt.RelOptUtil$2.size(RelOptUtil.java:143) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.rex.RexChecker.visitInputRef(RexChecker.java:111) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.rex.RexChecker.visitInputRef(RexChecker.java:55) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.rex.RexInputRef.accept(RexInputRef.java:103) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.rex.RexChecker.visitCall(RexChecker.java:136) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.rex.RexChecker.visitCall(RexChecker.java:55) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.rex.RexCall.accept(RexCall.java:106) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.rex.RexChecker.visitCall(RexChecker.java:136) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.rex.RexChecker.visitCall(RexChecker.java:55) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.rex.RexCall.accept(RexCall.java:106) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.rel.ProjectRelBase.isValid(ProjectRelBase.java:156) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.rel.ProjectRelBase.<init>(ProjectRelBase.java:82) ~[optiq-core-0.9-drill-r20.jar:na] at org.apache.drill.exec.planner.common.DrillProjectRelBase.<init>(DrillProjectRelBase.java:54) ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT] at org.apache.drill.exec.planner.logical.DrillProjectRel.<init>(DrillProjectRel.java:47) ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT] at org.apache.drill.exec.planner.logical.DrillProjectRel.copy(DrillProjectRel.java:53) ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT] at org.eigenbase.rel.ProjectRelBase.copy(ProjectRelBase.java:99) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.relopt.volcano.RelSubset$CheapestPlanReplacer.visit(RelSubset.java:472) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.relopt.volcano.RelSubset.buildCheapestPlan(RelSubset.java:287) ~[optiq-core-0.9-drill-r20.jar:na] at org.eigenbase.relopt.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:677) ~[optiq-core-0.9-drill-r20.jar:na] at net.hydromatic.optiq.tools.Programs$RuleSetProgram.run(Programs.java:165) ~[optiq-core-0.9-drill-r20.jar:na] at net.hydromatic.optiq.prepare.PlannerImpl.transform(PlannerImpl.java:275) ~[optiq-core-0.9-drill-r20.jar:na] at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToDrel(DefaultSqlHandler.java:206) ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT] at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:138) ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT] at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:145) ~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT] at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:509) [drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT] at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:186) [drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT] ... 4 common frames omitted {code} {code} 0: jdbc:drill:> select * from sys.version; +------------+----------------+-------------+-------------+------------+ | commit_id | commit_message | commit_time | build_email | build_time | +------------+----------------+-------------+-------------+------------+ | f658a3c513ddf7f2d1b0ad7aa1f3f65049a594fe | DRILL-2209 Insert ProjectOperator with MuxExchange | 09.03.2015 @ 01:49:18 EDT | Unknown | 09.03.2015 @ 04:50:05 EDT | +------------+----------------+-------------+-------------+------------+ 1 row selected (0.044 seconds) {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)