[ 
https://issues.apache.org/jira/browse/SPARK-20407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bogdan Raducanu updated SPARK-20407:
------------------------------------
    Description: 
ParquetQuerySuite test "Enabling/disabling ignoreCorruptFiles" can sometimes 
fail. This is caused by the fact that when one task fails, the driver call 
returns and test code continues, but there might still be tasks running that 
will be killed at the next killing point.

There are 2 specific issues created by this:
1. Files can be closed some time after the test finishes, so 
DebugFilesystem.assertNoOpenStreams fails. One solution for this is to change 
SharedSqlContext and call assertNoOpenStreams inside eventually {}

2. ParquetFileReader constructor from apache parquet 1.8.2 can leak a stream at 
line 538. This happens when the next line throws an exception. So, the 
constructor fails and Spark doesn't have any way to close the file.
This happens in this test because the test deletes the temporary directory at 
the end (but while tasks might still be running). Deleting the directory causes 
the constructor to fail.
The solution for this could be to Thread.sleep at the end of the test or to 
somehow wait for all tasks to be definitely killed before finishing the test

  was:
ParquetQuerySuite test "Enabling/disabling ignoreCorruptFiles" can sometimes 
fail. This is caused by the fact that when one task fails the driver call 
returns and test code continues, but there might still be tasks running that 
will be killed at the next killing point.

There are 2 specific issues creates by this:
1. Files are closed after the test finishes, so 
DebugFilesystem.assertNoOpenStreams fails. One solution for this is to change 
SharedSqlContext and call assertNoOpenStreams inside eventually {}

2. ParquetFileReader constructor from apache parquet 1.8.2 can leak a stream at 
line 538. This happens when the next line throws an exception. So, the 
constructor fails and Spark doesn't have any way to close the file.
This happens in this test because the test deletes the temporary directory at 
the end (but while tasks might still be running). Deleting the directory causes 
the constructor to fail.
The solution for this could be to Thread.sleep at the end of the test or to 
somehow wait for all tasks to be definitely killed before finishing the test


> ParquetQuerySuite flaky test
> ----------------------------
>
>                 Key: SPARK-20407
>                 URL: https://issues.apache.org/jira/browse/SPARK-20407
>             Project: Spark
>          Issue Type: Bug
>          Components: Tests
>    Affects Versions: 2.2.0
>            Reporter: Bogdan Raducanu
>
> ParquetQuerySuite test "Enabling/disabling ignoreCorruptFiles" can sometimes 
> fail. This is caused by the fact that when one task fails, the driver call 
> returns and test code continues, but there might still be tasks running that 
> will be killed at the next killing point.
> There are 2 specific issues created by this:
> 1. Files can be closed some time after the test finishes, so 
> DebugFilesystem.assertNoOpenStreams fails. One solution for this is to change 
> SharedSqlContext and call assertNoOpenStreams inside eventually {}
> 2. ParquetFileReader constructor from apache parquet 1.8.2 can leak a stream 
> at line 538. This happens when the next line throws an exception. So, the 
> constructor fails and Spark doesn't have any way to close the file.
> This happens in this test because the test deletes the temporary directory at 
> the end (but while tasks might still be running). Deleting the directory 
> causes the constructor to fail.
> The solution for this could be to Thread.sleep at the end of the test or to 
> somehow wait for all tasks to be definitely killed before finishing the test



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to