lotus/chain
Jakub Sztandera b65c93b2b4 feat: chainstore: sharded mutex for filling chain height index
This PR introduces as sharded mutex within the ChainIndex#GetTipsetByHeight.
It also replaces a go map with xsync.Map which doesn't require locking.

The lock is taken when it appears that ChainIndex filling work should be
started. After claiming the lock, the status of the cache is rechecked,
if the entry is still missing, the fillCache is started.

Thanks to @snissn and @arajasek for debugging and taking initial stabs at this.

Supersedes #10866 and 10885

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2023-05-31 12:48:25 -04:00
..
actors chore: build: Merge/v22 into 21 for 23 (#10702) 2023-04-19 18:40:18 -04:00
beacon Merge remote-tracking branch 'origin/master' into feat/go-data-transfer-v2 2023-03-15 11:37:53 +01:00
consensus Merge branch 'releases' into asr/merge-release-into-master 2023-04-23 14:58:50 -04:00
ethhashlookup simplify transaction hash db queries, prevent fd leaks 2023-01-30 11:03:12 -05:00
events fix: events: don't set GC confidence to 1 2023-04-20 14:45:55 -07:00
exchange fix: error checks 2023-01-04 20:10:21 +08:00
gen Merge branch 'releases' into asr/merge-release-into-master 2023-04-23 14:58:50 -04:00
index chore: all: migrate from go-libipfs to boxo 2023-04-18 17:22:18 +02:00
market Address simple linter issues 2022-11-24 16:32:27 +00:00
messagepool perf: mempool: lower priority optimizations (#10693) 2023-05-03 16:31:39 -04:00
messagesigner fix: Don't call WalletExport in msg signing flows 2023-02-10 02:37:59 +01:00
rand fix make gen 2022-08-29 16:25:30 +02:00
state chore: build: Merge/v22 into 21 for 23 (#10702) 2023-04-19 18:40:18 -04:00
stmgr revert dead code 2023-03-30 18:11:44 +03:00
store feat: chainstore: sharded mutex for filling chain height index 2023-05-31 12:48:25 -04:00
sub Revert "Merge pull request #9858 from adlrocha/adlrocha/consistent-bcast" 2023-04-27 12:25:30 -07:00
types chore: refactor: drop unused IsTicketWinner (#10801) 2023-05-02 11:22:02 -07:00
vectors NV18: Filecoin EVM runtime + Actor Events + EthAccount + EAM + f4 addressing (#9998) 2023-01-13 19:11:13 +00:00
vm chore: all: migrate from go-libipfs to boxo 2023-04-18 17:22:18 +02:00
wallet NV18: Filecoin EVM runtime + Actor Events + EthAccount + EAM + f4 addressing (#9998) 2023-01-13 19:11:13 +00:00
badtscache.go refactor: update cache to the new generic version (#10463) 2023-03-13 15:29:09 -07:00
block_receipt_tracker.go refactor: update cache to the new generic version (#10463) 2023-03-13 15:29:09 -07:00
checkpoint.go chore: fix imports 2022-06-14 17:00:51 +02:00
sync_manager_test.go fix make gen 2022-08-29 16:25:30 +02:00
sync_manager.go Don't use go-libp2p-core 2022-08-25 14:20:41 -04:00
sync_test.go Revert "Merge pull request #9858 from adlrocha/adlrocha/consistent-bcast" 2023-04-27 12:25:30 -07:00
sync.go feat: chainstore: batch writes of tipsets 2023-05-02 17:26:07 -04:00
syncstate.go Expose WorkerID 2020-10-28 20:22:07 +01:00
types_test.go fix make gen 2022-08-29 16:25:30 +02:00