- 20 Jul, 2021 9 commits
-
-
Kirill Smelkov authored
- Reimplement ΔFtail queries via gluing ΔBtail and ΔZtail data on the fly. This helps to avoid implementing complex rebuild logic in ΔFtail. The only place that needs to have that complexity is now ΔBtail, and there it already works draftly. - Add ΔFtail tests. - Add notion of epochs to ΔFtail. Epochs correspond to ZBigFile objects changes (creation and deletion). Unfortunately handling ZBigFile object changes turned out to be necessary to keep wcfs tests in passing state. - Move common testing infrastructure - that is used by both ΔBtail and ΔFtail - to xbtreetest package. - Add tests for ΔBtail.SliceByRootRev aliasing - Lazy rebuild is now on - ΔBtail.GetAt reworked ... * t2: (112 commits) X wcfs: v↑ NEO/go (checkpoint) . . . . . . . . . . X ΔFtail: Rebuild vδE after first track . . . . . . . . ...
-
Kirill Smelkov authored
To pick up neo@bc3b5ec3
-
Kirill Smelkov authored
-
Kirill Smelkov authored
This is necessarry because previously both ΔFtail.BlkRevAt and ΔBtail.GetAt required zfile/root checkouts from @head. However during update process in wcfs it is ΔFtail that is updated first, and only after some invalidations zconn is resynced to new @head. And if we move zconn.resync to happen before ΔFtail.Update, that would break the invariant that data in OS cache correspond to zconn.At. The rework triggered and clarified logic of what ΔBtail.GetAt responsibility and functionality should be. Now it computes query result only based on ΔBtail data, and returns valueExact=false or revExact=false, if those data is insufficient. Previously it was further trying to load data from the database which is conflicting with // ΔBtail semantically consists of // // []δB ; rev ∈ (tail, head] Now that database access moved to GetAt user - to ΔFtail.BlkRevAt. WCFS tests - that were broken after ΔFtail rework - now finally pass again. * t2+qoldhead: . . . . . . . .
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
- 19 Jul, 2021 6 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
Unfortunately I could not avoid computing diff for ZBigFile objects themselves, because after recent ΔFtail and ΔZtail fixes, wcfs tests started to fail becase in the following scenario δFtail is created @at0 file is created @at1 file starts to be tracked when δFtail is @at2 δFtail query is made about file block -> boom reports @at0, because the file does not exist there at all To fix this ΔFtail now detects when ZBigFile objects are changed themselves and indicate such a change with specifal δf with δf.Epoch=true . * t2+δfepoch: (38 commits) X ΔFtail: Rebuild vδE after first track . . . . . . . . . . . . . . . . . . . ...
-
Kirill Smelkov authored
This is needed to detect where the file was created and indicate with δF.Epoch=true correspondingly.
-
- 16 Jul, 2021 12 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
- 15 Jul, 2021 13 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-