From 83105efba8d8f00a386a9a66711b3911c64968e1 Mon Sep 17 00:00:00 2001 From: Gleb Natapov Date: Thu, 20 Feb 2020 12:29:39 +0200 Subject: [PATCH] commitlog: use commitlog IO scheduling class for segment zeroing There may be other commitlog writes waiting for zeroing to complete, so not using proper scheduling class causes priority inversion. Fixes #5858. Message-Id: <20200220102939.30769-2-gleb@scylladb.com> (cherry picked from commit 6a78cc9e310c7d4520d51956bb1f811d3594e2a6) --- db/commitlog/commitlog.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/commitlog/commitlog.cc b/db/commitlog/commitlog.cc index 34c4fb1525..3a22643568 100644 --- a/db/commitlog/commitlog.cc +++ b/db/commitlog/commitlog.cc @@ -1316,7 +1316,7 @@ future db::commitlog::segment_manager: v.emplace_back(iovec{ buf.get_write(), s}); m += s; } - return f.dma_write(max_size - rem, std::move(v)).then([&rem](size_t s) { + return f.dma_write(max_size - rem, std::move(v), service::get_local_commitlog_priority()).then([&rem](size_t s) { rem -= s; return stop_iteration::no; });