From 197a2ab0718a87ffe02567c77f06dadb1abb79d8 Mon Sep 17 00:00:00 2001 From: Xinze Chi Date: Mon, 10 Nov 2014 16:52:09 +0000 Subject: [PATCH] OSD: batch trim for pg_log Signed-off-by: Xinze Chi --- src/common/config_opts.h | 1 + src/osd/ReplicatedPG.cc | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/common/config_opts.h b/src/common/config_opts.h index be9cb1311a8d..203c2bede1ae 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -570,6 +570,7 @@ OPTION(osd_pg_epoch_persisted_max_stale, OPT_U32, 200) OPTION(osd_min_pg_log_entries, OPT_U32, 3000) // number of entries to keep in the pg log when trimming it OPTION(osd_max_pg_log_entries, OPT_U32, 10000) // max entries, say when degraded, before we trim +OPTION(osd_pg_log_trim_min, OPT_U32, 100) OPTION(osd_op_complaint_time, OPT_FLOAT, 30) // how many seconds old makes an op complaint-worthy OPTION(osd_command_max_records, OPT_INT, 256) OPTION(osd_max_pg_blocked_by, OPT_U32, 16) // max peer osds to report that are blocking our progress diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index a72c30259ab0..98c425585aee 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -1046,6 +1046,9 @@ void ReplicatedPG::calc_trim_to() min_last_complete_ondisk != pg_trim_to && pg_log.get_log().approx_size() > target) { size_t num_to_trim = pg_log.get_log().approx_size() - target; + if (num_to_trim < cct->_conf->osd_pg_log_trim_min) { + return; + } list::const_iterator it = pg_log.get_log().log.begin(); eversion_t new_trim_to; for (size_t i = 0; i < num_to_trim; ++i) { -- 2.47.3