From: Kefu Chai Date: Wed, 6 Jul 2016 11:41:54 +0000 (+0800) Subject: osd: increment stas on recovery pull also X-Git-Tag: ses5-milestone5~443^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F10152%2Fhead;p=ceph.git osd: increment stas on recovery pull also PGMap::recovery_rate_summary() summaries the recovery progress from a pool's pool_stat_t.stats.sum.num_{objects_recovered,bytes_recovered,keys_recovered}, now we only increment stats on completion of recovery push, but there are chances that a PG recovers by pulling data from replicas to primary. in that case, teuthology will erroneously consider recovery hung: a zero recovering_keys_per_sec or recovering_bytes_per_sec or recovering_objects_per_sec. so we should increment stats on pull as well. Fixes: http://tracker.ceph.com/issues/16277 Signed-off-by: Kefu Chai --- diff --git a/src/osd/ReplicatedBackend.cc b/src/osd/ReplicatedBackend.cc index eb580144b7f1..f363d780a08f 100644 --- a/src/osd/ReplicatedBackend.cc +++ b/src/osd/ReplicatedBackend.cc @@ -1832,7 +1832,11 @@ bool ReplicatedBackend::handle_pull_response( pop.omap_entries, t); + pi.stat.num_keys_recovered += pop.omap_entries.size(); + pi.stat.num_bytes_recovered += data.length(); + if (complete) { + pi.stat.num_objects_recovered++; to_continue->push_back(hoid); get_parent()->on_local_recover( hoid, pi.recovery_info, pi.obc, t);