mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-13 03:12:13 +00:00
This series is a conceptual revert of4c8ab10, which turned out to be a misguided defense mechanism that proved to be a hotbed for bugs. This protection was superseded by0fe75571d9which guarantees forward progress at all times without all the gotchas and bad interactions introduced by4c8ab10. The latest instance of bad interaction that triggered this series is a case of resource units being leaked when a previously evicted reader is re-admitted, leaking already owned resources on each re-admission. To prove that neither the resource leak, nor the deadlock4c8ab10was supposed to guard against exists after this series, it includes two unit tests stressing the respective areas: readmission and admission on a highly contested semaphore. Fixes: #8493 Also on: https://github.com/denesb/scylla.git reader-permit-resource-leak-v2 Changelog v2: * Rebase over the recently merged reader close series. Fix merge conflicts and an exposed bug. * 'reader-permit-resource-leak-v2' of https://github.com/denesb/scylla: test: mutation_reader_test: add test_reader_concurrency_semaphore_forward_progress test: mutation_reader_test: add test_reader_concurrency_semaphore_readmission_preserves_units reader_concurrency_semaphore: add dump_diagnostics() reader_permit: always forward resources reader_concurrency_semaphore: inactive_read_handle: abandon(): close reader