Commit cd9db582 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent caa0240f
...@@ -305,11 +305,19 @@ func (δBtail *ΔBtail) rebuildAll() (err error) { ...@@ -305,11 +305,19 @@ func (δBtail *ΔBtail) rebuildAll() (err error) {
defer xerr.Context(&err, "ΔBtail rebuildAll") defer xerr.Context(&err, "ΔBtail rebuildAll")
// XXX locking // XXX locking
trackNewRoots := δBtail.trackNewRoots tracefΔBtail("\nRebuildAll @%s..@%s trackNewRoots: %s\n", δBtail.Tail(), δBtail.Head(), δBtail.trackNewRoots)
tracefΔBtail("\nRebuildAll @%s..@%s trackNewRoots: %s\n", δBtail.Tail(), δBtail.Head(), trackNewRoots) for root := range δBtail.trackNewRoots {
δBtail.rebuild1(root)
}
return nil
}
for root := range trackNewRoots { // rebuild1 rebuilds ΔBtail for single root.
func (δBtail *ΔBtail) rebuild1(root zodb.Oid) error {
// XXX locking
delete(δBtail.trackNewRoots, root)
δTtail := δBtail.vδTbyRoot[root] // must be there δTtail := δBtail.vδTbyRoot[root] // must be there
δtrackSet, δrevSet, err := δTtail.rebuild(root, δBtail.δZtail, δBtail.db) δtrackSet, δrevSet, err := δTtail.rebuild(root, δBtail.δZtail, δBtail.db)
if err != nil { if err != nil {
...@@ -317,9 +325,6 @@ func (δBtail *ΔBtail) rebuildAll() (err error) { ...@@ -317,9 +325,6 @@ func (δBtail *ΔBtail) rebuildAll() (err error) {
} }
δBtail.trackSet.UnionInplace(δtrackSet) δBtail.trackSet.UnionInplace(δtrackSet)
δBtail.vδBroots_Update(root, δrevSet) δBtail.vδBroots_Update(root, δrevSet)
}
δBtail.trackNewRoots = setOid{}
return nil return nil
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment