On Mon, 14 Sep 2015, GuangYang wrote:
> Thanks Sage. That makes sense. Just would like to confirm my understanding:
> 
> Let's say the map for the PG changes from [1, 2, 3] to [1, 2, 4] and 4 is the 
> backfill target (4 may or may not have the info for the PG, which should not 
> matter as long as it is not eligible for log based recovery), here the PG's 
> last_backfill and backfill_info.begin would reset to MIN, same for 4, and the 
> flow would be something like:
>   1. 1 scan_range starting from backfill_info.begin for a configured number 
> of entries
>   2. 1 query the digest from 4 for the range
>   3. Once the digest is back from 4, fill the to_push and to_remove list by 
> comparing the local and remote entries (here we also consider the PG log to 
> capture most recent updates)
>   4. If either to_push or to_remove is not empty, push the objects (or 
> remove) to the backfill target.
>   5. Move the lack_backfill pointer and continue with step 1.

Yep!

sage

Reply via email to