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.
---