You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently preserve old snapshots if the new snapshot has locators that point to missing blocks but the old snapshot has at least some of the same locators pointing to present blocks. This is so that when opening a directory that has missing blocks in the current snapshot, we can try to fall back to the old snapshot so we can at least show the previous version of the directory. This feature is called "fallback".
Currently the garbage collector doesn't take this into account and in some cases can prematurely collect blocks that are needed for fallback.
Currently we do garbage collection and missing block detection in the same step and so enabling fallback for one would enable it for the other. This would be wrong because the missing block detection would not detect missing blocks from the latest snapshots because it would too fall back to the old snapshot.
One way to fix this would be to split them into two separate steps. Then do the missing blocks detection without fallback and garbage collection with it.
The text was updated successfully, but these errors were encountered:
The scan job has been split in 88dd396 but the garbage collect job still doesn't use fallback because enabling it caused some tests to fail. It needs more investigation.
We currently preserve old snapshots if the new snapshot has locators that point to missing blocks but the old snapshot has at least some of the same locators pointing to present blocks. This is so that when opening a directory that has missing blocks in the current snapshot, we can try to fall back to the old snapshot so we can at least show the previous version of the directory. This feature is called "fallback".
Currently the garbage collector doesn't take this into account and in some cases can prematurely collect blocks that are needed for fallback.
Currently we do garbage collection and missing block detection in the same step and so enabling fallback for one would enable it for the other. This would be wrong because the missing block detection would not detect missing blocks from the latest snapshots because it would too fall back to the old snapshot.
One way to fix this would be to split them into two separate steps. Then do the missing blocks detection without fallback and garbage collection with it.
The text was updated successfully, but these errors were encountered: