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] Instance health DB sync scheduler can stop after one persistence error #6496
InstanceCheckService protects the heartbeat state-check task from exceptions, but the periodic DB sync task is scheduled directly with no exception guard.
If instanceInfoService.createOrUpdate(...) throws once, for example due to a transient database error, the exception escapes the scheduled task. ScheduledThreadPoolExecutor then suppresses subsequent executions of that fixed-delay task.
Expected Behavior
A DB sync failure should be logged and retried in the next scheduled run, rather than stopping all future instance-state persistence.
Impact
After a transient persistence error, in-memory instance health can continue changing while DB state is no longer updated until the admin process restarts.
I opened PR #7414 for this member of #6608. It isolates each scheduled persistence call so one failing instance is logged without cancelling the fixed-delay task or preventing the other cached instances from syncing; a later run retries the failed entry. The synchronous syncDB() path used during shutdown is unchanged. The focused InstanceCheckServiceTest and full shenyu-admin suite both pass locally.
Activity
github-actions commentedon Jul 31, 2026
👋 Hello @yuluo-yx
A new issue has been opened by @Aias00:
Please review when you have time. Thank you! 🙏
sunnysabor commentedon Oct 2, 2026
I opened PR #7414 for this member of #6608. It isolates each scheduled persistence call so one failing instance is logged without cancelling the fixed-delay task or preventing the other cached instances from syncing; a later run retries the failed entry. The synchronous
syncDB()path used during shutdown is unchanged. The focusedInstanceCheckServiceTestand fullshenyu-adminsuite both pass locally.fix(admin): isolate instance health sync failures (apache#6496)
fix(admin): keep instance health sync scheduled after failures (apach…
fix(admin): isolate instance health sync failures (apache#6496)
test(admin): disambiguate sync exception assertions (apache#6496)
fix(admin): keep instance health sync scheduled after failures (#6496) (