lotus/chain
Jakub Sztandera dfa7fc7723
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-19 19:49:22 +02: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 feat: chainstore: exit early in MaybeTakeHeavierTipset 2023-05-05 13:56:48 -04: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 feat: deflake msgindex_test.go 2023-05-04 12:04:28 -04:00
market Address simple linter issues 2022-11-24 16:32:27 +00:00
messagepool feat: mempool: reintroduce ForEachPendingMessage 2023-05-10 14:19:33 -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 Address review comments 2023-05-04 17:10:26 +00:00
store feat: chainstore: sharded mutex for filling chain height index 2023-05-19 19:49:22 +02:00
sub Revert "Merge pull request #9858 from adlrocha/adlrocha/consistent-bcast" 2023-04-27 12:25:30 -07:00
types feat: Add eth_syncing RPC method 2023-05-10 16:08:18 -04: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