mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-13 03:12:13 +00:00
There is a handful of places in the code related to dictionary compression which calls get_units to acquire semaphore units but the returned future is not awaited, seemingly by mistake. The result of get_units is assigned to a variable - which is reasonable at a glance because the semaphore units need to be assigned to a variable in order to control their scope - but at the same time if co_await is mistakenly omitted, like here, doing so will silence the nodiscard check of seastar::future and, effectively, the get_units call will be nearly useless. Unfortunately, this is an easy mistake to make. Fix the places in the code that acquire semaphore units via get_units but never await the future returned by it. I found them by manual code inspection, so I hope that I didn't miss any. Closes scylladb/scylladb#28581