From b626b4dcdcf380cef734548c43d6329b36869612 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 5 Apr 2018 13:04:09 -0500 Subject: [PATCH] mon/OSDMonitor: keep sending legacy create messages for now Signed-off-by: Sage Weil --- src/mon/OSDMonitor.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 4eb692e10f8..2df8b77b451 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -3343,7 +3343,14 @@ epoch_t OSDMonitor::send_pg_creates(int osd, Connection *con, epoch_t next) cons MOSDPGCreate *oldm = nullptr; // for pre-mimic OSD compat MOSDPGCreate2 *m = nullptr; - bool old = !HAVE_FEATURE(con->get_features(), SERVER_MIMIC); + + // for now, keep sending legacy creates. Until we sort out how to address + // racing mon create resends and splits, we are better off with the less + // drastic impacts of http://tracker.ceph.com/issues/22165. The legacy + // create message handling path in the OSD still does the old thing where + // the pg history is pregenerated and it's instantiated at the latest osdmap + // epoch; child pgs are simply not created. + bool old = true; // !HAVE_FEATURE(con->get_features(), SERVER_MIMIC); epoch_t last = 0; for (auto epoch_pgs = creating_pgs_by_epoch->second.lower_bound(next); -- 2.39.5