summaryrefslogtreecommitdiffhomepage
path: root/control/controlhttp/controlhttpserver/controlhttpserver.go
diff options
context:
space:
mode:
authorMike O'Driscoll <mikeo@tailscale.com>2026-03-06 09:54:25 -0500
committerGitHub <noreply@github.com>2026-03-06 09:54:25 -0500
commit3cc7b8530c7fd0dd069ebb5ec9863a8cf1e0deee (patch)
tree15705b2125b429a8be7106e83d7ae9b962b06361 /control/controlhttp/controlhttpserver/controlhttpserver.go
parent40858a61fe1c6a0e90add476e5c9aa8d366dfb24 (diff)
downloadtailscale-3cc7b8530c7fd0dd069ebb5ec9863a8cf1e0deee.tar.xz
tailscale-3cc7b8530c7fd0dd069ebb5ec9863a8cf1e0deee.zip
prober: fix queuing delay probe txRecords overflow under high DERP server load (#18803)
The txRecords buffer had two compounding bugs that caused the overflow guard to fire on every send tick under high DERP server load, spamming logs at the full send rate (e.g. 100x/second). First, int(packetTimeout.Seconds()) truncates fractional-second timeouts, under-allocating the buffer. Second, the capacity was sized to exactly the theoretical maximum number of in-flight records with no headroom, and the expiry check used strict > rather than >=, so records at exactly the timeout boundary were never evicted by applyTimeouts, leaving len==cap on the very next tick. Fixes tailscale/corp#37696 Signed-off-by: Mike O'Driscoll <mikeo@tailscale.com>
Diffstat (limited to 'control/controlhttp/controlhttpserver/controlhttpserver.go')
0 files changed, 0 insertions, 0 deletions