Repository navigation
agents: bound StatsD send queue processing - #632
Conversation
Walkthrough
This head ( Assessment
Verdict: APPROVE — the only prior blocker (lint-cpp) is verifiably fixed on this head; the queue-bounding logic is unchanged from the full pass and remains correct. |
brycebaril
left a comment
There was a problem hiding this comment.
LGTM though cpp-lint says this line is too long:
agents/statsd/src/statsd_agent.cc:769
Workers can refill the send queue faster than the StatsD thread drains it. Draining until empty can monopolize the agent loop and prevent endpoint reconfiguration and shutdown from running. Process at most 1024 queued sends per callback and signal another pass when work remains. Keep the existing shutdown lock and FIFO ordering. The worker reconfiguration stress test is unchanged. Native syntax compilation and whitespace checks pass; the runtime regression still needs a rebuilt binary. Fixes: #604 PR-URL: #632 Reviewed-By: Bryce Baril <bryce.baril@gmail.com> Signed-off-by: Santiago Gimeno <santiago.gimeno@gmail.com>
34d7d7d to
0d96c33
Compare
Workers can refill the send queue faster than the StatsD thread drains it. Draining until empty can monopolize the agent loop and prevent endpoint reconfiguration and shutdown from running.
Process at most 1024 queued sends per callback and signal another pass when work remains. Keep the existing shutdown lock and FIFO ordering.
The worker reconfiguration stress test is unchanged. Native syntax compilation and whitespace checks pass; the runtime regression still needs a rebuilt binary.
Assisted-by: Codex