}
if (--peers->pending == 0) {
peers->all_committed.set_value();
+ peers->all_committed = {};
+ return seastar::now();
}
return peers->all_committed.get_future();
}).then([pending_txn, this] {
- pending_txn->second.all_committed = {};
auto acked_peers = std::move(pending_txn->second.acked_peers);
pending_trans.erase(pending_txn);
return seastar::make_ready_future<crimson::osd::acked_peers_t>(std::move(acked_peers));
if (peer.shard == reply.from) {
peer.last_complete_ondisk = reply.get_last_complete_ondisk();
if (--peers.pending == 0) {
- peers.all_committed.set_value();
+ peers.all_committed.set_value();
+ peers.all_committed = {};
}
return;
}