You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Jinfeng Ni (JIRA)" <ji...@apache.org> on 2015/02/14 01:04:11 UTC
[jira] [Created] (DRILL-2249) Parquet reader hit IOBE when reading
decimal type columns.
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)