3 ms·
Just a shout out: it's super hard to do it for UDP / QUIC / H3. Beware. (but I don't think nginx supports h3 out of the box yet)
by majke 5y ago
Just a shout out: it's super hard to do it for UDP / QUIC / H3. Beware.
(but I don't think nginx supports h3 out of the box yet)
- krab 5y agoWhy so? I thought UDP was stateless, making that process even easier. But I never implemented it.
- TimWolla 5y agoUDP itself is stateless, but QUIC itself is stateful. Without knowing the background I would assume the issue to be that the incoming UDP packets will be routed to the new process after the reload and that new process is not aware of the existing QUIC connections, because the state resides in the old process. Thus it is not able to decrypt the packets for example.
- petters 5y agoHow are quick/http3 servers usually upgraded? As you say, it seems tricky.
- xyzzy_plugh 5y agoIt's fundamentally identical. How do you think one hands off a TLS session? Or any other state? It's only a problem if your state is tangled and impossible to serialize or bundle up to hand off. UDP is perhaps the easiest because there's nothing to do in the basic case, for example with DNS.