> Yeah, this is definitely broken, but I think it's broken even beyond that
> specific case. It looks like it's just an ill-conceived optimization.
> The problem is that peer_missing needs to have missing in terms of the
> master log (on the primary), not the peer's log, and in order to
> calculate that we need pull the log+missing. (In the
> last_update==last_complete case I was trying to optimize, the missing set
> will just be empty.) The current code missing the case where the replica
> has a divergent log or and older last_update (even one > log.tail).
>
> I think this shortcut _only_ makes sense when the replica is perfectly up
> to date, i.e.
>
> if (pi.last_update == pi.last_complete &&
> pi.last_update == info.last_update) {
>
> Does that sound right?
Yeah, thanks for the clarification. :)
--
Henry Chang
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html