[SPARK-19113][SS][TESTS] Ignore StreamingQueryException thrown from awaitInitialization to avoid breaking tests

## What changes were proposed in this pull request?

#16492 missed one race condition: `StreamExecution.awaitInitialization` may throw fatal errors and fail the test. This PR just ignores `StreamingQueryException` thrown from `awaitInitialization` so that we can verify the exception in the `ExpectFailure` action later. It's fine since `StopStream` or `ExpectFailure` will catch `StreamingQueryException` as well.

## How was this patch tested?

Jenkins

Author: Shixiong Zhu <shixiong@databricks.com>

Closes #16567 from zsxwing/SPARK-19113-2.
This commit is contained in:
Shixiong Zhu 2017-01-18 10:50:51 -08:00
parent 33791a8ced
commit c050c12274

View file

@ -385,7 +385,12 @@ trait StreamTest extends QueryTest with SharedSQLContext with Timeouts {
.streamingQuery .streamingQuery
// Wait until the initialization finishes, because some tests need to use `logicalPlan` // Wait until the initialization finishes, because some tests need to use `logicalPlan`
// after starting the query. // after starting the query.
currentStream.awaitInitialization(streamingTimeout.toMillis) try {
currentStream.awaitInitialization(streamingTimeout.toMillis)
} catch {
case _: StreamingQueryException =>
// Ignore the exception. `StopStream` or `ExpectFailure` will catch it as well.
}
case AdvanceManualClock(timeToAdd) => case AdvanceManualClock(timeToAdd) =>
verify(currentStream != null, verify(currentStream != null,