Task · TSO-0059

Per-tailnet admission fairness on shared receivers

Description

Both receiver routers share one semaphore sized from the base MaxConcurrentRequests (internal/stream/stream.go:697-720, internal/webhook/webhook.go:403-422); one tailnet flooding the listener starves every other route. Add per-route admission sub-budgets (share of the global budget, or per-route override) so a noisy tenant cannot silence the rest in multi-tailnet mode. Consider interaction with the WAL admission path.

Acceptance Criteria

Definition of Done

Implementation Plan

Root F1 freezes per-route receiver admission budgets with defaults that preserve current global-only behaviour; lane E later implements fairness and concurrency tests.

Lane E consumes the frozen per-route admission limits to provide per-tailnet fairness on shared receivers, with focused concurrency tests.

Final Summary

Added configurable per-route admission budgets so a flood on one receiver route cannot consume the listener, with concurrency tests for streaming and webhook paths. Implementation SHA f35b6ab. Final integrated just check passed at 5b55617; exact-head CI run 33354208183 completed success.

View the source file on GitHub