From 22786cffa8c8c567c44791fd693d22b0471dcd21 Mon Sep 17 00:00:00 2001 From: xie xingguo Date: Tue, 21 Aug 2018 16:37:41 +0800 Subject: [PATCH] osd/PG: force auth_log_shard to be primary when appropriate So if there are a lot fo missing objects on primary, we can make use of auth_log_shard to restore client I/O quickly. Signed-off-by: xie xingguo --- qa/standalone/osd/osd-recovery-stats.sh | 2 ++ src/common/options.cc | 4 ++++ src/osd/PG.cc | 32 ++++++++++++++++++++++++- src/osd/PG.h | 2 ++ 4 files changed, 39 insertions(+), 1 deletion(-) diff --git a/qa/standalone/osd/osd-recovery-stats.sh b/qa/standalone/osd/osd-recovery-stats.sh index 5f3c9352e8e..01f163ea5aa 100755 --- a/qa/standalone/osd/osd-recovery-stats.sh +++ b/qa/standalone/osd/osd-recovery-stats.sh @@ -26,6 +26,8 @@ function run() { export CEPH_ARGS CEPH_ARGS+="--fsid=$(uuidgen) --auth-supported=none " CEPH_ARGS+="--mon-host=$CEPH_MON " + # so we will not force auth_log_shard to be acting_primary + CEPH_ARGS+="--osd_force_auth_primary_missing_objects=1000000 " export margin=10 export objects=200 export poolname=test diff --git a/src/common/options.cc b/src/common/options.cc index 233255d48f9..b61bfe2e9f8 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -3217,6 +3217,10 @@ std::vector