[ 
https://issues.apache.org/jira/browse/DRILL-3635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14694294#comment-14694294
 ] 

Deneche A. Hakim commented on DRILL-3635:
-----------------------------------------

For this specific test there are 2 queries run one after another: a CTAS 
followed by a SELECT. When the output of CTAS is one single parquet file, the 
ParquetRecordWriter will create an empty parquet file, and only flush the data 
when cleaning up, by that time the server has already sent a termination 
message to the client which may trigger the second query even before the CTAS 
"finished" writing the parquet file. We should be able to update 
WriterRecordBatch to cleanup it's "recordReader" before reporting it's done.

> IllegalArgumentException - not a Parquet file (too small)
> ---------------------------------------------------------
>
>                 Key: DRILL-3635
>                 URL: https://issues.apache.org/jira/browse/DRILL-3635
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Flow, Storage - Parquet
>    Affects Versions: 1.1.0
>         Environment: Test framework
>            Reporter: Chris Westin
>            Assignee: Hanifi Gunes
>             Fix For: 1.2.0
>
>
> The (MapR internal) regression suite is sporadically seeing this error:
> /root/private-sql-hadoop-test/framework/resources/Precommit/Functional/ctas_flatten/100000rows/filter4.q
> Query: 
> select * from dfs.ctas_flatten.`filter4_100000rows_ctas`
> Failed with exception
> java.sql.SQLException: SYSTEM ERROR: IllegalArgumentException: 
> maprfs:///drill/testdata/ctas_flatten/filter4_100000rows_ctas/0_0_0.parquet 
> is not a Parquet file (too small)
> [Error Id: 9749d6a7-685d-4663-9b27-1a456a5dec40 on drillats3.qa.lab:31010]
>       at 
> org.apache.drill.jdbc.impl.DrillCursor.nextRowInternally(DrillCursor.java:244)
>       at 
> org.apache.drill.jdbc.impl.DrillCursor.loadInitialSchema(DrillCursor.java:287)
>       at 
> org.apache.drill.jdbc.impl.DrillResultSetImpl.execute(DrillResultSetImpl.java:1362)
>       at 
> org.apache.drill.jdbc.impl.DrillResultSetImpl.execute(DrillResultSetImpl.java:72)
>       at 
> net.hydromatic.avatica.AvaticaConnection.executeQueryInternal(AvaticaConnection.java:404)
>       at 
> net.hydromatic.avatica.AvaticaStatement.executeQueryInternal(AvaticaStatement.java:351)
>       at 
> net.hydromatic.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:78)
>       at 
> org.apache.drill.jdbc.impl.DrillStatementImpl.executeQuery(DrillStatementImpl.java:96)
>       at 
> org.apache.drill.test.framework.DrillTestJdbc.executeQuery(DrillTestJdbc.java:144)
>       at 
> org.apache.drill.test.framework.DrillTestJdbc.run(DrillTestJdbc.java:83)
>       at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:744)
> Caused by: org.apache.drill.common.exceptions.UserRemoteException: SYSTEM 
> ERROR: IllegalArgumentException: 
> maprfs:///drill/testdata/ctas_flatten/filter4_100000rows_ctas/0_0_0.parquet 
> is not a Parquet file (too small)
> It doesn't happen every time, but based on looking at log files, it seems to 
> happen more than half the time.



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

Reply via email to