[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:
parent
33791a8ced
commit
c050c12274
|
@ -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,
|
||||||
|
|
Loading…
Reference in a new issue