HeartSaVioR opened a new pull request #27832: [SPARK-31011][CORE] Log better message if SIGPWR is not supported while setting up decommision URL: https://github.com/apache/spark/pull/27832 ### What changes were proposed in this pull request? This patch changes to log better message (at least relevant to decommission) when registering signal handler for SIGPWR fails. SIGPWR is non-POSIX and not all unix-like OS support it; we can easily find the case, macOS. ### Why are the changes needed? Spark already logs message on failing to register handler for SIGPWR, but the error message is too general which doesn't give the information of the impact. End users should be noticed that failing to register handler for SIGPWR effectively "disables" the feature of decommission. ### Does this PR introduce any user-facing change? No. ### How was this patch tested? Manually tested via running standalone master/worker in macOS 10.14.6, with `spark.worker.decommission.enabled= true`, and submit an example application to run executors. For worker log: ``` 20/03/06 17:19:13 INFO Worker: Registering SIGPWR handler to trigger decommissioning. 20/03/06 17:19:13 INFO SignalUtils: Registering signal handler for PWR 20/03/06 17:19:13 WARN SignalUtils: Failed to register SIGPWR - disabling worker decommission. java.lang.IllegalArgumentException: Unknown signal: PWR at java.base/jdk.internal.misc.Signal.<init>(Signal.java:148) at jdk.unsupported/sun.misc.Signal.<init>(Signal.java:139) at org.apache.spark.util.SignalUtils$.$anonfun$registerSignal$1(SignalUtils.scala:95) at scala.collection.mutable.HashMap.getOrElseUpdate(HashMap.scala:86) at org.apache.spark.util.SignalUtils$.registerSignal(SignalUtils.scala:93) at org.apache.spark.util.SignalUtils$.register(SignalUtils.scala:81) at org.apache.spark.deploy.worker.Worker.<init>(Worker.scala:73) at org.apache.spark.deploy.worker.Worker$.startRpcEnvAndEndpoint(Worker.scala:887) at org.apache.spark.deploy.worker.Worker$.main(Worker.scala:855) at org.apache.spark.deploy.worker.Worker.main(Worker.scala) ``` For executor: ``` 20/03/06 17:21:52 INFO CoarseGrainedExecutorBackend: Registering PWR handler. 20/03/06 17:21:52 INFO SignalUtils: Registering signal handler for PWR 20/03/06 17:21:52 WARN SignalUtils: Failed to register SIGPWR - disabling decommission feature. java.lang.IllegalArgumentException: Unknown signal: PWR at java.base/jdk.internal.misc.Signal.<init>(Signal.java:148) at jdk.unsupported/sun.misc.Signal.<init>(Signal.java:139) at org.apache.spark.util.SignalUtils$.$anonfun$registerSignal$1(SignalUtils.scala:95) at scala.collection.mutable.HashMap.getOrElseUpdate(HashMap.scala:86) at org.apache.spark.util.SignalUtils$.registerSignal(SignalUtils.scala:93) at org.apache.spark.util.SignalUtils$.register(SignalUtils.scala:81) at org.apache.spark.executor.CoarseGrainedExecutorBackend.onStart(CoarseGrainedExecutorBackend.scala:86) at org.apache.spark.rpc.netty.Inbox.$anonfun$process$1(Inbox.scala:120) at org.apache.spark.rpc.netty.Inbox.safelyCall(Inbox.scala:203) at org.apache.spark.rpc.netty.Inbox.process(Inbox.scala:100) at org.apache.spark.rpc.netty.MessageLoop.org$apache$spark$rpc$netty$MessageLoop$$receiveLoop(MessageLoop.scala:75) at org.apache.spark.rpc.netty.MessageLoop$$anon$1.run(MessageLoop.scala:41) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) ```
---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
