#764 CRITICAL: HeartbeatService/TimeoutService uncoordinated liveness signals
Description
EditHeartbeatService updates last_heartbeat but TimeoutService checks claim_expires_at - two uncoordinated signals. Race window: Heartbeat updates claim_expires_at but before commit, TimeoutService marks task FAILED. Fix: Renewable lease pattern + dual check. Files: heartbeat_service.py, timeout_service.py
Comments
Loading comments...
Context
Loading context...
Audit History
View AllLoading audit history...