You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix a slot leak: the onAccepted observer callback ran after acquire but outside the try/finally that guarantees release(), so a throwing observer (unreachable metrics backend, a TypeError in the closure) left the slot occupied — until lease expiry on Redis/APCu, and permanently with InMemoryBulkheadStore (which ignores the lease). The callback now runs inside the try.
Document the release-path failure semantics: a release() exception masks the callback's exception (reachable via getPrevious(), which PHP chains automatically) and loses a successful result — a store exception from call() means "outcome unknown", never "did not happen". Pinned by tests.
Docs: fix the name-pattern anchor shown in README.md/README.ru.md/llms.txt to the \z the code actually uses ($ matches before a trailing newline); document that keyPrefix is trusted configuration (not validated, unlike name) and the token trust model (CSPRNG tokens protect against accidents, not adversaries — the trust boundary is Redis access itself).