yabola commented on code in PR #37779:
URL: https://github.com/apache/spark/pull/37779#discussion_r985027861
##########
core/src/test/scala/org/apache/spark/executor/CoarseGrainedExecutorBackendSuite.scala:
##########
@@ -535,6 +538,40 @@ class CoarseGrainedExecutorBackendSuite extends
SparkFunSuite
}
}
+ /**
+ * A fatal error occurred when [[Executor]] was initialized, this should be
caught by
+ * [[SparkUncaughtExceptionHandler]] and [[Executor]] can exit by itself.
+ */
+ test("SPARK-40320 Executor should exit when initialization failed for fatal
error") {
+ new SparkUncaughtExceptionHandler
+ val conf = new SparkConf()
+ .setMaster("local-cluster[1, 1, 1024]")
+ .set(PLUGINS, Seq(classOf[FatalErrorPlugin].getName))
+ .setAppName("test")
+ sc = new SparkContext(conf)
+ val executorAddCounter = new AtomicInteger(0)
+ val executorRemovedCounter = new AtomicInteger(0)
+
+ val listener = new SparkListener() {
+ override def onExecutorAdded(executorAdded: SparkListenerExecutorAdded):
Unit = {
+ executorAddCounter.getAndIncrement()
+ }
+
+ override def onExecutorRemoved(executorRemoved:
SparkListenerExecutorRemoved): Unit = {
+ executorRemovedCounter.getAndIncrement()
+ }
+ }
+ try {
+ sc.addSparkListener(listener)
+ eventually(timeout(60.seconds)) {
Review Comment:
This test takes about 6s in MAC. I make the timeout time longer here to hope
that the UT will be more stable. When the machine load is heavy, the
time-consuming time may become longer.
I don't know if I need to worry about these, how about the modification to
15s
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]