Loading debian/changelog +22 −0 Original line number Diff line number Diff line authdb (20260712+5) unstable; urgency=high * Cluster::fetchSessionBySid(): pass an explicit 5s deadline to paritypp::client::retrieve() instead of the default (none) — omitting it gives every stripe its own independent ~30s retry budget with no overall cap, the same unbounded-retry shape that caused mediadb's 20260711+32 incident. Session-cache misses go through this on any authenticated request across every service using authdb, and unlike mediadb's HTTP server (server.cpp boosts worker threads to max(cores*4, 16)), authdb never boosted its own worker-thread count — so a handful of concurrent misses during a degraded-but-not-yet- critical window was enough to tie up its entire pool. Session lookups now fail closed within 5s instead of hanging. * main(): boost authdb.threads to max(cores*4, 16), matching mediadb's server.cpp margin, instead of netplus::event's un-overridden default of just the core count. Directly implicated in a production incident where authdb stopped responding alongside mediadb — a service that authenticates requests for other services shouldn't run with less request-handling headroom than the busiest of them. -- Jan Koester <jan.koester@tuxist.de> Sat, 18 Jul 2026 06:53:29 +0200 authdb (20260712+4) unstable; urgency=high * ClusterBackend::fetchFromCluster(): only skip the real network fetch Loading Loading
debian/changelog +22 −0 Original line number Diff line number Diff line authdb (20260712+5) unstable; urgency=high * Cluster::fetchSessionBySid(): pass an explicit 5s deadline to paritypp::client::retrieve() instead of the default (none) — omitting it gives every stripe its own independent ~30s retry budget with no overall cap, the same unbounded-retry shape that caused mediadb's 20260711+32 incident. Session-cache misses go through this on any authenticated request across every service using authdb, and unlike mediadb's HTTP server (server.cpp boosts worker threads to max(cores*4, 16)), authdb never boosted its own worker-thread count — so a handful of concurrent misses during a degraded-but-not-yet- critical window was enough to tie up its entire pool. Session lookups now fail closed within 5s instead of hanging. * main(): boost authdb.threads to max(cores*4, 16), matching mediadb's server.cpp margin, instead of netplus::event's un-overridden default of just the core count. Directly implicated in a production incident where authdb stopped responding alongside mediadb — a service that authenticates requests for other services shouldn't run with less request-handling headroom than the busiest of them. -- Jan Koester <jan.koester@tuxist.de> Sat, 18 Jul 2026 06:53:29 +0200 authdb (20260712+4) unstable; urgency=high * ClusterBackend::fetchFromCluster(): only skip the real network fetch Loading