Bug: Flaky test: BlockManagerDecommissionIntegrationSuite.verify that an already running task which is going to cache data succeeds on a decommissioned executor
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 23/Jul/20 19:00
Affects Version/s: 3.1.0

https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/126424/testReport/
{code:java}
Error Message
org.scalatest.exceptions.TestFailedDueToTimeoutException: The code passed to eventually never returned normally. Attempted 2759 times over 30.001772248 seconds. Last failure message: Map() was empty We should have a block that has been on multiple BMs in rdds:  ArrayBuffer(SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),rdd_1_2,StorageLevel(memory, deserialized, 1 replicas),56,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(0, localhost, 42041, None),rdd_1_1,StorageLevel(memory, deserialized, 1 replicas),56,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),rdd_1_0,StorageLevel(memory, deserialized, 1 replicas),56,0))) from: ArrayBuffer(SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(driver, amp-jenkins-worker-05.amp, 45854, None),broadcast_1_piece0,StorageLevel(memory, 1 replicas),2695,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),broadcast_1_piece0,StorageLevel(memory, 1 replicas),2695,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(2, localhost, 42805, None),broadcast_1_piece0,StorageLevel(memory, 1 replicas),2695,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(0, localhost, 42041, None),broadcast_1_piece0,StorageLevel(memory, 1 replicas),2695,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),rdd_1_2,StorageLevel(memory, deserialized, 1 replicas),56,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(0, localhost, 42041, None),rdd_1_1,StorageLevel(memory, deserialized, 1 replicas),56,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),rdd_1_0,StorageLevel(memory, deserialized, 1 replicas),56,0)))  but instead we got:  Map(rdd_1_0 -> 1, rdd_1_2 -> 1, rdd_1_1 -> 1).
Stacktrace
sbt.ForkMain$ForkError: org.scalatest.exceptions.TestFailedDueToTimeoutException: The code passed to eventually never returned normally. Attempted 2759 times over 30.001772248 seconds. Last failure message: Map() was empty We should have a block that has been on multiple BMs in rdds:
 ArrayBuffer(SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),rdd_1_2,StorageLevel(memory, deserialized, 1 replicas),56,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(0, localhost, 42041, None),rdd_1_1,StorageLevel(memory, deserialized, 1 replicas),56,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),rdd_1_0,StorageLevel(memory, deserialized, 1 replicas),56,0))) from:
ArrayBuffer(SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(driver, amp-jenkins-worker-05.amp, 45854, None),broadcast_1_piece0,StorageLevel(memory, 1 replicas),2695,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),broadcast_1_piece0,StorageLevel(memory, 1 replicas),2695,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(2, localhost, 42805, None),broadcast_1_piece0,StorageLevel(memory, 1 replicas),2695,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(0, localhost, 42041, None),broadcast_1_piece0,StorageLevel(memory, 1 replicas),2695,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),rdd_1_2,StorageLevel(memory, deserialized, 1 replicas),56,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(0, localhost, 42041, None),rdd_1_1,StorageLevel(memory, deserialized, 1 replicas),56,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),rdd_1_0,StorageLevel(memory, deserialized, 1 replicas),56,0)))
 but instead we got:
 Map(rdd_1_0 -> 1, rdd_1_2 -> 1, rdd_1_1 -> 1).
	at org.scalatest.concurrent.Eventually.tryTryAgain$1(Eventually.scala:432)
	at org.scalatest.concurrent.Eventually.eventually(Eventually.scala:439)
	at org.scalatest.concurrent.Eventually.eventually$(Eventually.scala:391)
	at org.apache.spark.storage.BlockManagerDecommissionIntegrationSuite.eventually(BlockManagerDecommissionIntegrationSuite.scala:33)
	at org.scalatest.concurrent.Eventually.eventually(Eventually.scala:308)
	at org.scalatest.concurrent.Eventually.eventually$(Eventually.scala:307)
	at org.apache.spark.storage.BlockManagerDecommissionIntegrationSuite.eventually(BlockManagerDecommissionIntegrationSuite.scala:33)
	at org.apache.spark.storage.BlockManagerDecommissionIntegrationSuite.runDecomTest(BlockManagerDecommissionIntegrationSuite.scala:169)
	at org.apache.spark.storage.BlockManagerDecommissionIntegrationSuite.$anonfun$new$1(BlockManagerDecommissionIntegrationSuite.scala:41)
	at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
	at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
	at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
	at org.scalatest.Transformer.apply(Transformer.scala:22)
	at org.scalatest.Transformer.apply(Transformer.scala:20)
	at org.scalatest.FunSuiteLike$$anon$1.apply(FunSuiteLike.scala:186)
	at org.apache.spark.SparkFunSuite.withFixture(SparkFunSuite.scala:157)
	at org.scalatest.FunSuiteLike.invokeWithFixture$1(FunSuiteLike.scala:184)
	at org.scalatest.FunSuiteLike.$anonfun$runTest$1(FunSuiteLike.scala:196)
	at org.scalatest.SuperEngine.runTestImpl(Engine.scala:286)
	at org.scalatest.FunSuiteLike.runTest(FunSuiteLike.scala:196)
	at org.scalatest.FunSuiteLike.runTest$(FunSuiteLike.scala:178)
	at org.apache.spark.SparkFunSuite.org$scalatest$BeforeAndAfterEach$$super$runTest(SparkFunSuite.scala:59)
	at org.scalatest.BeforeAndAfterEach.runTest(BeforeAndAfterEach.scala:221)
	at org.scalatest.BeforeAndAfterEach.runTest$(BeforeAndAfterEach.scala:214)
	at org.apache.spark.SparkFunSuite.runTest(SparkFunSuite.scala:59)
	at org.scalatest.FunSuiteLike.$anonfun$runTests$1(FunSuiteLike.scala:229)
	at org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:393)
	at scala.collection.immutable.List.foreach(List.scala:392)
	at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:381)
	at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:376)
	at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:458)
	at org.scalatest.FunSuiteLike.runTests(FunSuiteLike.scala:229)
	at org.scalatest.FunSuiteLike.runTests$(FunSuiteLike.scala:228)
	at org.scalatest.FunSuite.runTests(FunSuite.scala:1560)
	at org.scalatest.Suite.run(Suite.scala:1124)
	at org.scalatest.Suite.run$(Suite.scala:1106)
	at org.scalatest.FunSuite.org$scalatest$FunSuiteLike$$super$run(FunSuite.scala:1560)
	at org.scalatest.FunSuiteLike.$anonfun$run$1(FunSuiteLike.scala:233)
	at org.scalatest.SuperEngine.runImpl(Engine.scala:518)
	at org.scalatest.FunSuiteLike.run(FunSuiteLike.scala:233)
	at org.scalatest.FunSuiteLike.run$(FunSuiteLike.scala:232)
	at org.apache.spark.SparkFunSuite.org$scalatest$BeforeAndAfterAll$$super$run(SparkFunSuite.scala:59)
	at org.scalatest.BeforeAndAfterAll.liftedTree1$1(BeforeAndAfterAll.scala:213)
	at org.scalatest.BeforeAndAfterAll.run(BeforeAndAfterAll.scala:210)
	at org.scalatest.BeforeAndAfterAll.run$(BeforeAndAfterAll.scala:208)
	at org.apache.spark.SparkFunSuite.run(SparkFunSuite.scala:59)
	at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:317)
	at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:510)
	at sbt.ForkMain$Run$2.call(ForkMain.java:296)
	at sbt.ForkMain$Run$2.call(ForkMain.java:286)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: sbt.ForkMain$ForkError: org.scalatest.exceptions.TestFailedException: Map() was empty We should have a block that has been on multiple BMs in rdds:
 ArrayBuffer(SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),rdd_1_2,StorageLevel(memory, deserialized, 1 replicas),56,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(0, localhost, 42041, None),rdd_1_1,StorageLevel(memory, deserialized, 1 replicas),56,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),rdd_1_0,StorageLevel(memory, deserialized, 1 replicas),56,0))) from:
ArrayBuffer(SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(driver, amp-jenkins-worker-05.amp, 45854, None),broadcast_1_piece0,StorageLevel(memory, 1 replicas),2695,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),broadcast_1_piece0,StorageLevel(memory, 1 replicas),2695,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(2, localhost, 42805, None),broadcast_1_piece0,StorageLevel(memory, 1 replicas),2695,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(0, localhost, 42041, None),broadcast_1_piece0,StorageLevel(memory, 1 replicas),2695,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),rdd_1_2,StorageLevel(memory, deserialized, 1 replicas),56,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(0, localhost, 42041, None),rdd_1_1,StorageLevel(memory, deserialized, 1 replicas),56,0)), SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(1, localhost, 37968, None),rdd_1_0,StorageLevel(memory, deserialized, 1 replicas),56,0)))
 but instead we got:
 Map(rdd_1_0 -> 1, rdd_1_2 -> 1, rdd_1_1 -> 1)
	at org.scalatest.Assertions.newAssertionFailedException(Assertions.scala:530)
	at org.scalatest.Assertions.newAssertionFailedException$(Assertions.scala:529)
	at org.scalatest.FunSuite.newAssertionFailedException(FunSuite.scala:1560)
	at org.scalatest.Assertions$AssertionsHelper.macroAssert(Assertions.scala:503)
	at org.apache.spark.storage.BlockManagerDecommissionIntegrationSuite.$anonfun$runDecomTest$7(BlockManagerDecommissionIntegrationSuite.scala:179)
	at org.scalatest.concurrent.Eventually.makeAValiantAttempt$1(Eventually.scala:395)
	at org.scalatest.concurrent.Eventually.tryTryAgain$1(Eventually.scala:409)
	... 53 more
{code}