Jinfeng Ni created DRILL-2249:
---------------------------------
Summary: Parquet reader hit IOBE when reading decimal type
columns.
Key: DRILL-2249
URL: https://issues.apache.org/jira/browse/DRILL-2249
Project: Apache Drill
Issue Type: Bug
Components: Storage - Parquet, Storage - Writer
Reporter: Jinfeng Ni
Assignee: Steven Phillips
On today's master branch:
select commit_id from sys.version;
+------------+
| commit_id |
+------------+
| 4ed0a8d68ec5ef344fb54ff7c9d857f7f3f153aa |
+------------+
If I create a parquet file containing two decimal(10,2) columns as:
{code}
create table my_dec_table as select *, cast(o_totalprice as decimal(10,2))
dec1, cast(o_totalprice as decimal(10,2)) dec2 from cp.`tpch/orders.parquet`;
+------------+---------------------------+
| Fragment | Number of records written |
+------------+---------------------------+
| 0_0 | 15000 |
+------------+---------------------------+
1 row selected (1.977 seconds)
{code}
However, when I try to read from the new created parquet file, Drill report
IOBE in parquet reader.
{code}
select * from my_dec_table;
Query failed: Query stopped., index: 22531, length: 1 (expected: range(0,
22531)) [ ee35bc67-5c70-4677-bf7f-8db12e4a5491 on 10.250.0.8:31010 ]
{code}
The plan looks fine to me for this query:
{code}
xplain plan for select * from my_dec_table;
+------------+------------+
| text | json |
+------------+------------+
| 00-00 Screen
00-01 Scan(groupscan=[ParquetGroupScan [entries=[ReadEntryWithPath
[path=file:/Users/jni/work/data/tpcds/my_dec_table]],
selectionRoot=/Users/jni/work/data/tpcds/my_dec_table, numFiles=1,
columns=[`*`]]])
{code}
Here is part of the stack trace:
{code}
java.lang.IndexOutOfBoundsException: index: 22531, length: 1 (expected:
range(0, 22531))
at io.netty.buffer.DrillBuf.checkIndexD(DrillBuf.java:156)
~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:4.0.24.Final]
at io.netty.buffer.DrillBuf.chk(DrillBuf.java:178)
~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:4.0.24.Final]
at io.netty.buffer.DrillBuf.getByte(DrillBuf.java:673)
~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:4.0.24.Final]
at
org.apache.drill.exec.store.parquet.columnreaders.FixedByteAlignedReader$DateReader.readIntLittleEndian(FixedByteAlignedReader.java:144)
~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
at
org.apache.drill.exec.store.parquet.columnreaders.FixedByteAlignedReader.......
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)