lotus/blockstore/splitstore
vyzo 3a9b7c592d mark from current epoch to boundary epoch when necessary
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.
2021-07-04 18:38:28 +03:00
..
markset_bloom.go use sha256 for bloom key rehashing 2021-03-05 14:46:18 +02:00
markset_bolt.go rename liveset => markset; rename snoop => tracking store; docs. 2021-03-05 14:46:18 +02:00
markset_test.go use ioutil.TempDir for test directories 2021-03-05 14:46:18 +02:00
markset.go rename liveset => markset; rename snoop => tracking store; docs. 2021-03-05 14:46:18 +02:00
splitstore_test.go mark from current epoch to boundary epoch when necessary 2021-07-04 18:38:28 +03:00
splitstore.go mark from current epoch to boundary epoch when necessary 2021-07-04 18:38:28 +03:00
tracking_bolt.go batch delete during the cold purge 2021-03-05 14:46:18 +02:00
tracking_test.go use ioutil.TempDir for test directories 2021-03-05 14:46:18 +02:00
tracking.go add splitstore unit test 2021-03-05 19:55:32 +02:00