Remove async recovery components: The async recovery feature is not present
in luminous. We do not need commit
22d17fb5aad6ab9d7525d9492c0e96a36d02879e,
which adds a flag to remember async recovery. We have also removed async
recovery requirements from this commit and modified the commit message to
only reflect backfill.
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
e538c31f0f3133f811a8e478fcb25b575cad66bf)
dout(10) << __func__ << " approx pg log length = "
<< pg_log.get_log().approx_size() << dendl;
- pg_log.trim(trim_to, info);
+ dout(10) << __func__ << " transaction_applied = "
+ << transaction_applied << dendl;
+ if (!transaction_applied)
+ dout(10) << __func__ << " " << pg_whoami
+ << " is backfill target" << dendl;
+ pg_log.trim(trim_to, info, transaction_applied);
// update the local pg, pg log
dirty_info = true;
void PGLog::trim(
eversion_t trim_to,
- pg_info_t &info)
+ pg_info_t &info,
+ bool transaction_applied)
{
dout(10) << __func__ << " proposed trim_to = " << trim_to << dendl;
// trim?
if (trim_to > log.tail) {
- // We shouldn't be trimming the log past last_complete
- assert(trim_to <= info.last_complete);
+ // Don't assert for backfill_targets
+ if (transaction_applied)
+ assert(trim_to <= info.last_complete);
dout(10) << "trim " << log << " to " << trim_to << dendl;
log.trim(cct, trim_to, &trimmed, &trimmed_dups, &write_from_dups);
void trim(
eversion_t trim_to,
- pg_info_t &info);
+ pg_info_t &info,
+ bool transaction_applied = true);
void roll_forward_to(
eversion_t roll_forward_to,