Rahul Challapalli created DRILL-1660:
----------------------------------------

             Summary: JSON : selecting from an array of empty, null maps 
results in an exception
                 Key: DRILL-1660
                 URL: https://issues.apache.org/jira/browse/DRILL-1660
             Project: Apache Drill
          Issue Type: Bug
          Components: Storage - JSON
            Reporter: Rahul Challapalli
            Assignee: Jason Altekruse


git.commit.id.abbrev=60aa446
I ran the below test against the branch from Jason's github fork which has some 
patches for bugs related to flatten which are not yet merged into the master.

Dataset used :
{code}
{
  "id":1,
  "evnts":[
    {},
    {"key":null}
  ]
}
{code}

The below query fails :
{code}
select id, evnts from `json_kvgenflatten/empty-null-map.json`;
+------------+------------+
|     id     |   evnts    |
+------------+------------+
java.lang.IndexOutOfBoundsException: DrillBuf(ridx: 0, widx: 0, cap: 0/0, 
unwrapped: DrillBuf(ridx: 0, widx: 17, cap: 17/17, unwrapped: DrillBuf(ridx: 
103, widx: 103, cap: 103/103, unwrapped: 
UnsafeDirectLittleEndian(PooledUnsafeDirectByteBuf(ridx: 0, widx: 0, cap: 
103/103))))).slice(0, 8)
        at io.netty.buffer.DrillBuf.<init>(DrillBuf.java:94)
        at io.netty.buffer.DrillBuf.slice(DrillBuf.java:293)
        at org.apache.drill.exec.vector.UInt4Vector.load(UInt4Vector.java:179)
        at 
org.apache.drill.exec.vector.complex.RepeatedMapVector.load(RepeatedMapVector.java:417)
        at 
org.apache.drill.exec.record.RecordBatchLoader.load(RecordBatchLoader.java:91)
        at org.apache.drill.jdbc.DrillCursor.next(DrillCursor.java:102)
        at 
net.hydromatic.avatica.AvaticaResultSet.next(AvaticaResultSet.java:187)
        at sqlline.SqlLine$IncrementalRows.hasNext(SqlLine.java:2503)
        at sqlline.SqlLine$TableOutputFormat.print(SqlLine.java:2148)
        at sqlline.SqlLine.print(SqlLine.java:1809)
        at sqlline.SqlLine$Commands.execute(SqlLine.java:3766)
        at sqlline.SqlLine$Commands.sql(SqlLine.java:3663)
        at sqlline.SqlLine.dispatch(SqlLine.java:889)
        at sqlline.SqlLine.begin(SqlLine.java:763)
        at sqlline.SqlLine.start(SqlLine.java:498)
        at sqlline.SqlLine.main(SqlLine.java:460)
{code}

I attached the error log. Let me know if you need anything else



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to