mirror of
https://github.com/versity/versitygw.git
synced 2026-09-23 00:14:15 +00:00
Size the publication queue from the configured session limit instead of a fixed depth with an overflow semaphore: each session publishes exactly one terminal record, so the queue can never fill and native callbacks hand off without waiting. Remove the semaphore fallback. Admit verification failures under the shutdown barrier so an authentication publication cannot land after the sinks close. Give the metrics manager a lifetime independent of the gateway context so shutdown drain updates are counted, and pass the captured bucket explicitly so RC datapoints appear in bucket-filtered metrics. Track reservations by claim generation: release and publication validate the generation, so a stale claim cannot consume a newer owner's record. Install the reservation cleanup defer immediately after acquisition so a panic during authorization cannot orphan it. Preserve committed PUT facts independent of the native finalizer: when the backend object exists, record the commit, keep the committed byte count on the error publication, and still emit the object-created event.