Skip to content
Snippets Groups Projects
Commit 5ffc73e6 authored by zsxwing's avatar zsxwing Committed by Sean Owen
Browse files

[SPARK-5074] [CORE] [TESTS] Fix the flakey test 'run shuffle with map stage...

[SPARK-5074] [CORE] [TESTS] Fix the flakey test 'run shuffle with map stage failure' in DAGSchedulerSuite

Test failure: https://amplab.cs.berkeley.edu/jenkins/job/Spark-Master-SBT/AMPLAB_JENKINS_BUILD_PROFILE=hadoop2.2,label=centos/2240/testReport/junit/org.apache.spark.scheduler/DAGSchedulerSuite/run_shuffle_with_map_stage_failure/

This is because many tests share the same `JobListener`. Because after each test, `scheduler` isn't stopped. So actually it's still running. When running the test `run shuffle with map stage failure`, some previous test may trigger [ResubmitFailedStages](https://github.com/apache/spark/blob/ebc25a4ddfe07a67668217cec59893bc3b8cf730/core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala#L1120) logic, and report `jobFailed` and override the global `failure` variable.

This PR uses `after` to call `scheduler.stop()` for each test.

Author: zsxwing <zsxwing@gmail.com>

Closes #5903 from zsxwing/SPARK-5074 and squashes the following commits:

1e6f13e [zsxwing] Fix the flakey test 'run shuffle with map stage failure' in DAGSchedulerSuite
parent b83091ae
No related branches found
No related tags found
No related merge requests found
...@@ -174,6 +174,10 @@ class DAGSchedulerSuite ...@@ -174,6 +174,10 @@ class DAGSchedulerSuite
dagEventProcessLoopTester = new DAGSchedulerEventProcessLoopTester(scheduler) dagEventProcessLoopTester = new DAGSchedulerEventProcessLoopTester(scheduler)
} }
after {
scheduler.stop()
}
override def afterAll() { override def afterAll() {
super.afterAll() super.afterAll()
} }
...@@ -261,8 +265,9 @@ class DAGSchedulerSuite ...@@ -261,8 +265,9 @@ class DAGSchedulerSuite
override def taskSucceeded(partition: Int, value: Any) = numResults += 1 override def taskSucceeded(partition: Int, value: Any) = numResults += 1
override def jobFailed(exception: Exception) = throw exception override def jobFailed(exception: Exception) = throw exception
} }
submit(new MyRDD(sc, 0, Nil), Array(), listener = fakeListener) val jobId = submit(new MyRDD(sc, 0, Nil), Array(), listener = fakeListener)
assert(numResults === 0) assert(numResults === 0)
cancel(jobId)
} }
test("run trivial job") { test("run trivial job") {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment