Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Reading from a JSON containing a repeated scalar type and then writing to a parquet file causes the server to assert -
java.lang.ClassCastException
parquet.io.PrimitiveColumnIO cannot be cast to parquet.io.GroupColumnIO
at parquet.io.MessageColumnIO$MessageColumnIORecordConsumer.startField(MessageColumnIO.java:171) ~[parquet-column-1.5.1-drill-r3.jar:na]
at org.apache.drill.exec.store.ParquetOutputRecordWriter$RepeatedVarCharParquetConverter.writeField(ParquetOutputRecordWriter.java:1879) ~[classes/:na]
at org.apache.drill.exec.store.EventBasedRecordWriter.write(EventBasedRecordWriter.java:58) ~[classes/:na]
at org.apache.drill.exec.physical.impl.WriterRecordBatch.innerNext(WriterRecordBatch.java:111) ~[classes/:na]
at org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:95) ~[classes/:na]
at org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:116) ~[classes/:na]
at org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:75) ~[classes/:na]
at org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:65) ~[classes/:na]
at org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext(AbstractSingleRecordBatch.java:45) ~[classes/:na]
at org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:128) ~[classes/:na]
at org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:95) ~[classes/:na]
at org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:116) ~[classes/:na]
at org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:59) ~[classes/:na]
at org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext(ScreenCreator.java:98) ~[classes/:na]
at org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:49) ~[classes/:na]
at org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:104) ~[classes/:na]
at org.apache.drill.exec.work.WorkManager$RunnableWrapper.run(WorkManager.java:250) [classes/:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_51]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
example:
create table test_repeated as select * from cp.`testRepeatedWrite.json`