File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed
Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -367,6 +367,30 @@ func (store *Datastore) handleNext() {
367367 }
368368 }
369369
370+ // if we have no heads, make seen-heads heads immediately. On
371+ // a fresh start, this allows us to start building on top of
372+ // recent heads, even if we have not fully synced rather than
373+ // creating new orphan branches.
374+ curHeadCount , err := store .heads .Len ()
375+ if err != nil {
376+ store .logger .Error (err )
377+ continue
378+ }
379+ if curHeadCount == 0 {
380+ dg := & crdtNodeGetter {NodeGetter : store .dagService }
381+ for _ , head := range bCastHeads {
382+ prio , err := dg .GetPriority (store .ctx , head )
383+ if err != nil {
384+ store .logger .Error (err )
385+ continue
386+ }
387+ err = store .heads .Add (store .ctx , head , prio )
388+ if err != nil {
389+ store .logger .Error (err )
390+ }
391+ }
392+ }
393+
370394 // For each head, we process it.
371395 for _ , head := range bCastHeads {
372396 // A thing to try here would be to process heads in
You can’t perform that action at this time.
0 commit comments