how to avoid new quic connection distributed to old workers when nginx-quic reload

Vladimir Homutov vl at inspert.ru
Mon May 30 17:24:19 UTC 2022


On Mon, May 30, 2022 at 06:55:15PM +0800, 朱宇 wrote:
> Hi,
>
>
> in "src/event/quic/bpf/ngx_quic_reuseport_helper.c",  if can not find socket by dcid (cookie), udp packet will be distributed by kernel.
>
>
> so when nginx-quic reload, how to avoid new quic connecion packet distributed to old workers which result in old worker processes can't exit?
>
>
> thanks

Old (exiting) workers stop accepting new connections and ignores such
packet or replies with 'retry' if configured. The sender assumes that the
packet was lost or gets the 'retry' packet and repeats send. Hopefully,
the next time old worker will already exit and the packet will be
delivered to new worker. This is not ideal, but this is how it works now.

See http://hg.nginx.org/nginx-quic/file/quic/src/event/quic/ngx_event_quic.c#l913



More information about the nginx-devel mailing list