In order to keep the order of processing the generations, when the
requested gen is higher than the current gen we log both into the
error repo and process them in order again later.
Fixes: https://tracker.ceph.com/issues/68805
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
This reverts commit
a191f9a6d2997f655f580e16731615e77350a03d.
} else {
tn->log(20, SSTR("logged prev gen entry (bucket=" << source_bs.bucket << ", shard_id=" << source_bs.shard_id << ", gen=" << current_gen << " in error repo: retcode=" << retcode));
}
- } else {
+ }
retcode = -EAGAIN;
tn->log(10, SSTR("ERROR: requested sync of future generation "
<< *gen << " > " << current_gen
<< ", returning " << retcode << " for later retry"));
return set_cr_error(retcode);
- }
} else if (*gen < current_gen) {
tn->log(10, SSTR("WARNING: requested sync of past generation "
<< *gen << " < " << current_gen