Dongkyu Hwangbo created TAJO-1747:
-------------------------------------

             Summary: internal error is occured while running q14 in TPC-DS
                 Key: TAJO-1747
                 URL: https://issues.apache.org/jira/browse/TAJO-1747
             Project: Tajo
          Issue Type: Test
          Components: Benchmark
    Affects Versions: 0.11.0
            Reporter: Dongkyu Hwangbo
            Priority: Minor


Cannot run 'with' with tajo, so I'm modifying a part of origin query.

Origin query
{code:SQL}
with  cross_items as
 (select i_item_sk ss_item_sk
 from item,
 (select iss.i_brand_id brand_id
     ,iss.i_class_id class_id
     ,iss.i_category_id category_id
 from store_sales
     ,item iss
     ,date_dim d1
 where ss_item_sk = iss.i_item_sk
   and ss_sold_date_sk = d1.d_date_sk
   and d1.d_year between 1999 AND 1999 + 2
 intersect 
 select ics.i_brand_id
     ,ics.i_class_id
     ,ics.i_category_id
 from catalog_sales
     ,item ics
     ,date_dim d2
 where cs_item_sk = ics.i_item_sk
   and cs_sold_date_sk = d2.d_date_sk
   and d2.d_year between 1999 AND 1999 + 2
 intersect
 select iws.i_brand_id
     ,iws.i_class_id
     ,iws.i_category_id
 from web_sales
     ,item iws
     ,date_dim d3
 where ws_item_sk = iws.i_item_sk
   and ws_sold_date_sk = d3.d_date_sk
   and d3.d_year between 1999 AND 1999 + 2)
 where i_brand_id = brand_id
      and i_class_id = class_id
      and i_category_id = category_id
)
{code}

modified query
{code:SQL}
create table cross_items_temp(brand_id bigint, class_id bigint, category_id 
bigint);

insert overwrite into cross_items_temp
select iss.i_brand_id brand_id
     ,iss.i_class_id class_id
     ,iss.i_category_id category_id
 from store_sales
     ,item iss
     ,date_dim d1
 where ss_item_sk = iss.i_item_sk
   and ss_sold_date_sk = d1.d_date_sk
   and d1.d_year between 1999 AND 1999 + 2
 intersect 
 select ics.i_brand_id
     ,ics.i_class_id
     ,ics.i_category_id
 from catalog_sales
     ,item ics
     ,date_dim d2
 where cs_item_sk = ics.i_item_sk
   and cs_sold_date_sk = d2.d_date_sk
   and d2.d_year between 1999 AND 1999 + 2
 intersect
 select iws.i_brand_id
     ,iws.i_class_id
     ,iws.i_category_id
 from web_sales
     ,item iws
     ,date_dim d3
 where ws_item_sk = iws.i_item_sk
   and ws_sold_date_sk = d3.d_date_sk
   and d3.d_year between 1999 AND 1999 + 2;
{code}

but i take an internal error
{noformat}
ERROR: internal error: %s: org.apache.tajo.plan.logical.ProjectionNode cannot 
be cast to org.apache.tajo.plan.logical.BinaryNode
{noformat}

here is master log
{code:java}
2015-08-07 17:31:42,503 INFO org.apache.tajo.master.GlobalEngine: Query: insert 
overwrite into cross_items_temp
select iss.i_brand_id brand_id
     ,iss.i_class_id class_id
     ,iss.i_category_id category_id
 from store_sales
     ,item iss
     ,date_dim d1
 where ss_item_sk = iss.i_item_sk
   and ss_sold_date_sk = d1.d_date_sk
   and d1.d_year between 1999 AND 1999 + 2
 intersect 
 select ics.i_brand_id
     ,ics.i_class_id
     ,ics.i_category_id
 from catalog_sales
     ,item ics
     ,date_dim d2
 where cs_item_sk = ics.i_item_sk
   and cs_sold_date_sk = d2.d_date_sk
   and d2.d_year between 1999 AND 1999 + 2
 intersect
 select iws.i_brand_id
     ,iws.i_class_id
     ,iws.i_category_id
 from web_sales
     ,item iws
     ,date_dim d3
 where ws_item_sk = iws.i_item_sk
   and ws_sold_date_sk = d3.d_date_sk
   and d3.d_year between 1999 AND 1999 + 2
2015-08-07 17:31:42,550 ERROR org.apache.tajo.master.GlobalEngine: 
Stack Trace:
java.lang.ClassCastException: org.apache.tajo.plan.logical.ProjectionNode 
cannot be cast to org.apache.tajo.plan.logical.BinaryNode
        at 
org.apache.tajo.plan.LogicalPlanner.buildSetPlan(LogicalPlanner.java:1555)
        at 
org.apache.tajo.plan.LogicalPlanner.visitIntersect(LogicalPlanner.java:1517)
        at 
org.apache.tajo.plan.LogicalPlanner.visitIntersect(LogicalPlanner.java:76)
        at 
org.apache.tajo.plan.algebra.BaseAlgebraVisitor.visit(BaseAlgebraVisitor.java:87)
        at 
org.apache.tajo.plan.LogicalPlanner.buildSetPlan(LogicalPlanner.java:1533)
        at 
org.apache.tajo.plan.LogicalPlanner.visitIntersect(LogicalPlanner.java:1517)
        at 
org.apache.tajo.plan.LogicalPlanner.visitIntersect(LogicalPlanner.java:76)
        at 
org.apache.tajo.plan.algebra.BaseAlgebraVisitor.visit(BaseAlgebraVisitor.java:87)
        at 
org.apache.tajo.plan.algebra.BaseAlgebraVisitor.visitInsert(BaseAlgebraVisitor.java:510)
        at 
org.apache.tajo.plan.LogicalPlanner.visitInsert(LogicalPlanner.java:1581)
        at 
org.apache.tajo.plan.LogicalPlanner.visitInsert(LogicalPlanner.java:76)
        at 
org.apache.tajo.plan.algebra.BaseAlgebraVisitor.visit(BaseAlgebraVisitor.java:137)
        at 
org.apache.tajo.plan.LogicalPlanner.createPlan(LogicalPlanner.java:161)
        at 
org.apache.tajo.plan.LogicalPlanner.createPlan(LogicalPlanner.java:149)
        at 
org.apache.tajo.master.GlobalEngine.createLogicalPlan(GlobalEngine.java:272)
        at 
org.apache.tajo.master.GlobalEngine.executeQuery(GlobalEngine.java:194)
        at 
org.apache.tajo.master.TajoMasterClientService$TajoMasterClientProtocolServiceHandler.submitQuery(TajoMasterClientService.java:304)
        at 
org.apache.tajo.ipc.TajoMasterClientProtocol$TajoMasterClientProtocolService$2.callBlockingMethod(TajoMasterClientProtocol.java:659)
        at 
org.apache.tajo.rpc.BlockingRpcServer$ServerHandler.channelRead0(BlockingRpcServer.java:100)
        at 
org.apache.tajo.rpc.BlockingRpcServer$ServerHandler.channelRead0(BlockingRpcServer.java:61)
        at 
io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
        at 
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
        at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:244)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
        at 
io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
        at 
org.apache.tajo.rpc.MonitorServerHandler.channelRead(MonitorServerHandler.java:70)
        at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
        at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
        at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
        at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
        at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
        at 
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)
        at java.lang.Thread.run(Thread.java:745)
{code}



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

Reply via email to