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] A slow Admin delays independent heartbeats to all subsequent Admins #7743
Independent HeartbeatListener runs a single periodic reporting task with a five-second target period. sendHeartbeat loops over the configured Admin list sequentially; token loading/login and RegisterUtils.doHeartBeat are synchronous network calls. Catching a failure allows the loop to continue only after that call returns or times out.
A slow first Admin therefore delays reports to otherwise healthy later Admins and delays the next reporting round. An endpoint that streams an unfinished response slowly enough to avoid individual read timeouts can occupy the call well beyond the twenty-second Admin liveness threshold. Several ordinary timeout delays can also accumulate across the list. This can cause healthy destinations to observe stale/missing heartbeats even though they are reachable.
Source-confirmed serialization of work; no real multi-Admin fault test was run during issue preparation. Impact depends on the duration of the blocked operation and reporting policy.
Acceptance criteria
Use a controlled slow/stalled first Admin and a healthy second Admin to demonstrate the reporting delay, without long sleeps.
Define an end-to-end deadline for each destination, covering login, network phases and response consumption.
Isolate destinations using bounded independent scheduling/asynchronous work or a similarly bounded design. Prevent overlapping retries and unbounded work queues.
A slow/unreachable destination does not starve reports to a healthy destination beyond the documented liveness budget.
Test token-loading stalls, slow bodies, ordinary failures, recovery and shutdown cancellation; retain per-destination token ownership.
Report cadence/deadline settings and resource bounds are documented; do not simply add an unbounded thread pool.
Activity
[ISSUE apache#7743] Isolate destination heartbeats and enforce per-de…
[ISSUE apache#7743] Reset in-flight flag on task timeout and rejectio…
[ISSUE apache#7743] Isolate destination heartbeats, enforce deadline,…
[ISSUE #7743] Isolate destination heartbeats, enforce deadline, and r…