diff options
author | Samuel Just <sam.just@inktank.com> | 2013-04-15 16:33:48 -0700 |
---|---|---|
committer | Samuel Just <sam.just@inktank.com> | 2013-05-31 10:39:10 -0700 |
commit | db85c52d4cff8f541e2cdd30e7a28cadf4bf516f (patch) | |
tree | f406ff316a7d5f40441259b593e9f4f6f4928418 /src/common/config_opts.h | |
parent | fbf5a242d91e293e4e24fbb94e31e163374c7912 (diff) | |
download | ceph-db85c52d4cff8f541e2cdd30e7a28cadf4bf516f.tar.gz |
PG: don't write out pg map epoch every handle_activate_map
We don't actually need to write out the pg map epoch on every
activate_map as long as:
a) the osd does not trim past the oldest pg map persisted
b) the pg does update the persisted map epoch from time
to time.
To that end, we now keep a reference to the last map persisted.
The OSD already does not trim past the oldest live OSDMapRef.
Second, handle_activate_map will trim if the difference between
the current map and the last_persisted_map is large enough.
Fixes: #4731
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 2c5a9f0e178843e7ed514708bab137def840ab89)
Conflicts:
src/common/config_opts.h
src/osd/PG.cc
- last_persisted_osdmap_ref gets set in the non-static
PG::write_info
Conflicts:
src/osd/PG.cc
Diffstat (limited to 'src/common/config_opts.h')
-rw-r--r-- | src/common/config_opts.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/common/config_opts.h b/src/common/config_opts.h index 5e87b2f1782..e23c8affb0f 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -435,6 +435,10 @@ OPTION(osd_use_stale_snap, OPT_BOOL, false) OPTION(osd_rollback_to_cluster_snap, OPT_STR, "") OPTION(osd_default_notify_timeout, OPT_U32, 30) // default notify timeout in seconds OPTION(osd_kill_backfill_at, OPT_INT, 0) + +// Bounds how infrequently a new map epoch will be persisted for a pg +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_op_complaint_time, OPT_FLOAT, 30) // how many seconds old makes an op complaint-worthy |