mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-25 02:50:33 +00:00
" When a permit is destroyed we check if it still holds on to any resources in the destructor. Any resources the permit still holds on are leaked resources, as users should have released these. Currently we just invoke `on_internal_error_noexcept()` to handle this, which -- depending on the configuration -- will result in an error message or an assert. In the former case, the resources will be leaked for good. This mini-series fixes this, by signaling back these resources to the semaphore. This helps avoid an eventual complete dry-up of all semaphore resources and a subsequent complete shutdown of reads. Tests: unit(release, debug) " * 'reader-permit-signal-leaked-resources/v1' of https://github.com/denesb/scylla: reader_permit: signal leaked resources test: test_reader_lifecycle_policy: keep semaphores alive until all ops cease sstables: generate_summary(): extend the lifecycle of the reader concurrency semaphore