[ https://issues.apache.org/jira/browse/DRILL-4510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15271603#comment-15271603 ]
ASF GitHub Bot commented on DRILL-4510: --------------------------------------- GitHub user hsuanyi opened a pull request: https://github.com/apache/drill/pull/498 DRILL-4510: Revert DRILL-4476 since UnionAllRecordBatch cannot determ… …ine if a given record batch is from an empty file or not, just according to the number of rows You can merge this pull request into a Git repository by running: $ git pull https://github.com/hsuanyi/incubator-drill DRILL-4510 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/drill/pull/498.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #498 ---- commit acb00f3a545e2db578aeb2dc14b0180858dd9a5f Author: hsuanyi <hsuanyi...@apache.org> Date: 2016-05-04T22:56:40Z DRILL-4510: Revert DRILL-4476 since UnionAllRecordBatch cannot determine if a given record batch is from an empty file or not, just according to the number of rows ---- > IllegalStateException: Failure while reading vector. Expected vector class > of org.apache.drill.exec.vector.NullableIntVector but was holding vector > class org.apache.drill.exec.vector.NullableVarCharVector > ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: DRILL-4510 > URL: https://issues.apache.org/jira/browse/DRILL-4510 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Data Types > Reporter: Chun Chang > Assignee: Sean Hsuan-Yi Chu > Priority: Critical > > Hit the following regression running advanced automation. Regression happened > between commit b979bebe83d7017880b0763adcbf8eb80acfcee8 and > 1f23b89623c72808f2ee866cec9b4b8a48929d68 > {noformat} > Execution Failures: > /root/drillAutomation/framework-master/framework/resources/Advanced/tpcds/tpcds_sf100/original/query66.sql > Query: > -- start query 66 in stream 0 using template query66.tpl > SELECT w_warehouse_name, > w_warehouse_sq_ft, > w_city, > w_county, > w_state, > w_country, > ship_carriers, > year1, > Sum(jan_sales) AS jan_sales, > Sum(feb_sales) AS feb_sales, > Sum(mar_sales) AS mar_sales, > Sum(apr_sales) AS apr_sales, > Sum(may_sales) AS may_sales, > Sum(jun_sales) AS jun_sales, > Sum(jul_sales) AS jul_sales, > Sum(aug_sales) AS aug_sales, > Sum(sep_sales) AS sep_sales, > Sum(oct_sales) AS oct_sales, > Sum(nov_sales) AS nov_sales, > Sum(dec_sales) AS dec_sales, > Sum(jan_sales / w_warehouse_sq_ft) AS jan_sales_per_sq_foot, > Sum(feb_sales / w_warehouse_sq_ft) AS feb_sales_per_sq_foot, > Sum(mar_sales / w_warehouse_sq_ft) AS mar_sales_per_sq_foot, > Sum(apr_sales / w_warehouse_sq_ft) AS apr_sales_per_sq_foot, > Sum(may_sales / w_warehouse_sq_ft) AS may_sales_per_sq_foot, > Sum(jun_sales / w_warehouse_sq_ft) AS jun_sales_per_sq_foot, > Sum(jul_sales / w_warehouse_sq_ft) AS jul_sales_per_sq_foot, > Sum(aug_sales / w_warehouse_sq_ft) AS aug_sales_per_sq_foot, > Sum(sep_sales / w_warehouse_sq_ft) AS sep_sales_per_sq_foot, > Sum(oct_sales / w_warehouse_sq_ft) AS oct_sales_per_sq_foot, > Sum(nov_sales / w_warehouse_sq_ft) AS nov_sales_per_sq_foot, > Sum(dec_sales / w_warehouse_sq_ft) AS dec_sales_per_sq_foot, > Sum(jan_net) AS jan_net, > Sum(feb_net) AS feb_net, > Sum(mar_net) AS mar_net, > Sum(apr_net) AS apr_net, > Sum(may_net) AS may_net, > Sum(jun_net) AS jun_net, > Sum(jul_net) AS jul_net, > Sum(aug_net) AS aug_net, > Sum(sep_net) AS sep_net, > Sum(oct_net) AS oct_net, > Sum(nov_net) AS nov_net, > Sum(dec_net) AS dec_net > FROM (SELECT w_warehouse_name, > w_warehouse_sq_ft, > w_city, > w_county, > w_state, > w_country, > 'ZOUROS' > || ',' > || 'ZHOU' AS ship_carriers, > d_year AS year1, > Sum(CASE > WHEN d_moy = 1 THEN ws_ext_sales_price * ws_quantity > ELSE 0 > END) AS jan_sales, > Sum(CASE > WHEN d_moy = 2 THEN ws_ext_sales_price * ws_quantity > ELSE 0 > END) AS feb_sales, > Sum(CASE > WHEN d_moy = 3 THEN ws_ext_sales_price * ws_quantity > ELSE 0 > END) AS mar_sales, > Sum(CASE > WHEN d_moy = 4 THEN ws_ext_sales_price * ws_quantity > ELSE 0 > END) AS apr_sales, > Sum(CASE > WHEN d_moy = 5 THEN ws_ext_sales_price * ws_quantity > ELSE 0 > END) AS may_sales, > Sum(CASE > WHEN d_moy = 6 THEN ws_ext_sales_price * ws_quantity > ELSE 0 > END) AS jun_sales, > Sum(CASE > WHEN d_moy = 7 THEN ws_ext_sales_price * ws_quantity > ELSE 0 > END) AS jul_sales, > Sum(CASE > WHEN d_moy = 8 THEN ws_ext_sales_price * ws_quantity > ELSE 0 > END) AS aug_sales, > Sum(CASE > WHEN d_moy = 9 THEN ws_ext_sales_price * ws_quantity > ELSE 0 > END) AS sep_sales, > Sum(CASE > WHEN d_moy = 10 THEN ws_ext_sales_price * ws_quantity > ELSE 0 > END) AS oct_sales, > Sum(CASE > WHEN d_moy = 11 THEN ws_ext_sales_price * ws_quantity > ELSE 0 > END) AS nov_sales, > Sum(CASE > WHEN d_moy = 12 THEN ws_ext_sales_price * ws_quantity > ELSE 0 > END) AS dec_sales, > Sum(CASE > WHEN d_moy = 1 THEN ws_net_paid_inc_ship * ws_quantity > ELSE 0 > END) AS jan_net, > Sum(CASE > WHEN d_moy = 2 THEN ws_net_paid_inc_ship * ws_quantity > ELSE 0 > END) AS feb_net, > Sum(CASE > WHEN d_moy = 3 THEN ws_net_paid_inc_ship * ws_quantity > ELSE 0 > END) AS mar_net, > Sum(CASE > WHEN d_moy = 4 THEN ws_net_paid_inc_ship * ws_quantity > ELSE 0 > END) AS apr_net, > Sum(CASE > WHEN d_moy = 5 THEN ws_net_paid_inc_ship * ws_quantity > ELSE 0 > END) AS may_net, > Sum(CASE > WHEN d_moy = 6 THEN ws_net_paid_inc_ship * ws_quantity > ELSE 0 > END) AS jun_net, > Sum(CASE > WHEN d_moy = 7 THEN ws_net_paid_inc_ship * ws_quantity > ELSE 0 > END) AS jul_net, > Sum(CASE > WHEN d_moy = 8 THEN ws_net_paid_inc_ship * ws_quantity > ELSE 0 > END) AS aug_net, > Sum(CASE > WHEN d_moy = 9 THEN ws_net_paid_inc_ship * ws_quantity > ELSE 0 > END) AS sep_net, > Sum(CASE > WHEN d_moy = 10 THEN ws_net_paid_inc_ship * ws_quantity > ELSE 0 > END) AS oct_net, > Sum(CASE > WHEN d_moy = 11 THEN ws_net_paid_inc_ship * ws_quantity > ELSE 0 > END) AS nov_net, > Sum(CASE > WHEN d_moy = 12 THEN ws_net_paid_inc_ship * ws_quantity > ELSE 0 > END) AS dec_net > FROM web_sales, > warehouse, > date_dim, > time_dim, > ship_mode > WHERE ws_warehouse_sk = w_warehouse_sk > AND ws_sold_date_sk = d_date_sk > AND ws_sold_time_sk = t_time_sk > AND ws_ship_mode_sk = sm_ship_mode_sk > AND d_year = 1998 > AND t_time BETWEEN 7249 AND 7249 + 28800 > AND sm_carrier IN ( 'ZOUROS', 'ZHOU' ) > GROUP BY w_warehouse_name, > w_warehouse_sq_ft, > w_city, > w_county, > w_state, > w_country, > d_year > UNION ALL > SELECT w_warehouse_name, > w_warehouse_sq_ft, > w_city, > w_county, > w_state, > w_country, > 'ZOUROS' > || ',' > || 'ZHOU' AS ship_carriers, > d_year AS year1, > Sum(CASE > WHEN d_moy = 1 THEN cs_ext_sales_price * cs_quantity > ELSE 0 > END) AS jan_sales, > Sum(CASE > WHEN d_moy = 2 THEN cs_ext_sales_price * cs_quantity > ELSE 0 > END) AS feb_sales, > Sum(CASE > WHEN d_moy = 3 THEN cs_ext_sales_price * cs_quantity > ELSE 0 > END) AS mar_sales, > Sum(CASE > WHEN d_moy = 4 THEN cs_ext_sales_price * cs_quantity > ELSE 0 > END) AS apr_sales, > Sum(CASE > WHEN d_moy = 5 THEN cs_ext_sales_price * cs_quantity > ELSE 0 > END) AS may_sales, > Sum(CASE > WHEN d_moy = 6 THEN cs_ext_sales_price * cs_quantity > ELSE 0 > END) AS jun_sales, > Sum(CASE > WHEN d_moy = 7 THEN cs_ext_sales_price * cs_quantity > ELSE 0 > END) AS jul_sales, > Sum(CASE > WHEN d_moy = 8 THEN cs_ext_sales_price * cs_quantity > ELSE 0 > END) AS aug_sales, > Sum(CASE > WHEN d_moy = 9 THEN cs_ext_sales_price * cs_quantity > ELSE 0 > END) AS sep_sales, > Sum(CASE > WHEN d_moy = 10 THEN cs_ext_sales_price * cs_quantity > ELSE 0 > END) AS oct_sales, > Sum(CASE > WHEN d_moy = 11 THEN cs_ext_sales_price * cs_quantity > ELSE 0 > END) AS nov_sales, > Sum(CASE > WHEN d_moy = 12 THEN cs_ext_sales_price * cs_quantity > ELSE 0 > END) AS dec_sales, > Sum(CASE > WHEN d_moy = 1 THEN cs_net_paid * cs_quantity > ELSE 0 > END) AS jan_net, > Sum(CASE > WHEN d_moy = 2 THEN cs_net_paid * cs_quantity > ELSE 0 > END) AS feb_net, > Sum(CASE > WHEN d_moy = 3 THEN cs_net_paid * cs_quantity > ELSE 0 > END) AS mar_net, > Sum(CASE > WHEN d_moy = 4 THEN cs_net_paid * cs_quantity > ELSE 0 > END) AS apr_net, > Sum(CASE > WHEN d_moy = 5 THEN cs_net_paid * cs_quantity > ELSE 0 > END) AS may_net, > Sum(CASE > WHEN d_moy = 6 THEN cs_net_paid * cs_quantity > ELSE 0 > END) AS jun_net, > Sum(CASE > WHEN d_moy = 7 THEN cs_net_paid * cs_quantity > ELSE 0 > END) AS jul_net, > Sum(CASE > WHEN d_moy = 8 THEN cs_net_paid * cs_quantity > ELSE 0 > END) AS aug_net, > Sum(CASE > WHEN d_moy = 9 THEN cs_net_paid * cs_quantity > ELSE 0 > END) AS sep_net, > Sum(CASE > WHEN d_moy = 10 THEN cs_net_paid * cs_quantity > ELSE 0 > END) AS oct_net, > Sum(CASE > WHEN d_moy = 11 THEN cs_net_paid * cs_quantity > ELSE 0 > END) AS nov_net, > Sum(CASE > WHEN d_moy = 12 THEN cs_net_paid * cs_quantity > ELSE 0 > END) AS dec_net > FROM catalog_sales, > warehouse, > date_dim, > time_dim, > ship_mode > WHERE cs_warehouse_sk = w_warehouse_sk > AND cs_sold_date_sk = d_date_sk > AND cs_sold_time_sk = t_time_sk > AND cs_ship_mode_sk = sm_ship_mode_sk > AND d_year = 1998 > AND t_time BETWEEN 7249 AND 7249 + 28800 > AND sm_carrier IN ( 'ZOUROS', 'ZHOU' ) > GROUP BY w_warehouse_name, > w_warehouse_sq_ft, > w_city, > w_county, > w_state, > w_country, > d_year) x > GROUP BY w_warehouse_name, > w_warehouse_sq_ft, > w_city, > w_county, > w_state, > w_country, > ship_carriers, > year1 > ORDER BY w_warehouse_name > LIMIT 100 > Failed with exception > java.sql.SQLException: SYSTEM ERROR: IllegalStateException: Failure while > reading vector. Expected vector class of > org.apache.drill.exec.vector.NullableIntVector but was holding vector class > org.apache.drill.exec.vector.NullableVarCharVector, field= > w_warehouse_name(VARCHAR:OPTIONAL)[$bits$(UINT1:REQUIRED), > w_warehouse_name(VARCHAR:OPTIONAL)[$offsets$(UINT4:REQUIRED)]] > Fragment 3:2 > [Error Id: 9e1cd78a-8a8e-497b-b72d-24c74795887b on atsqa6c87.qa.lab:31010] > at > org.apache.drill.jdbc.impl.DrillCursor.nextRowInternally(DrillCursor.java:247) > at org.apache.drill.jdbc.impl.DrillCursor.next(DrillCursor.java:321) > at > oadd.net.hydromatic.avatica.AvaticaResultSet.next(AvaticaResultSet.java:187) > at > org.apache.drill.jdbc.impl.DrillResultSetImpl.next(DrillResultSetImpl.java:172) > at > org.apache.drill.test.framework.DrillTestJdbc.executeQuery(DrillTestJdbc.java:203) > at > org.apache.drill.test.framework.DrillTestJdbc.run(DrillTestJdbc.java:93) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:744) > Caused by: oadd.org.apache.drill.common.exceptions.UserRemoteException: > SYSTEM ERROR: IllegalStateException: Failure while reading vector. Expected > vector class of org.apache.drill.exec.vector.NullableIntVector but was > holding vector class org.apache.drill.exec.vector.NullableVarCharVector, > field= w_warehouse_name(VARCHAR:OPTIONAL)[$bits$(UINT1:REQUIRED), > w_warehouse_name(VARCHAR:OPTIONAL)[$offsets$(UINT4:REQUIRED)]] > Fragment 3:2 > [Error Id: 9e1cd78a-8a8e-497b-b72d-24c74795887b on atsqa6c87.qa.lab:31010] > at > oadd.org.apache.drill.exec.rpc.user.QueryResultHandler.resultArrived(QueryResultHandler.java:119) > at > oadd.org.apache.drill.exec.rpc.user.UserClient.handleReponse(UserClient.java:113) > at > oadd.org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:46) > at > oadd.org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:31) > at oadd.org.apache.drill.exec.rpc.RpcBus.handle(RpcBus.java:67) > at > oadd.org.apache.drill.exec.rpc.RpcBus$RequestEvent.run(RpcBus.java:374) > at > oadd.org.apache.drill.common.SerializedExecutor$RunnableProcessor.run(SerializedExecutor.java:89) > at > oadd.org.apache.drill.exec.rpc.RpcBus$SameExecutor.execute(RpcBus.java:252) > at > oadd.org.apache.drill.common.SerializedExecutor.execute(SerializedExecutor.java:123) > at > oadd.org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:285) > at > oadd.org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:257) > at > oadd.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) > at > oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) > at > oadd.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) > at > oadd.io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:254) > at > oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) > at > oadd.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) > at > oadd.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) > at > oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) > at > oadd.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) > at > oadd.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242) > at > oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) > at > oadd.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) > at > oadd.io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) > at > oadd.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) > at > oadd.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) > at > oadd.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847) > at > oadd.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) > at > oadd.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) > at > oadd.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) > at > oadd.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) > at oadd.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) > at > oadd.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111) > ... 1 more > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)