You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Arina Ielchiieva (JIRA)" <ji...@apache.org> on 2017/05/17 14:00:10 UTC
[jira] [Created] (DRILL-5521) IndexOutOfBoundsException during
union all for map types
Arina Ielchiieva created DRILL-5521:
---------------------------------------
Summary: IndexOutOfBoundsException during union all for map types
Key: DRILL-5521
URL: https://issues.apache.org/jira/browse/DRILL-5521
Project: Apache Drill
Issue Type: Bug
Affects Versions: 1.11.0
Reporter: Arina Ielchiieva
Assignee: Arina Ielchiieva
Fix For: 1.11.0
In DRILL-5419 introduced some changes in UnionAllRecordBatch.
One change allowed to transfer data directly if column name is the same.
This part of code existed before but was not executed since if condition was always returning false:
{noformat}
if(outputFields.get(index).getPath().equals(inputPath)) {
{noformat}
But fixing this condition lead to the following error
Change in code:
{noformat}
if (outputFields.get(index).getPath().equals(inputPath.getAsUnescapedPath())) {
{noformat}
Data set:
{noformat}
cat missing-map.json
{"rk": "a", "m": {"a":"1"}}
{noformat}
Query:
{noformat}
select kvgen(m) from dfs.`missing-map.json` union all select convert_from('{"a" : null}' ,'json') as m from (values(1))
{noformat}
Error:
{noformat}
org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: IndexOutOfBoundsException: index: 0, length: 1 (expected: range(0, 0))
Fragment 0:0
[Error Id: 7f95af7b-036b-4f74-820a-c720d527d2e5 on localhost:31010]
(java.lang.IndexOutOfBoundsException) index: 0, length: 1 (expected: range(0, 0))
io.netty.buffer.DrillBuf.checkIndexD():123
io.netty.buffer.DrillBuf.chk():147
io.netty.buffer.DrillBuf.getByte():775
org.apache.drill.exec.vector.UInt1Vector$Accessor.get():354
org.apache.drill.exec.vector.NullableVarCharVector$Accessor.isSet():399
org.apache.drill.exec.vector.NullableVarCharVector$Accessor.isNull():395
org.apache.drill.exec.vector.complex.impl.NullableVarCharReaderImpl.isSet():100
org.apache.drill.exec.expr.fn.impl.MappifyUtility.mappify():59
org.apache.drill.exec.test.generated.ProjectorGen2.doEval():38
org.apache.drill.exec.test.generated.ProjectorGen2.projectRecords():67
org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.doWork():198
org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext():93
org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext():134
org.apache.drill.exec.record.AbstractRecordBatch.next():162
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next():215
org.apache.drill.exec.record.AbstractRecordBatch.next():119
org.apache.drill.exec.record.AbstractRecordBatch.next():109
org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext():51
org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext():134
org.apache.drill.exec.record.AbstractRecordBatch.next():162
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next():215
org.apache.drill.exec.record.AbstractRecordBatch.next():119
org.apache.drill.exec.record.AbstractRecordBatch.next():109
org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext():51
org.apache.drill.exec.physical.impl.flatten.FlattenRecordBatch.innerNext():121
org.apache.drill.exec.record.AbstractRecordBatch.next():162
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next():215
org.apache.drill.exec.record.AbstractRecordBatch.next():119
org.apache.drill.exec.record.AbstractRecordBatch.next():109
org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext():51
org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext():134
org.apache.drill.exec.record.AbstractRecordBatch.next():162
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next():215
org.apache.drill.exec.physical.impl.BaseRootExec.next():105
org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext():81
org.apache.drill.exec.physical.impl.BaseRootExec.next():95
org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():234
org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():227
java.security.AccessController.doPrivileged():-2
javax.security.auth.Subject.doAs():421
org.apache.hadoop.security.UserGroupInformation.doAs():1657
org.apache.drill.exec.work.fragment.FragmentExecutor.run():227
org.apache.drill.common.SelfCleaningRunnable.run():38
java.util.concurrent.ThreadPoolExecutor.runWorker():1145
java.util.concurrent.ThreadPoolExecutor$Worker.run():615
java.lang.Thread.run():745
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)