3a9b7c592d
this is necessary to avoid wearing clown shoes when the node stays offline for an extended period of time (more than 1 finality). Basically it gets quite slow if we do the full 2 finality walk, so we try to avoid it unless necessary. The conditions under which a full walk is necessary is if there is a sync gap (most likely because the node was offline) during which the tracking of writes is inaccurate because we have not yet delivered the HeadChange notification. In this case, it is possible to have actually hot blocks to be tracked before the boundary and fail to mark them accordingly. So when we detect a sync gap, we do the full walk; if there is no sync gap, we can just use the much faster boundary epoch walk. |
||
---|---|---|
.. | ||
badger | ||
splitstore | ||
api.go | ||
blockstore.go | ||
buffered.go | ||
doc.go | ||
fallback.go | ||
idstore.go | ||
ipfs.go | ||
mem.go | ||
metrics.go | ||
noop.go | ||
sync.go | ||
timed_test.go | ||
timed.go | ||
union_test.go | ||
union.go |