}
}
-bool PG::old_peering_msg(const epoch_t map_epoch) const
+bool PG::old_peering_msg(
+ const epoch_t reply_epoch,
+ const epoch_t query_epoch) const
{
if (const epoch_t lpr = peering_state.get_last_peering_reset();
- lpr > map_epoch) {
- logger().debug("{}: pg changed {} after {}, dropping",
- __func__, get_info().history, map_epoch);
+ lpr > reply_epoch || lpr > query_epoch) {
+ logger().debug("{}: pg changed {} lpr {}, reply_epoch {}, query_epoch {}",
+ __func__, get_info().history, lpr, reply_epoch, query_epoch);
return true;
}
return false;
}
// same pg?
// if pg changes *at all*, we reset and repeer!
- return old_peering_msg(m_map_epoch);
+ return old_peering_msg(m_map_epoch, m_map_epoch);
}
seastar::future<> PG::stop()
return seastar::now();
}
- bool old_peering_msg(epoch_t map_epoch) const;
+ bool old_peering_msg(epoch_t reply_epoch, epoch_t query_epoch) const;
template <typename MsgType>
bool can_discard_replica_op(const MsgType& m) const {