summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/scylla/files/3.1.2-fix-read-amplification.patch')
-rw-r--r--dev-db/scylla/files/3.1.2-fix-read-amplification.patch13
1 files changed, 13 insertions, 0 deletions
diff --git a/dev-db/scylla/files/3.1.2-fix-read-amplification.patch b/dev-db/scylla/files/3.1.2-fix-read-amplification.patch
new file mode 100644
index 0000000..c0dceef
--- /dev/null
+++ b/dev-db/scylla/files/3.1.2-fix-read-amplification.patch
@@ -0,0 +1,13 @@
+diff --git a/table.cc b/table.cc
+index eec65689f2..596c312854 100644
+--- a/table.cc
++++ b/table.cc
+@@ -2518,7 +2518,7 @@ future<row_locker::lock_holder> table::do_push_view_replica_updates(const schema
+ std::move(slice),
+ std::move(m),
+ [base, views = std::move(views), lock = std::move(lock), this, timeout, source = std::move(source), &io_priority] (auto& pk, auto& slice, auto& m) mutable {
+- auto reader = source.make_reader(base, pk, slice, io_priority);
++ auto reader = source.make_reader(base, pk, slice, io_priority, nullptr, streamed_mutation::forwarding::no, mutation_reader::forwarding::no);
+ return this->generate_and_propagate_view_updates(base, std::move(views), std::move(m), std::move(reader)).then([lock = std::move(lock)] () mutable {
+ // return the local partition/row lock we have taken so it
+ // remains locked until the caller is done modifying this