You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by "Dongkyu Hwangbo (JIRA)" <ji...@apache.org> on 2015/08/11 09:55:45 UTC
[jira] [Updated] (TAJO-1747) internal error is occured while
running q14 in TPC-DS
[ https://issues.apache.org/jira/browse/TAJO-1747?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dongkyu Hwangbo updated TAJO-1747:
----------------------------------
Issue Type: Bug (was: Test)
> 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: Bug
> Components: Benchmark
> Affects Versions: 0.11.0
> Reporter: Dongkyu Hwangbo
> Priority: Minor
> Labels: sql
>
> 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)