Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
1.12.0
-
None
-
None
Description
RecordBatchSizer throws IndexOutOfBoundsException when trying to get payload byte count of union vector.
[Error Id: 430026a7-a963-40f1-bae2-1850649e8434 on 172.30.8.158:31013]
at org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:633) ~[classes/:na]
at org.apache.drill.exec.work.fragment.FragmentExecutor.sendFinalState(FragmentExecutor.java:300) [classes/:na]
at org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup(FragmentExecutor.java:160) [classes/:na]
at org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:266) [classes/:na]
at org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) [classes/:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_45]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
Caused by: java.lang.IndexOutOfBoundsException: DrillBuf[2], udle: [1 0..0], index: 40000, length: 4 (expected: range(0, 0))
DrillBuf[2], udle: [1 0..0]
at org.apache.drill.exec.memory.BoundsChecking.checkIndex(BoundsChecking.java:80) ~[classes/:na]
at org.apache.drill.exec.memory.BoundsChecking.lengthCheck(BoundsChecking.java:86) ~[classes/:na]
at io.netty.buffer.DrillBuf.chk(DrillBuf.java:114) ~[classes/:4.0.48.Final]
at io.netty.buffer.DrillBuf.getInt(DrillBuf.java:484) ~[classes/:4.0.48.Final]
at org.apache.drill.exec.vector.UInt4Vector$Accessor.get(UInt4Vector.java:432) ~[classes/:na]
at org.apache.drill.exec.vector.VarCharVector.getPayloadByteCount(VarCharVector.java:308) ~[classes/:na]
at org.apache.drill.exec.vector.NullableVarCharVector.getPayloadByteCount(NullableVarCharVector.java:256) ~[classes/:na]
at org.apache.drill.exec.vector.complex.AbstractMapVector.getPayloadByteCount(AbstractMapVector.java:303) ~[classes/:na]
at org.apache.drill.exec.vector.complex.UnionVector.getPayloadByteCount(UnionVector.java:574) ~[classes/:na]
at org.apache.drill.exec.physical.impl.spill.RecordBatchSizer$ColumnSize.<init>(RecordBatchSizer.java:147) ~[classes/:na]
at org.apache.drill.exec.physical.impl.spill.RecordBatchSizer.measureColumn(RecordBatchSizer.java:403) ~[classes/:na]
at org.apache.drill.exec.physical.impl.spill.RecordBatchSizer.<init>(RecordBatchSizer.java:350) ~[classes/:na]
at org.apache.drill.exec.physical.impl.spill.RecordBatchSizer.<init>(RecordBatchSizer.java:320) ~[classes/:na]