Parent tracker
Goal
Bound app-server worker lifetime so Python/glibc RSS high-water marks are released before a worker reaches the container memory limit.
The current workers are long-lived processes. Resource-limit changes can provide headroom and reduce CPU throttling, but they do not return retained allocator arenas to the operating system. Controlled recycling is therefore a separate durability mechanism.
Scope
Acceptance criteria
- Worker RSS is periodically reset without restarting the pod or dropping below safe serving capacity.
- Recycling is staggered across workers and replicas.
- In-flight requests drain within the configured grace period.
- A soak test demonstrates bounded long-term RSS under representative traffic.
- Operators can distinguish expected recycling from crashes, OOMKills, and readiness failures.
- The mechanism can be disabled quickly without rebuilding the application image.
This issue was created by an AI agent (OpenHands) on behalf of the user.
Parent tracker
Goal
Bound app-server worker lifetime so Python/glibc RSS high-water marks are released before a worker reaches the container memory limit.
The current workers are long-lived processes. Resource-limit changes can provide headroom and reduce CPU throttling, but they do not return retained allocator arenas to the operating system. Controlled recycling is therefore a separate durability mechanism.
Scope
Acceptance criteria
This issue was created by an AI agent (OpenHands) on behalf of the user.