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]

Reply via email to