Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-4510

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Cannot Reproduce
    • None
    • None
    • Execution - Data Types
    • None

    Description

      Hit the following regression running advanced automation. Regression happened between commit b979bebe83d7017880b0763adcbf8eb80acfcee8 and 1f23b89623c72808f2ee866cec9b4b8a48929d68

      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
      

      Attachments

        Issue Links

          Activity

            People

              dzamo James Turton
              cchang@maprtech.com Chun Chang
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: