With deletes during recovery instead of during log processing, we need
to keep the entry in missing_loc.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
std::move(manager),
boost::optional<std::function<void(void)> >(
[this, oids, con, num_unfound, tid]() {
- for (auto oid: oids)
+ if (perform_deletes_during_peering()) {
+ for (auto oid : oids) {
+ // clear old locations - merge_new_log_entries will have
+ // handled rebuilding missing_loc for each of these
+ // objects if we have the RECOVERY_DELETES flag
missing_loc.recovered(oid);
+ }
+ }
+
for (auto& p : waiting_for_unreadable_object) {
release_backoffs(p.first);
}