mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-12 19:02:12 +00:00
The `consume*()` variants just forward the call to the `_impl` method with the same name. The latter, being a member of `::impl`, will bypass the top level `fill_buffer()`, etc. methods and thus will never call `set_close_required()`. Do this in the top-level `consume*()` methods instead, to ensure a reader, on which only `consume*()` is called, and then is destroyed, will complain as it should (and abort). Only one place was found in core code, which didn't close the reader: `split_mutation() in `mutation/mutation.cc` and this reader is the "from-mutation" one which has no real close routine. All other places were in tests. All this is to say, there were no real bugs uncovered by this PR. Fixes #16520 Improvement, no backport required. Closes scylladb/scylladb#16522 * github.com:scylladb/scylladb: readers/flat_mutation_reader_v2: call set_close_required() from consume*() test/boost/sstable_compaction_test: close reader after use test/boost/repair_test: close reader after use mutation/mutation: split_mutation(): close reader after use