Chun Chang created DRILL-1200:
---------------------------------
Summary: mondrian2580.q - cause schema change exception
Key: DRILL-1200
URL: https://issues.apache.org/jira/browse/DRILL-1200
Project: Apache Drill
Issue Type: Bug
Components: Execution - Flow
Reporter: Chun Chang
#Mon Jul 21 10:24:21 PDT 2014
git.commit.id.abbrev=e5c2da0
The following mondrian query (query2580.q) caused schema change exception:
0: jdbc:drill:schema=dfs> select time_by_day.the_year as c0,
sum(sales_fact_1997.unit_sales) as m0, sum(sales_fact_1997.store_cost) as m1,
sum(sales_fact_1997.store_sales) as m2, count(sales_fact_1997.product_id) as
m3, count(distinct sales_fact_1997.customer_id) as m4, sum((case when
sales_fact_1997.promotion_id = 0 then 0 else sales_fact_1997.store_sales end))
as m5 from time_by_day as time_by_day, sales_fact_1997 as sales_fact_1997 where
sales_fact_1997.time_id = time_by_day.time_id and time_by_day.the_year = 1997
group by time_by_day.the_year;
Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while
running query.[error_id: "b9fa1177-505a-4ae1-9d44-52b1d40f9a92"
endpoint {
address: "qa-node120.qa.lab"
user_port: 31010
control_port: 31011
data_port: 31012
}
error_type: 0
message: "Failure while running fragment. < IllegalStateException:[ You tried
to do a batch data read operation when you were in a state of STOP. You can
only do this type of operation when you are in a state of OK or OK_NEW_SCHEMA.
]"
]
Error: exception while executing query (state=,code=0)
physical plan:
14:31:16.198 [19aa0bca-d59e-4061-962d-b3fabb0f24b7:foreman] DEBUG
o.a.d.e.p.s.h.DefaultSqlHandler - Drill Physical :
00-00 Screen: rowcount = 1.0, cumulative cost = {874658.1 rows, 3052726.1
cpu, 0.0 io, 0.0 network}, id = 3109
00-01 Project(c0=[$0], m0=[$1], m1=[$2], m2=[$3], m3=[$4], m4=[$5],
m5=[$6]): rowcount = 1.0, cumulative cost = {874658.0 rows, 3052726.0 cpu, 0.0
io, 0.0 network}, id = 3108
00-02 Project(c0=[$0], m0=[CASE(=($2, 0), null, $1)], m1=[CASE(=($4, 0),
null, $3)], m2=[CASE(=($6, 0), null, $5)], m3=[$7], m4=[$11], m5=[CASE(=($9,
0), null, $8)]): rowcount = 1.0, cumulative cost = {874657.0 rows, 3052698.0
cpu, 0.0 io, 0.0 network}, id = 3107
00-03 HashJoin(condition=[IS NOT DISTINCT FROM($0, $10)],
joinType=[inner]): rowcount = 1.0, cumulative cost = {874656.0 rows, 3052670.0
cpu, 0.0 io, 0.0 network}, id = 3106
00-05 HashAgg(group=[{0}], agg#0=[$SUM0($1)], agg#1=[COUNT($1)],
agg#2=[$SUM0($2)], agg#3=[COUNT($2)], agg#4=[$SUM0($3)], agg#5=[COUNT($3)],
m3=[COUNT($4)], agg#7=[$SUM0($6)], agg#8=[COUNT($6)]): rowcount = 1.0,
cumulative cost = {437326.0 rows, 1743481.5 cpu, 0.0 io, 0.0 network}, id = 3093
00-07 Project(c0=[$0], unit_sales=[$3], store_cost=[$4],
store_sales=[$5], product_id=[$6], customer_id=[$7],
$f6=[CASE(=(CAST($8):INTEGER, 0), CAST(0):ANY, $5)]): rowcount = 1.0,
cumulative cost = {437325.0 rows, 1743365.5 cpu, 0.0 io, 0.0 network}, id = 3092
00-09 HashJoin(condition=[=($2, $1)], joinType=[inner]):
rowcount = 1.0, cumulative cost = {437324.0 rows, 1743337.5 cpu, 0.0 io, 0.0
network}, id = 3091
00-12 SelectionVectorRemover: rowcount = 109.5, cumulative
cost = {3029.5 rows, 5227.5 cpu, 0.0 io, 0.0 network}, id = 3087
00-15 Filter(condition=[=(CAST($0):INTEGER, 1997)]):
rowcount = 109.5, cumulative cost = {2920.0 rows, 5118.0 cpu, 0.0 io, 0.0
network}, id = 3086
00-19 Project(the_year=[$1], time_id=[$0]): rowcount =
730.0, cumulative cost = {2190.0 rows, 2198.0 cpu, 0.0 io, 0.0 network}, id =
3085
00-23 ProducerConsumer: rowcount = 730.0, cumulative
cost = {1460.0 rows, 2190.0 cpu, 0.0 io, 0.0 network}, id = 3084
00-26 Scan(groupscan=[ParquetGroupScan
[entries=[ReadEntryWithPath [path=maprfs:/user/root/mondrian/time_by_day]],
selectionRoot=/user/root/mondrian/time_by_day, columns=[SchemaPath
[`the_year`], SchemaPath [`time_id`]]]]): rowcount = 730.0, cumulative cost =
{730.0 rows, 1460.0 cpu, 0.0 io, 0.0 network}, id = 3058
00-11 Project(time_id0=[$0], unit_sales=[$1], store_cost=[$2],
store_sales=[$3], product_id=[$4], customer_id=[$5], promotion_id=[$6]):
rowcount = 86837.0, cumulative cost = {347348.0 rows, 694752.0 cpu, 0.0 io, 0.0
network}, id = 3090
00-14 Project(time_id=[$4], unit_sales=[$1],
store_cost=[$5], store_sales=[$6], product_id=[$2], customer_id=[$0],
promotion_id=[$3]): rowcount = 86837.0, cumulative cost = {260511.0 rows,
694724.0 cpu, 0.0 io, 0.0 network}, id = 3089
00-18 ProducerConsumer: rowcount = 86837.0, cumulative
cost = {173674.0 rows, 694696.0 cpu, 0.0 io, 0.0 network}, id = 3088
00-22 Scan(groupscan=[ParquetGroupScan
[entries=[ReadEntryWithPath [path=maprfs:/user/root/mondrian/sales_fact_1997]],
selectionRoot=/user/root/mondrian/sales_fact_1997, columns=[SchemaPath
[`time_id`], SchemaPath [`unit_sales`], SchemaPath [`store_cost`], SchemaPath
[`store_sales`], SchemaPath [`product_id`], SchemaPath [`customer_id`],
SchemaPath [`promotion_id`]]]]): rowcount = 86837.0, cumulative cost = {86837.0
rows, 607859.0 cpu, 0.0 io, 0.0 network}, id = 3062
00-04 Project(c00=[$0], m4=[$1]): rowcount = 1.0, cumulative cost =
{437328.0 rows, 1309164.5 cpu, 0.0 io, 0.0 network}, id = 3105
00-06 HashAgg(group=[{0}], m4=[COUNT($1)]): rowcount = 1.0,
cumulative cost = {437327.0 rows, 1309156.5 cpu, 0.0 io, 0.0 network}, id = 3104
00-08 HashAgg(group=[{0, 1}]): rowcount = 1.0, cumulative cost =
{437326.0 rows, 1309136.5 cpu, 0.0 io, 0.0 network}, id = 3103
00-10 Project(c0=[$0], customer_id=[$3]): rowcount = 1.0,
cumulative cost = {437325.0 rows, 1309120.5 cpu, 0.0 io, 0.0 network}, id = 3102
00-13 HashJoin(condition=[=($2, $1)], joinType=[inner]):
rowcount = 1.0, cumulative cost = {437324.0 rows, 1309112.5 cpu, 0.0 io, 0.0
network}, id = 3101
00-17 SelectionVectorRemover: rowcount = 109.5, cumulative
cost = {3029.5 rows, 5227.5 cpu, 0.0 io, 0.0 network}, id = 3097
00-21 Filter(condition=[=(CAST($0):INTEGER, 1997)]):
rowcount = 109.5, cumulative cost = {2920.0 rows, 5118.0 cpu, 0.0 io, 0.0
network}, id = 3096
00-25 Project(the_year=[$1], time_id=[$0]): rowcount =
730.0, cumulative cost = {2190.0 rows, 2198.0 cpu, 0.0 io, 0.0 network}, id =
3095
00-28 ProducerConsumer: rowcount = 730.0, cumulative
cost = {1460.0 rows, 2190.0 cpu, 0.0 io, 0.0 network}, id = 3094
00-29 Scan(groupscan=[ParquetGroupScan
[entries=[ReadEntryWithPath [path=maprfs:/user/root/mondrian/time_by_day]],
selectionRoot=/user/root/mondrian/time_by_day, columns=[SchemaPath
[`the_year`], SchemaPath [`time_id`]]]]): rowcount = 730.0, cumulative cost =
{730.0 rows, 1460.0 cpu, 0.0 io, 0.0 network}, id = 3068
00-16 Project(time_id0=[$0], customer_id=[$1]): rowcount =
86837.0, cumulative cost = {347348.0 rows, 260527.0 cpu, 0.0 io, 0.0 network},
id = 3100
00-20 Project(time_id=[$1], customer_id=[$0]): rowcount
= 86837.0, cumulative cost = {260511.0 rows, 260519.0 cpu, 0.0 io, 0.0
network}, id = 3099
00-24 ProducerConsumer: rowcount = 86837.0, cumulative
cost = {173674.0 rows, 260511.0 cpu, 0.0 io, 0.0 network}, id = 3098
00-27 Scan(groupscan=[ParquetGroupScan
[entries=[ReadEntryWithPath [path=maprfs:/user/root/mondrian/sales_fact_1997]],
selectionRoot=/user/root/mondrian/sales_fact_1997, columns=[SchemaPath
[`time_id`], SchemaPath [`customer_id`]]]]): rowcount = 86837.0, cumulative
cost = {86837.0 rows, 173674.0 cpu, 0.0 io, 0.0 network}, id = 3072
14:31:16.352 [19aa0bca-d59e-4061-962d-b3fabb0f24b7:foreman] DEBUG
o.a.d.e.p.s.h.DefaultSqlHandler - Drill Plan :
{
"head" : {
"version" : 1,
"generator" : {
"type" : "DefaultSqlHandler",
"info" : ""
},
"type" : "APACHE_DRILL_PHYSICAL",
"options" : [ ],
"queue" : 0,
"resultMode" : "EXEC"
},
"graph" : [ {
"pop" : "parquet-scan",
"@id" : 27,
"entries" : [ {
"path" : "maprfs:/user/root/mondrian/sales_fact_1997"
} ],
"storage" : {
"type" : "file",
"enabled" : true,
"connection" : "maprfs:///",
"workspaces" : {
"default" : {
"location" : "/user/root/mondrian/",
"writable" : false,
"storageformat" : null
},
"home" : {
"location" : "/",
"writable" : false,
"storageformat" : null
},
"root" : {
"location" : "/",
"writable" : false,
"storageformat" : null
},
"tmp" : {
"location" : "/tmp",
"writable" : true,
"storageformat" : "csv"
}
},
"formats" : {
"psv" : {
"type" : "text",
"extensions" : [ "tbl" ],
"delimiter" : "|"
},
"csv" : {
"type" : "text",
"extensions" : [ "csv" ],
"delimiter" : ","
},
"tsv" : {
"type" : "text",
"extensions" : [ "tsv" ],
"delimiter" : "\t"
},
"parquet" : {
"type" : "parquet"
},
"json" : {
"type" : "json"
}
}
},
"format" : {
"type" : "parquet"
},
"columns" : [ "`time_id`", "`customer_id`" ],
"selectionRoot" : "/user/root/mondrian/sales_fact_1997",
"cost" : 86837.0
}, {
"pop" : "producer-consumer",
"@id" : 24,
"child" : 27,
"size" : 10,
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"cost" : 86837.0
}, {
"pop" : "project",
"@id" : 20,
"exprs" : [ {
"ref" : "`time_id`",
"expr" : "`time_id`"
}, {
"ref" : "`customer_id`",
"expr" : "`customer_id`"
} ],
"child" : 24,
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"cost" : 86837.0
}, {
"pop" : "project",
"@id" : 16,
"exprs" : [ {
"ref" : "`time_id0`",
"expr" : "`time_id`"
}, {
"ref" : "`customer_id`",
"expr" : "`customer_id`"
} ],
"child" : 20,
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"cost" : 86837.0
}, {
"pop" : "parquet-scan",
"@id" : 22,
"entries" : [ {
"path" : "maprfs:/user/root/mondrian/sales_fact_1997"
} ],
"storage" : {
"type" : "file",
"enabled" : true,
"connection" : "maprfs:///",
"workspaces" : {
"default" : {
"location" : "/user/root/mondrian/",
"writable" : false,
"storageformat" : null
},
"home" : {
"location" : "/",
"writable" : false,
"storageformat" : null
},
"root" : {
"location" : "/",
"writable" : false,
"storageformat" : null
},
"tmp" : {
"location" : "/tmp",
"writable" : true,
"storageformat" : "csv"
}
},
"formats" : {
"psv" : {
"type" : "text",
"extensions" : [ "tbl" ],
"delimiter" : "|"
},
"csv" : {
"type" : "text",
"extensions" : [ "csv" ],
"delimiter" : ","
},
"tsv" : {
"type" : "text",
"extensions" : [ "tsv" ],
"delimiter" : "\t"
},
"parquet" : {
"type" : "parquet"
},
"json" : {
"type" : "json"
}
}
},
"format" : {
"type" : "parquet"
},
"columns" : [ "`time_id`", "`unit_sales`", "`store_cost`", "`store_sales`",
"`product_id`", "`customer_id`", "`promotion_id`" ],
"selectionRoot" : "/user/root/mondrian/sales_fact_1997",
"cost" : 86837.0
}, {
"pop" : "producer-consumer",
"@id" : 18,
"child" : 22,
"size" : 10,
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"cost" : 86837.0
}, {
"pop" : "project",
"@id" : 14,
"exprs" : [ {
"ref" : "`time_id`",
"expr" : "`time_id`"
}, {
"ref" : "`unit_sales`",
"expr" : "`unit_sales`"
}, {
"ref" : "`store_cost`",
"expr" : "`store_cost`"
}, {
"ref" : "`store_sales`",
"expr" : "`store_sales`"
}, {
"ref" : "`product_id`",
"expr" : "`product_id`"
}, {
"ref" : "`customer_id`",
"expr" : "`customer_id`"
}, {
"ref" : "`promotion_id`",
"expr" : "`promotion_id`"
} ],
"child" : 18,
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"cost" : 86837.0
}, {
"pop" : "project",
"@id" : 11,
"exprs" : [ {
"ref" : "`time_id0`",
"expr" : "`time_id`"
}, {
"ref" : "`unit_sales`",
"expr" : "`unit_sales`"
}, {
"ref" : "`store_cost`",
"expr" : "`store_cost`"
}, {
"ref" : "`store_sales`",
"expr" : "`store_sales`"
}, {
"ref" : "`product_id`",
"expr" : "`product_id`"
}, {
"ref" : "`customer_id`",
"expr" : "`customer_id`"
}, {
"ref" : "`promotion_id`",
"expr" : "`promotion_id`"
} ],
"child" : 14,
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"cost" : 86837.0
}, {
"pop" : "parquet-scan",
"@id" : 26,
"entries" : [ {
"path" : "maprfs:/user/root/mondrian/time_by_day"
} ],
"storage" : {
"type" : "file",
"enabled" : true,
"connection" : "maprfs:///",
"workspaces" : {
"default" : {
"location" : "/user/root/mondrian/",
"writable" : false,
"storageformat" : null
},
"home" : {
"location" : "/",
"writable" : false,
"storageformat" : null
},
"root" : {
"location" : "/",
"writable" : false,
"storageformat" : null
},
"tmp" : {
"location" : "/tmp",
"writable" : true,
"storageformat" : "csv"
}
},
"formats" : {
"psv" : {
"type" : "text",
"extensions" : [ "tbl" ],
"delimiter" : "|"
},
"csv" : {
"type" : "text",
"extensions" : [ "csv" ],
"delimiter" : ","
},
"tsv" : {
"type" : "text",
"extensions" : [ "tsv" ],
"delimiter" : "\t"
},
"parquet" : {
"type" : "parquet"
},
"json" : {
"type" : "json"
}
}
},
"format" : {
"type" : "parquet"
},
"columns" : [ "`the_year`", "`time_id`" ],
"selectionRoot" : "/user/root/mondrian/time_by_day",
"cost" : 730.0
}, {
"pop" : "producer-consumer",
"@id" : 23,
"child" : 26,
"size" : 10,
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"cost" : 730.0
}, {
"pop" : "project",
"@id" : 19,
"exprs" : [ {
"ref" : "`the_year`",
"expr" : "`the_year`"
}, {
"ref" : "`time_id`",
"expr" : "`time_id`"
} ],
"child" : 23,
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"cost" : 730.0
}, {
"pop" : "filter",
"@id" : 15,
"child" : 19,
"expr" : "equal(cast( (`the_year` ) as INT ), 1997) ",
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"cost" : 109.5
}, {
"pop" : "selection-vector-remover",
"@id" : 12,
"child" : 15,
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"cost" : 109.5
}, {
"pop" : "hash-join",
"@id" : 9,
"left" : 12,
"right" : 11,
"conditions" : [ {
"relationship" : "==",
"left" : "`time_id`",
"right" : "`time_id0`"
} ],
"joinType" : "INNER",
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"cost" : 0.0
}, {
"pop" : "project",
"@id" : 7,
"exprs" : [ {
"ref" : "`c0`",
"expr" : "`the_year`"
}, {
"ref" : "`unit_sales`",
"expr" : "`unit_sales`"
}, {
"ref" : "`store_cost`",
"expr" : "`store_cost`"
}, {
"ref" : "`store_sales`",
"expr" : "`store_sales`"
}, {
"ref" : "`product_id`",
"expr" : "`product_id`"
}, {
"ref" : "`customer_id`",
"expr" : "`customer_id`"
}, {
"ref" : "`$f6`",
"expr" : " ( if (equal(cast( (`promotion_id` ) as INT ), 0) ) then (0 )
else (`store_sales` ) end ) "
} ],
"child" : 9,
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"cost" : 1.0
}, {
"pop" : "hash-aggregate",
"@id" : 5,
"child" : 7,
"cardinality" : 1.0,
"initialAllocation" : 1000000,
"maxAllocation" : 10000000000,
"cost" : 0.5,
"groupByExprs" : [ {
"ref" : "`c0`",
"expr" : "`c0`"
} ],
"aggrExprs" : [ {
"ref" : "`$f1`",
"expr" : "$sum0(`unit_sales`) "
}, {
"ref" : "`$f2`",
"expr" : "count(`unit_sales`) "
}, {
"ref" : "`$f3`",
"expr" : "$sum0(`store_cost`) "
}, {
"ref" : "`$f4`",
"expr" : "count(`store_cost`) "
}, {
"ref" : "`$f5`",
"expr" : "$sum0(`store_sales`) "
}, {
"ref" : "`$f6`",
"expr" : "count(`store_sales`) "
}, {
"ref" : "`m3`",
"expr" : "count(`product_id`) "
}, {
"ref" : "`$f8`",
"expr" : "$sum0(`$f6`) "
}, {
"ref" : "`$f9`",
"expr" : "count(`$f6`) "
} ]
}, {
"pop" : "parquet-scan",
"@id" : 29,
"entries" : [ {
"path" : "maprfs:/user/root/mondrian/time_by_day"
} ],
"storage" : {
"type" : "file",
"enabled" : true,
"connection" : "maprfs:///",
"workspaces" : {
"default" : {
"location" : "/user/root/mondrian/",
"writable" : false,
....
This is too long. Will regenerate the plan if needed.
--
This message was sent by Atlassian JIRA
(v6.2#6252)