Hello Ted,
  I think the error stack looks can be deceiving. There is a ticket (DRILL-4254 
<https://issues.apache.org/jira/browse/DRILL-4254>) related to the issue. I 
recommend that you upgrade to latest version if is cause by the schema change.

> 2021年8月11日 上午4:18,Ted Dunning <[email protected]> 写道:
> 
> 
> I am running a moderate sized data reduction task and getting strange crash 
> with Drill 1.16.  Stack trace is shown below.
> 
> The query is this:
> 
> ```
> create table dfs.home.`mrms/grib-07.parquet`
> partition by (box)
> as 
> with
> t1 as (
>    select value as precip, datetime as t, cast(latitude as double) as 
> latitude, cast(longitude as double) longitude
>    from table(dfs.home.`mrms/*grib*csv`(type => 'text', fieldDelimiter => 
> ',', extractHeader => true))
>    limit 400000000)
> 
> select precip, latitude, longitude, floor(latitude)*100 - floor(longitude) box
> from t1
> order by box, latitude, longitude, t
> ```
> 
> The basic idea is that we are scanning 740 CSV files containing about 19GB of 
> data and I want to write them to a partitioned parquet dataset. I am 
> progressively increasing the number of lines processed to verify things are 
> working. The process worked fine at 200M rows of data and fails at 400M. The 
> text of the error is disconcerting because it claims that there is an index 
> error, but the index given is in the specified range.
> 
> Does anybody have any ideas on this? I haven't tried more recent versions.
> 
> 
> Fragment 3:0
> 
> Please, refer to logs for more information.
> 
> [Error Id: e681aca3-78b7-496a-9af1-7ec34fcf31a9 on nodec:31010]
>       at 
> org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:630)
>  ~[drill-common-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.work.fragment.FragmentExecutor.sendFinalState(FragmentExecutor.java:363)
>  [drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.work.fragment.FragmentExecutor.cleanup(FragmentExecutor.java:219)
>  [drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:329)
>  [drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38)
>  [drill-common-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  [na:1.8.0_292]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  [na:1.8.0_292]
>       at java.lang.Thread.run(Thread.java:748) [na:1.8.0_292]
> Caused by: java.lang.IllegalStateException: 
> java.lang.IndexOutOfBoundsException: index: 131071, length: 19 (expected: 
> range(0, 131072))
>       at 
> org.apache.drill.exec.physical.impl.svremover.RemovingRecordBatch.doWork(RemovingRecordBatch.java:69)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:117)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:186)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:126)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:116)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:63)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:141)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:186)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:126)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:116)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:63)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:141)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:186)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:104) 
> ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.physical.impl.partitionsender.PartitionSenderRootExec.innerNext(PartitionSenderRootExec.java:152)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:94) 
> ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run(FragmentExecutor.java:296)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.work.fragment.FragmentExecutor$1.run(FragmentExecutor.java:283)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at java.security.AccessController.doPrivileged(Native Method) 
> ~[na:1.8.0_292]
>       at javax.security.auth.Subject.doAs(Subject.java:422) ~[na:1.8.0_292]
>       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:283)
>  [drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       ... 4 common frames omitted
> Caused by: java.lang.IndexOutOfBoundsException: index: 131071, length: 19 
> (expected: range(0, 131072))
>       at 
> io.netty.buffer.AbstractByteBuf.checkIndex0(AbstractByteBuf.java:1125) 
> ~[netty-buffer-4.0.48.Final.jar:4.0.48.Final]
>       at 
> io.netty.buffer.AbstractByteBuf.checkIndex(AbstractByteBuf.java:1120) 
> ~[netty-buffer-4.0.48.Final.jar:4.0.48.Final]
>       at 
> io.netty.buffer.UnsafeByteBufUtil.getBytes(UnsafeByteBufUtil.java:280) 
> ~[netty-buffer-4.0.48.Final.jar:4.0.48.Final]
>       at 
> io.netty.buffer.PooledUnsafeDirectByteBuf.getBytes(PooledUnsafeDirectByteBuf.java:104)
>  ~[netty-buffer-4.0.48.Final.jar:4.0.48.Final]
>       at io.netty.buffer.WrappedByteBuf.getBytes(WrappedByteBuf.java:284) 
> ~[netty-buffer-4.0.48.Final.jar:4.0.48.Final]
>       at 
> io.netty.buffer.UnsafeDirectLittleEndian.getBytes(UnsafeDirectLittleEndian.java:34)
>  ~[drill-memory-base-1.16.0.10-mapr.jar:4.0.48.Final]
>       at io.netty.buffer.DrillBuf.getBytes(DrillBuf.java:684) 
> ~[drill-memory-base-1.16.0.10-mapr.jar:4.0.48.Final]
>       at 
> org.apache.drill.exec.vector.VarCharVector.copyFromSafe(VarCharVector.java:274)
>  ~[vector-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.vector.VarCharVector.copyEntry(VarCharVector.java:280) 
> ~[vector-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.physical.impl.svremover.GenericSV2Copier.copyEntry(GenericSV2Copier.java:39)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.physical.impl.svremover.AbstractSV2Copier.copyEntryIndirect(AbstractSV2Copier.java:54)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.physical.impl.svremover.AbstractCopier.insertRecords(AbstractCopier.java:68)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.physical.impl.svremover.AbstractCopier.copyRecords(AbstractCopier.java:47)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.physical.impl.svremover.AbstractSV2Copier.copyRecords(AbstractSV2Copier.java:67)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       at 
> org.apache.drill.exec.physical.impl.svremover.RemovingRecordBatch.doWork(RemovingRecordBatch.java:67)
>  ~[drill-java-exec-1.16.0.10-mapr.jar:1.16.0.10-mapr]
>       ... 25 common frames omitted

Reply via email to