09666cc7194760d10b34b5a41f8817437538dd7b
TryBeginCloseIfExpired set _closeStarted when it reserved a session, so the sweep's own CloseAsync reported AlreadyClosed: true and CloseSessionCoreAsync skipped SessionClosed: lease-expired, faulted-reaped and detach-grace-expired closes never left the sessions.open gauge and under-counted sessions.closed. The reservation now writes Closing only; the first CloseAsync to take the close lock does the accounting exactly once.
Description
No description provided
Languages
C#
48.4%
Java
40.1%
Python
3.2%
Rust
3%
Go
2.6%
Other
2.7%