[ 
https://issues.apache.org/jira/browse/TAJO-1485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14534161#comment-14534161
 ] 

ASF GitHub Bot commented on TAJO-1485:
--------------------------------------

Github user jihoonson commented on the pull request:

    https://github.com/apache/tajo/pull/503#issuecomment-100163043
  
    It seems that some cases are missed.
    Here is a failure example.
    ```
    default> create table test1 (col1 char);
    OK
    default> insert into test1 select 'a';
    (1 rows, 0.23 sec, 319 B inserted)
    default> select * from test1;
    col1
    -------------------------------
    ERROR: java.lang.ArrayIndexOutOfBoundsException
    java.sql.SQLException: java.lang.ArrayIndexOutOfBoundsException
        at 
org.apache.tajo.jdbc.TajoResultSetBase.next(TajoResultSetBase.java:786)
        at 
org.apache.tajo.cli.tsql.DefaultTajoCliOutputFormatter.printResult(DefaultTajoCliOutputFormatter.java:105)
        at 
org.apache.tajo.cli.tsql.TajoCli.localQueryCompleted(TajoCli.java:558)
        at org.apache.tajo.cli.tsql.TajoCli.executeQuery(TajoCli.java:532)
        at 
org.apache.tajo.cli.tsql.TajoCli.executeParsedResults(TajoCli.java:447)
        at org.apache.tajo.cli.tsql.TajoCli.runShell(TajoCli.java:419)
        at org.apache.tajo.cli.tsql.TajoCli.main(TajoCli.java:692)
    Caused by: java.io.IOException: java.lang.ArrayIndexOutOfBoundsException
        at org.apache.tajo.jdbc.FetchResultSet.nextTuple(FetchResultSet.java:87)
        at 
org.apache.tajo.jdbc.TajoResultSetBase.next(TajoResultSetBase.java:780)
        ... 6 more
    Caused by: com.google.protobuf.ServiceException: 
java.lang.ArrayIndexOutOfBoundsException
        at 
org.apache.tajo.client.QueryClientImpl.fetchNextQueryResult(QueryClientImpl.java:370)
        at 
org.apache.tajo.client.TajoClientImpl.fetchNextQueryResult(TajoClientImpl.java:134)
        at org.apache.tajo.jdbc.FetchResultSet.nextTuple(FetchResultSet.java:69)
        ... 7 more
    ```
    This is the master log.
    ```
    2015-05-08 18:02:04,216 ERROR 
org.apache.tajo.master.TajoMasterClientService:
    java.lang.ArrayIndexOutOfBoundsException
            at java.lang.System.arraycopy(Native Method)
            at 
org.apache.tajo.storage.RowStoreUtil$RowStoreEncoder.toBytes(RowStoreUtil.java:203)
            at 
org.apache.tajo.master.exec.NonForwardQueryResultFileScanner.getNextRows(NonForwardQueryResultFileScanner.java:181)
            at 
org.apache.tajo.master.TajoMasterClientService$TajoMasterClientProtocolServiceHandler.getQueryResultData(TajoMasterClientService.java:551)
            at 
org.apache.tajo.ipc.TajoMasterClientProtocol$TajoMasterClientProtocolService$2.callBlockingMethod(TajoMasterClientProtocol.java:549)
            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)
    ```


> Datum 'Char' returned only 1byte.
> ---------------------------------
>
>                 Key: TAJO-1485
>                 URL: https://issues.apache.org/jira/browse/TAJO-1485
>             Project: Tajo
>          Issue Type: Bug
>            Reporter: Seungun Choe
>            Assignee: DaeMyung Kang
>            Priority: Minor
>             Fix For: 0.11.0, 0.10.1
>
>
> Even though table's column have long char data, 'Char Datum' only returns 
> 1byte.
> {quote}
> create table test1 (col1 char(5));
> insert into test1 select 'a';
> insert into test1 select 'abc';
> insert into test1 select 'abcde';
> select * from test1;
> col1
> -------------------------------
> a
> a
> a
> (3 rows, 0.151 sec, 6 B selected)
> {quote}



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

Reply via email to