[ https://issues.apache.org/jira/browse/DRILL-4915?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alex Khomchenko updated DRILL-4915: ----------------------------------- Attachment: test3.json test2.json test1.json Sample files > IndexOutOfBoundsException while schema contains different types > --------------------------------------------------------------- > > Key: DRILL-4915 > URL: https://issues.apache.org/jira/browse/DRILL-4915 > Project: Apache Drill > Issue Type: Bug > Affects Versions: 1.8.0 > Environment: mac os x 10.12 > Reporter: Alex Khomchenko > Attachments: test1.json, test2.json, test3.json > > > Good day. > First of all - thank you for a great tool! > I apologise for a bad title for this issue, I hope you will fix it to correct > one. > I've found this issue while was running CTAS on S3. > Given next 3 files in "/drill-error": > test1.json: > { > "id": "first", > "payload": { > "something": "somewhere", > "nested": { > "foo": 42 > } > } > } > test2.json: > { > "id": "second", > "payload": { > "something": "somewhere" > } > } > test3.json: > { > "id": "third", > "payload": { > "something": "somewhere", > "nested": { > "foo": "42" > } > } > } > "select * from dfs.`/drill-error`;" returns next: > +---------+--------------------------------------------------------+ > | id | payload | > +---------+--------------------------------------------------------+ > | first | {"something":"somewhere","nested":{"foo":42}} | > | second | {"something":"somewhere","nested":{}} | > | third | {"something":"somewhere","nested":{"foo":8589934592}} | > +---------+--------------------------------------------------------+ > While "create table test (id, payload) as select t.id, t.payload from > dfs.`//drill-error` as t;" fails with: > java.sql.SQLException: SYSTEM ERROR: IndexOutOfBoundsException: index: 0, > length: 1 (expected: range(0, 0)) > Fragment 0:0 > [Error Id: 63aea870-c78b-41cb-bb1b-cdfd45420291 on pc:31010] > at > org.apache.drill.jdbc.impl.DrillCursor.nextRowInternally(DrillCursor.java:247) > at > org.apache.drill.jdbc.impl.DrillCursor.loadInitialSchema(DrillCursor.java:290) > at > org.apache.drill.jdbc.impl.DrillResultSetImpl.execute(DrillResultSetImpl.java:1933) > at > org.apache.drill.jdbc.impl.DrillResultSetImpl.execute(DrillResultSetImpl.java:73) > at > net.hydromatic.avatica.AvaticaConnection.executeQueryInternal(AvaticaConnection.java:404) > at > net.hydromatic.avatica.AvaticaStatement.executeQueryInternal(AvaticaStatement.java:351) > at > net.hydromatic.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:338) > at > net.hydromatic.avatica.AvaticaStatement.execute(AvaticaStatement.java:69) > at > org.apache.drill.jdbc.impl.DrillStatementImpl.execute(DrillStatementImpl.java:101) > at sqlline.Commands.execute(Commands.java:841) > at sqlline.Commands.sql(Commands.java:751) > at sqlline.SqlLine.dispatch(SqlLine.java:746) > at sqlline.SqlLine.begin(SqlLine.java:621) > at sqlline.SqlLine.start(SqlLine.java:375) > at sqlline.SqlLine.main(SqlLine.java:268) > Caused by: org.apache.drill.common.exceptions.UserRemoteException: SYSTEM > ERROR: IndexOutOfBoundsException: index: 0, length: 1 (expe > cted: range(0, 0)) > Fragment 0:0 > [Error Id: 63aea870-c78b-41cb-bb1b-cdfd45420291 on pc:31010] > at > org.apache.drill.exec.rpc.user.QueryResultHandler.resultArrived(QueryResultHandler.java:123) > at > org.apache.drill.exec.rpc.user.UserClient.handleReponse(UserClient.java:134) > at > org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:46) > at > org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:31) > at org.apache.drill.exec.rpc.RpcBus.handle(RpcBus.java:65) > at org.apache.drill.exec.rpc.RpcBus$RequestEvent.run(RpcBus.java:363) > at > org.apache.drill.common.SerializedExecutor$RunnableProcessor.run(SerializedExecutor.java:89) > at > org.apache.drill.exec.rpc.RpcBus$SameExecutor.execute(RpcBus.java:240) > at > org.apache.drill.common.SerializedExecutor.execute(SerializedExecutor.java:123) > at > org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:274) > at > org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:245) > at > io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) > at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) > at > io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:254) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) > at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) > at > io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) > at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) > at > io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339) > at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324) > at > io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847) > at > io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) > 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:111) > at java.lang.Thread.run(Thread.java:745) > I've traced an issue. It happens at NullableBigIntReaderImpl.isSet -- This message was sent by Atlassian JIRA (v6.3.4#6332)