X Rework ΔFtail so that BlkRevAt works with ZBigFile checkout from any at ∈ (tail, head]
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: . . . . . . . .
Showing