[ 
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)

Reply via email to