Github user jihoonson commented on the pull request:

    https://github.com/apache/tajo/pull/389#issuecomment-78464388
  
    @hyunsik sorry to say, but would you please check this error again?
    ```
    default> create table nested_table2 (f1 int, nf1 record (f1 int4, f3 
double), nf2 record (f1 int4, nf1 record (f1 int4, f2 text), nf2 record (f1 
int4, f2 text), f2 double), f2 text);
    OK
    default> \d
    nested_table
    nested_table2
    default> \d nested_table2
    ERROR: org.apache.tajo.rpc.TajoServiceException: 
java.lang.NullPointerException
    com.google.protobuf.ServiceException: 
org.apache.tajo.rpc.TajoServiceException: java.lang.NullPointerException
        at 
org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:104)
        at 
org.apache.tajo.client.CatalogAdminClientImpl.getTableDesc(CatalogAdminClientImpl.java:216)
        at 
org.apache.tajo.client.TajoClientImpl.getTableDesc(TajoClientImpl.java:217)
        at 
org.apache.tajo.cli.tsql.commands.DescTableCommand.invoke(DescTableCommand.java:50)
        at org.apache.tajo.cli.tsql.TajoCli.executeMetaCommand(TajoCli.java:471)
        at 
org.apache.tajo.cli.tsql.TajoCli.executeParsedResults(TajoCli.java:445)
        at org.apache.tajo.cli.tsql.TajoCli.runShell(TajoCli.java:419)
        at org.apache.tajo.cli.tsql.TajoCli.main(TajoCli.java:694)
    Caused by: org.apache.tajo.rpc.TajoServiceException: 
java.lang.NullPointerException
        at 
org.apache.tajo.rpc.BlockingRpcClient.makeTajoServiceException(BlockingRpcClient.java:188)
        at 
org.apache.tajo.rpc.BlockingRpcClient.access$500(BlockingRpcClient.java:42)
        at 
org.apache.tajo.rpc.BlockingRpcClient$ClientChannelInboundHandler.channelRead(BlockingRpcClient.java:211)
        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.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)
    Caused by: com.google.protobuf.ServiceException: 
com.google.protobuf.ServiceException: java.lang.NullPointerException
        at 
org.apache.tajo.master.TajoMasterClientService$TajoMasterClientProtocolServiceHandler.getTableDesc(TajoMasterClientService.java:816)
        at 
org.apache.tajo.ipc.TajoMasterClientProtocol$TajoMasterClientProtocolService$2.callBlockingMethod(TajoMasterClientProtocol.java:585)
        at 
org.apache.tajo.rpc.BlockingRpcServer$ServerHandler.channelRead(BlockingRpcServer.java:113)
        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.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)
    Caused by: java.lang.NullPointerException
        at 
org.apache.tajo.master.TajoMasterClientService$TajoMasterClientProtocolServiceHandler.getTableDesc(TajoMasterClientService.java:805)
        ... 18 more
    
        ... 17 more
    ```
    The main reason looks duplicated names. Here is the master log.
    ```
    2015-03-12 20:33:05,241 INFO org.apache.tajo.master.exec.DDLExecutor: Table 
default.nested_table2 is created (0)
    2015-03-12 20:33:08,601 ERROR org.apache.tajo.catalog.Schema: Already 
exists column nf1
    2015-03-12 20:33:08,601 ERROR org.apache.tajo.catalog.CatalogServer: 
org.apache.tajo.catalog.exception.AlreadyExistsFieldException: Already Exists 
Field: nf1
    2015-03-12 20:33:08,602 ERROR 
org.apache.tajo.catalog.AbstractCatalogClient: 
com.google.protobuf.ServiceException: 
org.apache.tajo.catalog.exception.AlreadyExistsFieldException: Already Exists 
Field: nf1
    com.google.protobuf.ServiceException: com.google.protobuf.ServiceException: 
org.apache.tajo.catalog.exception.AlreadyExistsFieldException: Already Exists 
Field: nf1
            at 
org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:104)
            at 
org.apache.tajo.catalog.AbstractCatalogClient.getTableDesc(AbstractCatalogClient.java:280)
            at 
org.apache.tajo.master.TajoMasterClientService$TajoMasterClientProtocolServiceHandler.getTableDesc(TajoMasterClientService.java:805)
            at 
org.apache.tajo.ipc.TajoMasterClientProtocol$TajoMasterClientProtocolService$2.callBlockingMethod(TajoMasterClientProtocol.java:585)
            at 
org.apache.tajo.rpc.BlockingRpcServer$ServerHandler.channelRead(BlockingRpcServer.java:113)
            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.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)
    Caused by: com.google.protobuf.ServiceException: 
org.apache.tajo.catalog.exception.AlreadyExistsFieldException: Already Exists 
Field: nf1
            at 
org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.getTableDesc(CatalogServer.java:537)
            at 
org.apache.tajo.catalog.AbstractCatalogClient$13.call(AbstractCatalogClient.java:287)
            at 
org.apache.tajo.catalog.AbstractCatalogClient$13.call(AbstractCatalogClient.java:280)
            at 
org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:94)
            ... 20 more
    Caused by: org.apache.tajo.catalog.exception.AlreadyExistsFieldException: 
Already Exists Field: nf1
            at org.apache.tajo.catalog.Schema.addColumn(Schema.java:315)
            at org.apache.tajo.catalog.Schema.addColumn(Schema.java:344)
            at org.apache.tajo.catalog.Schema.<init>(Schema.java:118)
            at org.apache.tajo.catalog.Schema.deserializeColumn(Schema.java:92)
            at org.apache.tajo.catalog.Schema.<init>(Schema.java:62)
            at 
org.apache.tajo.catalog.CatalogUtil.getQualfiedSchema(CatalogUtil.java:329)
            at 
org.apache.tajo.catalog.store.AbstractDBStore.getTable(AbstractDBStore.java:1421)
            at 
org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.getTableDesc(CatalogServer.java:528)
            ... 23 more
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to