Fixes: https://tracker.ceph.com/issues/47133
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
epoch_t map_epoch = get_osdmap_epoch();
+ if (__builtin_expect(osd_op_p.at_version.epoch != map_epoch, false)) {
+ throw crimson::common::actingset_changed(is_primary());
+ }
+
std::vector<pg_log_entry_t> log_entries;
log_entries.emplace_back(obc->obs.exists ?
pg_log_entry_t::MODIFY : pg_log_entry_t::DELETE,
epoch_t map_epoch,
std::vector<pg_log_entry_t>&& log_entries)
{
- if (__builtin_expect((bool)peering, false)) {
- throw crimson::common::actingset_changed(peering->is_primary);
- }
logger().trace("mutate_object: num_ops={}", txn.get_num_ops());
if (obc->obs.exists) {
#if 0