[
https://issues.apache.org/jira/browse/DRILL-1834?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16711825#comment-16711825
]
Vitalii Diravka commented on DRILL-1834:
----------------------------------------
This is current Drill behavior in case of reading empty parquet files (Drill
1.14.0 version):
{code:java}
0: jdbc:drill:zk=local> select * from dfs.`/tmp/empty.parquet`;
Error: SYSTEM ERROR: IllegalArgumentException: MinorFragmentId 0 has no read
entries assigned
Please, refer to logs for more information.
[Error Id: da82a8ef-004b-4e90-b4ad-bc30cfbdb606 on vitalii-pc:31010]
(state=,code=0)
{code}
Error message is wrong, but Drill should be able to read such files, then there
will no need in any error message. It will be implemented in scope of
DRILL-4517.
> Misleading error message when querying an empty Parquet file
> ------------------------------------------------------------
>
> Key: DRILL-1834
> URL: https://issues.apache.org/jira/browse/DRILL-1834
> Project: Apache Drill
> Issue Type: Bug
> Components: Execution - Flow
> Affects Versions: 0.7.0
> Reporter: Aman Sinha
> Priority: Minor
> Fix For: Future
>
>
> It is possible that a CTAS may fail and create an empty Parquet file. When
> we run a query against this file, we get a misleading error message from the
> planner that hides the original IOException, although the log file does have
> the original exception:
> {code:sql}
> 0: jdbc:drill:zk=local> select count(*) from dfs.`/tmp/empty.parquet`;
> Query failed: Query failed: Unexpected exception during fragment
> initialization: Internal error: Error while applying rule
> DrillPushProjIntoScan, args
> [rel#77:ProjectRel.NONE.ANY([]).[](child=rel#76:Subset#0.ENUMERABLE.ANY([]).[],$f0=0),
> rel#68:EnumerableTableAccessRel.ENUMERABLE.ANY([]).[](table=[dfs,
> /tmp/empty.parquet])]
> {code}
> The cause of the exception is in the logs:
> Caused by: java.io.IOException: Could not read footer:
> java.lang.RuntimeException: file:/tmp/empty.parquet is not a Parquet file
> (too small)
> at
> parquet.hadoop.ParquetFileReader.readAllFootersInParallel(ParquetFileReader.java:195)
> ~[parquet-hadoop-1.5.1-drill-r4.jar:0.7.0-SNAPSHOT]
> at
> parquet.hadoop.ParquetFileReader.readAllFootersInParallel(ParquetFileReader.java:208)
> ~[parquet-hadoop-1.5.1-drill-r4.jar:0.7.0-SNAPSHOT]
> at
> parquet.hadoop.ParquetFileReader.readFooters(ParquetFileReader.java:224)
> ~[parquet-hadoop-1.5.1-drill-r4.jar:0.7.0-SNAPSHOT]
> at
> org.apache.drill.exec.store.parquet.ParquetGroupScan.readFooter(ParquetGroupScan.java:208)
> ~[drill-java-exec-0.7.0-SNAPSHOT-rebuffed.jar:0.7.0-SNAPSHOT]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)