hi, all I confuse the roll_forward logic in the PG::append_log. The pg_log.roll_forward func may roll forward the all inflight transactions which maybe not be completed by all shards. The comment also makes me wonder. so could anyone explain it in detail. thanks. if (!transaction_applied) { /* We must be a backfill peer, so it's ok if we apply * out-of-turn since we won't be considered when * determining a min possible last_update. */ pg_log.roll_forward(&handler); } /* We don't want to leave the rollforward artifacts around * here past last_backfill. It's ok for the same reason as * above */ if (transaction_applied && p->soid > info.last_backfill) { pg_log.roll_forward(&handler); } -- Regards, Xinze Chi -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html