Requests arriving after the goodbye
The service handles its termination signal properly. It stops the listener, finishes what it is holding, and exits in under a second, which everyone was proud of.
Every rolling deploy still drops requests, and the application's own logs show them arriving after it began shutting down. Deleting a pod does not sequence "take it out of the load balancer, then tell the process". Those two things start at the same moment and finish at different times.
Outside every boundary: Signal delivered (not before now), Proxies stop sending (propagation lag), Endpoint terminating (control plane), Shutdown begins (graceful), Process exits (FAILED: gone too early), Delete accepted (timestamp set), an empty slot for the what holds the process open, an empty slot for the must cover both of those Connections: Delete accepted calls Shutdown begins (step 1) Delete accepted calls Endpoint terminating (step 1) Shutdown begins calls what holds the process open — at once (step 2) Endpoint terminating publishes to Proxies stop sending — eventually (step 2) what holds the process open calls Signal delivered — only after the hook (step 3) Signal delivered calls Process exits (step 4) must cover both of those controls Process exits Proxies stop sending must NOT reach Process exits — still routing here