You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG] Cluster master election scheduler can stop after one renewal exception #6495
For ScheduledThreadPoolExecutor, an exception escaping a fixed-rate task suppresses later executions of that periodic task. A transient lock/renewal failure can therefore stop future master selection attempts in that process.
Expected Behavior
Master election/renewal errors should be logged and the next scheduled election attempt should still run. Exceptions should not escape the periodic scheduler task.
Impact
After a transient cluster backend failure, the admin node may stop participating in master election until it is restarted.
Confirmed this still exists on current upstream/master: startSelectMasterTask() schedules doSelectMaster directly, and its exception path rethrows ShenyuException, which cancels later fixed-rate executions. I plan a focused scheduler-boundary guard for the expected ShenyuException path (leaving fatal Errors visible), preserving the existing service-close and lock-release behavior, with a regression test proving a later scheduled election still runs after one failed attempt.
Activity
github-actions commentedon Jul 31, 2026
👋 Hello @Aias00
A new issue has been opened by @Aias00:
Please review when you have time. Thank you! 🙏
sunnysabor commentedon Oct 1, 2026
Confirmed this still exists on current
upstream/master:startSelectMasterTask()schedulesdoSelectMasterdirectly, and its exception path rethrowsShenyuException, which cancels later fixed-rate executions. I plan a focused scheduler-boundary guard for the expectedShenyuExceptionpath (leaving fatalErrors visible), preserving the existing service-close and lock-release behavior, with a regression test proving a later scheduled election still runs after one failed attempt.fix(admin): keep cluster election scheduled after failures (apache#6495)
fix(admin): keep cluster election scheduled after failures (apache#6495)
fix(admin): keep cluster election scheduled after failures (apache#6495)
fix(admin): keep cluster election scheduled after failures (apache#6495)
fix(admin): keep cluster election scheduled after failures (#6495) (#…