parthchandra commented on PR #57285: URL: https://github.com/apache/spark/pull/57285#issuecomment-5123516698
> Although it seems that @peter-toth 's comment (https://github.com/apache/spark/pull/57285/changes#r3639196967) is addressed. The `failureCount` + retry-wait handling resolves the no-retry problem, but on total failure the empty `Credentials` is still serialized and sent to executors before the retry fires (the Kerberos path skips the send entirely because the exception propagates). Worth either skipping the `schedulerRef.send` when all providers failed, or throwing so `updateTokensTask()`'s existing catch handles both the skip and the retry uniformly. Fixed. On total failure (all providers failed, nothing obtained) obtainTokensAndScheduleRenewal now throws instead of returning empty credentials, so updateTokensTask's existing catch uniformly skips the schedulerRef.send and schedules the retry — same as the Kerberos path. Partial success still sends the tokens it got and schedules on the successful providers' renewal time. Also added a new unit test for this. -- 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]
