hyunsik/tajo — pull request #84 by hyunsik (2013-01-10 09:37:23+00:00)
Title: DDL statements cause NPE

After TAJO-835, TajoClient uses a query id for submitting a DML statement and retrieving the result from TajoMaster. However, a DDL statement doesn't have any query id. As a result, DDL statements causes NPE in a client side as below, even though they internally work well.

```SQL
tajo> create table region (R_REGIONKEY long, R_NAME string, R_COMMENT string) using csv location 'file:/home/hyunsik/tpch/region' with ('csvfile.delimiter'='|')
Jan 08, 2013 5:24:16 PM org.jboss.netty.channel.DefaultChannelPipeline
WARNING: An exception was thrown by a user handler while handling an exception event ([id: 0x2451c70d, /127.0.0.1:59999 :> localhost/127.0.0.1:9004] EXCEPTION: tajo.rpc.RemoteException: Exception [tajo.client.ClientProtocol(127.0.0.1:9004)]: java.lang.NullPointerException
at tajo.master.ClientService$ClientProtocolHandler.submitQuery(ClientService.java:136)
at tajo.client.ClientProtocol$ClientProtocolService$2.callBlockingMethod(ClientProtocol.java:11676)
at tajo.rpc.ProtoBlockingRpcServer$ServerHandler.messageReceived(ProtoBlockingRpcServer.java:92)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
at org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream(OneToOneDecoder.java:76)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:317)
at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:299)
at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:216)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:349)
at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:280)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:200)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

```