[ https://issues.apache.org/jira/browse/DRILL-7023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16758830#comment-16758830 ]
Boaz Ben-Zvi commented on DRILL-7023: ------------------------------------- Apache 1.15.0 should not see this failure, as it was fixed in DRILL-6461 (PR#1344 - committed on Aug 27, 2018). The implementation of the call {{copyEntry()}} for {{BigIntVector}} (second from the top of the given failure stack) was changed in that PR to verify the size of the target vector, and reallocate the vector if the size was too small (for the index inserting into). Thus this failure should not occur in 1.15.0 . The root cause of the failure was the resizing up of the outgoing output batch in the Hash-Join; so the size variable was increased, but the actual allocated vectors were not reallocated, and remained of the old smaller size. > Query fails with IndexOutOfBoundsException after upgrade from drill 1.13.0 to > drill 1.14.0 > ------------------------------------------------------------------------------------------ > > Key: DRILL-7023 > URL: https://issues.apache.org/jira/browse/DRILL-7023 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow > Affects Versions: 1.14.0 > Reporter: Khurram Faraaz > Priority: Major > > Query fails with IndexOutOfBoundsException after upgrade from drill 1.13.0 to > drill 1.14.0 > {noformat} > 2018-12-06 21:43:00,538 [23f5f79c-3777-eb37-ee46-f73be74381ef:frag:2:1] ERROR > o.a.d.e.w.fragment.FragmentExecutor - SYSTEM ERROR: IndexOutOfBoundsException > Fragment 2:1 > [Error Id: 3b653503-b6da-4853-a395-317a169468ce on am1397.test.net:31010] > org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: > IndexOutOfBoundsException > Fragment 2:1 > [Error Id: 3b653503-b6da-4853-a395-317a169468ce on am1397.test.net:31010] > at > org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:633) > ~[drill-common-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.sendFinalState(FragmentExecutor.java:361) > [drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup(FragmentExecutor.java:216) > [drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:327) > [drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) > [drill-common-1.14.0-mapr.jar:1.14.0-mapr] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [na:1.8.0_152] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [na:1.8.0_152] > at java.lang.Thread.run(Thread.java:748) [na:1.8.0_152] > Caused by: java.lang.IndexOutOfBoundsException: null > at io.netty.buffer.DrillBuf.getBytes(DrillBuf.java:677) > ~[drill-memory-base-1.14.0-mapr.jar:4.0.48.Final] > at > org.apache.drill.exec.vector.BigIntVector.copyEntry(BigIntVector.java:389) > ~[vector-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.test.generated.HashJoinProbeGen480.appendProbe(HashJoinProbeTemplate.java:190) > ~[na:na] > at > org.apache.drill.exec.test.generated.HashJoinProbeGen480.outputOuterRow(HashJoinProbeTemplate.java:223) > ~[na:na] > at > org.apache.drill.exec.test.generated.HashJoinProbeGen480.executeProbePhase(HashJoinProbeTemplate.java:357) > ~[na:na] > at > org.apache.drill.exec.test.generated.HashJoinProbeGen480.probeAndProject(HashJoinProbeTemplate.java:400) > ~[na:na] > at > org.apache.drill.exec.physical.impl.join.HashJoinBatch.innerNext(HashJoinBatch.java:465) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:172) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:119) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:109) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:63) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:172) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:119) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:109) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:69) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:172) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:119) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:109) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:63) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:142) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:172) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:119) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.test.generated.NestedLoopJoinGen584400.resetAndGetNextLeft(NestedLoopJoinTemplate.java:183) > ~[na:na] > at > org.apache.drill.exec.test.generated.NestedLoopJoinGen584400.outputRecords(NestedLoopJoinTemplate.java:101) > ~[na:na] > at > org.apache.drill.exec.physical.impl.join.NestedLoopJoinBatch.innerNext(NestedLoopJoinBatch.java:194) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:172) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:119) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:109) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:63) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:142) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:172) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:119) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.join.HashJoinBatch.sniffNonEmptyBatch(HashJoinBatch.java:364) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.join.HashJoinBatch.prefetchFirstBatchFromBothSides(HashJoinBatch.java:271) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.join.HashJoinBatch.innerNext(HashJoinBatch.java:403) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:172) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:119) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:109) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:63) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:142) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:172) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:119) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.join.NestedLoopJoinBatch.buildSchema(NestedLoopJoinBatch.java:394) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:152) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:119) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:109) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:63) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:142) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:172) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:119) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.join.HashJoinBatch.sniffNewSchemas(HashJoinBatch.java:304) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.join.HashJoinBatch.buildSchema(HashJoinBatch.java:239) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:152) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:119) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:109) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:63) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:142) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:172) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:119) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:109) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:63) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:142) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:172) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:103) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.SingleSenderCreator$SingleSenderRootExec.innerNext(SingleSenderCreator.java:93) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:93) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.work.fragment.FragmentExecutor$1.run(FragmentExecutor.java:294) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at > org.apache.drill.exec.work.fragment.FragmentExecutor$1.run(FragmentExecutor.java:281) > ~[drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_152] > at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_152] > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1669) > ~[hadoop-common-2.7.0-mapr-1808.jar:na] > at > org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:281) > [drill-java-exec-1.14.0-mapr.jar:1.14.0-mapr] > ... 4 common frames omitted > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)