Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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)



It'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.


Why so? I thought UDP was stateless, making that process even easier. But I never implemented it.


UDP 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.


How are quick/http3 servers usually upgraded? As you say, it seems tricky.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: