mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-12 19:02:12 +00:00
Revert "table: disable_auto_compaction: stop ongoing compactions"
This reverts commit 4affa801a5.
In issue #10146 a write throughput drop of ~50% was reported, after
bisect it was found that the change that caused it was adding some
code to the table::disable_auto_compaction which stops ongoing
compactions and returning a future that resolves once all the compaction
tasks for a table, if any, were terminated. It turns out that this function
is used only at startup (and in REST api calls which are not used in the test)
in the distributed loader just before resharding and loading of
the sstable data. It is then reanabled after the resharding and loading
is done.
For still unknown reason, adding the extra logic of stopping ongoing
compactions made the write throughput drop to 50%.
Strangely enough this extra logic **should** (still unvalidated) not
have any side effects since no compactions for a table are supposed to
be running prior to loading it.
This regains the performance but also undo a change which eventually
should get in once we find the actual culprit.
Signed-off-by: Eliran Sinvani <eliransin@scylladb.com>
Closes #10559
Reopens #9313.
This commit is contained in:
committed by
Avi Kivity
parent
333f6c5ec9
commit
8e8dc2c930
@@ -2170,7 +2170,7 @@ std::chrono::milliseconds table::get_coordinator_read_latency_percentile(double
|
||||
|
||||
void
|
||||
table::enable_auto_compaction() {
|
||||
// FIXME: unmute backlog. turn table backlog back on.
|
||||
// XXX: unmute backlog. turn table backlog back on.
|
||||
// see table::disable_auto_compaction() notes.
|
||||
_compaction_disabled_by_user = false;
|
||||
trigger_compaction();
|
||||
@@ -2178,7 +2178,7 @@ table::enable_auto_compaction() {
|
||||
|
||||
future<>
|
||||
table::disable_auto_compaction() {
|
||||
// FIXME: mute backlog. When we disable background compactions
|
||||
// XXX: mute backlog. When we disable background compactions
|
||||
// for the table, we must also disable current backlog of the
|
||||
// table compaction strategy that contributes to the scheduling
|
||||
// group resources prioritization.
|
||||
@@ -2205,9 +2205,8 @@ table::disable_auto_compaction() {
|
||||
// - it will break computation of major compaction descriptor
|
||||
// for new submissions
|
||||
_compaction_disabled_by_user = true;
|
||||
return with_gate(_async_gate, [this] {
|
||||
return compaction_manager().stop_ongoing_compactions("disable auto-compaction", this, sstables::compaction_type::Compaction);
|
||||
});
|
||||
// FIXME: stop ongoing compactions
|
||||
return make_ready_future<>();
|
||||
}
|
||||
|
||||
flat_mutation_reader_v2
|
||||
|
||||
Reference in New Issue
Block a user