lotus/chain/store
Steven Allen 6cbeb9aad6
fix: sync: atomically switch chains when checkpointing (#11595)
We can now atomically switch chains when checkpointing. Previously,
we'd call `SetHead` followed by `SetCheckpoint`. Unfortunately, that's
not atomic and the "head" could have reverted before we called
`SetCheckpoint` (causing the latter to fail).

Now, we just call `SetCheckpoint` and let `SetCheckpoint` adjust our
head. This changes the behavior of `ChainStore.SetCheckpoint`, but
`Syncer.SyncCheckpoint` is the only caller anyways.
2024-01-26 08:50:32 -08:00
..
basefee_test.go feat: support typed errors over RPC 2022-09-27 15:34:01 +00:00
basefee.go chore: fix imports 2022-06-14 17:00:51 +02:00
checkpoint_test.go fix: sync: atomically switch chains when checkpointing (#11595) 2024-01-26 08:50:32 -08:00
coalescer_test.go fix make gen 2022-08-29 16:25:30 +02:00
coalescer.go fix make gen 2022-08-29 16:25:30 +02:00
fts.go chore: fix imports 2022-06-14 17:00:51 +02:00
index_test.go feat: chain import: don't walk to genesis - 2-3x faster snapshot import (#11446) 2023-11-25 13:29:57 -08:00
index.go Appease the linter 2023-05-19 20:02:47 +02:00
messages.go chore: slice loop replace (#11349) 2023-10-24 10:02:28 -07:00
snapshot.go feat: chain import: don't walk to genesis - 2-3x faster snapshot import (#11446) 2023-11-25 13:29:57 -08:00
store_test.go feat: chain import: don't walk to genesis - 2-3x faster snapshot import (#11446) 2023-11-25 13:29:57 -08:00
store.go fix: sync: atomically switch chains when checkpointing (#11595) 2024-01-26 08:50:32 -08:00