LuciferYang commented on PR #58489:
URL: https://github.com/apache/spark/pull/58489#issuecomment-5548580533

   **2. No exceptionHandler: startup errors are not retried, and a mid-run 
informer death is silent**
   
   
`resource-managers/kubernetes/core/src/main/scala/org/apache/spark/scheduler/cluster/k8s/InformerManager.scala:50`
   
   `InformerManager` sets no `exceptionHandler` and never consumes `stopped()`. 
In fabric8 7.x the
   ExceptionHandler decides retry-vs-stop, and the default chooses stop for any 
error before the
   first successful sync (it already logs internally — what's missing is the 
retry decision), and
   for non-GONE WatcherExceptions after startup too. So with the current code, 
a mid-run informer
   death is silent: events stop, the lister keeps replacing snapshots from a 
cache that no longer
   updates, and dead executors wait for RPC timeouts to be noticed. And if 
start becomes async per
   my startup comment without a handler, any startup error turns into a silent 
background death
   that the hasSynced check would then skip past forever; strictly worse than 
crashing.
   
   Please set `exceptionHandler((b, t) => { logError(...); true })` in 
`initInformer` (it can only
   be set before start) to log and force a retry, or consume the exceptional 
completion of
   `stopped()` and fail the driver.
   


-- 
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]

Reply via email to