Project

General

Profile

Bug #18162 » retrying-while-recovering.patch

Alexandre Oliva, 01/22/2017 02:30 AM

View differences:

src/osd/ReplicatedPG.cc
}
bool trim = true;
bool retrying = recovering.empty() && !backfills_in_flight.empty();
bool retrying = !backfills_in_flight.empty();
if (retrying) {
/* If we had any errors, arrange for us to retain the information
about the range before the first failed object, and to retry
......
PGBackend::RecoveryHandle *h = pgbackend->open_recovery_op();
for (unsigned i = 0; i < to_push.size(); ++i) {
handle.reset_tp_timeout();
if (backfills_in_flight.count(to_push[i].get<0>()))
if (retrying && backfills_in_flight.count(to_push[i].get<0>()))
dout(0) << "retrying backfill of " << to_push[i].get<0>()
<< " with locations "
<< missing_loc.get_locations(to_push[i].get<0>()) << dendl;
(5-5/5)