From 0ba04401ac4ad88f21d82af36744b43331ce4ef2 Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Sun, 19 Feb 2023 11:35:03 +0000 Subject: [PATCH] crimson/osd/pg: Add can_discard_op case discard op in the case where same_primary_since is later than the MOSDOp's map epoch Signed-off-by: Matan Breizman (cherry picked from commit c6ab21791545598473bd044ce602eea2bba892d3) --- src/crimson/osd/pg.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/crimson/osd/pg.cc b/src/crimson/osd/pg.cc index 52aee483560cc..9400f1a260028 100644 --- a/src/crimson/osd/pg.cc +++ b/src/crimson/osd/pg.cc @@ -1452,6 +1452,13 @@ void PG::context_registry_on_change() { } bool PG::can_discard_op(const MOSDOp& m) const { + if (m.get_map_epoch() < + peering_state.get_info().history.same_primary_since) { + logger().debug("{} changed after {} dropping {} ", + __func__ , m.get_map_epoch(), m); + return true; + } + if ((m.get_flags() & (CEPH_OSD_FLAG_BALANCE_READS | CEPH_OSD_FLAG_LOCALIZE_READS)) && !is_primary() -- 2.39.5