Jihoon Son created TAJO-1606:
--------------------------------

             Summary: IF NOT EXISTS is not checked for CTAS queries
                 Key: TAJO-1606
                 URL: https://issues.apache.org/jira/browse/TAJO-1606
             Project: Tajo
          Issue Type: Bug
          Components: query master
            Reporter: Jihoon Son
             Fix For: 0.11.0


When there is a table named test, the following query should not be executed.
{noformat}
default> create table if not exists test (n_nationkey int8, n_name text, 
n_comment text) partition by column (n_regionkey int8) as select * from nation;
Progress: 100%, response time: 0.544 sec
(25 rows, 0.544 sec, 317 B inserted)
{noformat}
However, according to the log, you can find AlreadyExistsTableException 
generated after executing the query.
{noformat}
2015-05-15 15:47:13,217 INFO org.apache.tajo.master.exec.QueryExecutor: Query 
q_1431671196171_0006,create table if not exists test (n_nationkey int8, n_name 
text, n_comment text) partition by column (n_regionkey int8) as select * from 
nation, is forwarded to :0
2015-05-15 15:47:13,217 INFO org.apache.tajo.master.QueryInProgress: 
Initializing QueryInProgress for QueryID=q_1431671196171_0006
2015-05-15 15:47:13,219 INFO org.apache.tajo.master.QueryInProgress: Connect to 
QueryMaster:sonjihoonui-mbp/192.168.33.197:28093
2015-05-15 15:47:13,221 INFO org.apache.tajo.master.QueryInProgress: Call 
executeQuery to :sonjihoonui-mbp:28093,q_1431671196171_0006
2015-05-15 15:47:13,411 INFO 
org.apache.tajo.master.rm.TajoWorkerResourceManager: Release Resource: 0.5,512
2015-05-15 15:47:13,686 INFO org.apache.tajo.master.QueryInProgress: Received 
QueryMaster heartbeat:q_1431671196171_0006,state=QUERY_RUNNING,progress=0.5, 
queryMaster=sonjihoonui-mbp
2015-05-15 15:47:13,729 INFO 
org.apache.tajo.master.rm.TajoWorkerResourceManager: Release Resource: 0.5,512
2015-05-15 15:47:13,759 ERROR org.apache.tajo.catalog.CatalogServer: relation " 
test " already exists in default
org.apache.tajo.catalog.exception.AlreadyExistsTableException: relation " test 
" already exists in default
        at 
org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.createTable(CatalogServer.java:599)
        at 
org.apache.tajo.catalog.CatalogProtocol$CatalogProtocolService$2.callBlockingMethod(CatalogProtocol.java:731)
        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:182)
        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:130)
        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:116)
        at java.lang.Thread.run(Thread.java:745)
{noformat}



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

Reply via email to