Łukasz Magiera
05cdeb80c3
chore: remove redundant import prefixes
2022-06-15 12:06:22 +02:00
Łukasz Magiera
e65fae28de
chore: fix imports
2022-06-14 17:00:51 +02:00
Steven Allen
f491e39f22
fix: vm: support raw blocks in chain export
...
We need this for NV16 to include code in chain snapshots.
NOTE: I've also checked the splitstore, and we appear to be doing the
right thing there already.
2022-05-20 18:56:30 -04:00
Aayush Rajasekaran
ddc46fc059
Update to filecoin pubsub
2022-05-10 16:51:36 -04:00
Darko Brdareski
79453663b3
feat: Add additional test annotations ( #8272 )
...
* Annotate api,proxy_util,blockstore_badger, policy tests
* Annotate splitstore: bsbadger / markset
* Annotate splitstore feature
* Annotate union/timed blockstore tests
* Annotate openrpc, diff_adt tests
* Annotate error,drand,events tests
* Annotate predicates_test
* Fix annotations
* Annotate tscache, gen tests
* Annotate fundmanager test
* Annotate repub and selection tests
* Annotate statetree_test
* Annotate forks_test
* Annotate searchwait_test.go
* Fix duplicated @@ symbols
* Annotate chain stmgr/store tests
* Annotate more (types) tests
* More tests annotated
* Annotate conformance chaos actor tests
* Annotate more integration tests
* Annotate journal system tests
* Annotate more tests.
* Annotate gas,head buffer behaviors
* Fix markset annotations
* doc: test annotations for the markets dagstore wrapper
* Annotate miner_api test in dagstore
* Annotate more test files
* Remove bad annotations from fsrepo
* Annotate wdpost system
* Remove bad annotations
* Renamce "conformance" to "chaos_actor" tests
* doc: stm annotations for blockheader & election proof tests
* Annotate remaining "A" tests
* annotate: stm for error_test
* memrepo_test.go
* Annotate "b" file tests
* message_test.go
* doc: stm annotate for fsrepo_test
* Annotate "c" file tests
* Annotate "D" test files
* message_test.go
* doc: stm annotate for chain, node/config & client
* docs: stm annotate node_test
* Annotate u,v,wl tests
* doc: stm annotations for various test files
* Annotate "T" test files
* doc: stm annotate for proxy_util_test & policy_test
* doc: stm annotate for various tests
* doc: final few stm annotations
* Add mempool unit tests
* Add two more memPool Add tests
* Update submodules
* Add check function tests
* Add stm annotations, refactor test helper
* Annotate api,proxy_util,blockstore_badger, policy tests
* Annotate splitstore: bsbadger / markset
solving merge conflicts
* Annotate splitstore feature
* Annotate union/timed blockstore tests
* Annotate openrpc, diff_adt tests
* Annotate error,drand,events tests
* Annotate predicates_test
* Fix annotations
* Annotate tscache, gen tests
* Annotate fundmanager test
* Annotate statetree_test
* Annotate forks_test
* Annotate searchwait_test.go
* Fix duplicated @@ symbols
* Annotate chain stmgr/store tests
* Annotate more (types) tests
* More tests annotated
* Annotate conformance chaos actor tests
* Annotate more integration tests
* Annotate journal system tests
* Annotate more tests.
* Annotate gas,head buffer behaviors
solve merge conflict
* Fix markset annotations
* Annotate miner_api test in dagstore
* Annotate more test files
* doc: test annotations for the markets dagstore wrapper
* Annotate wdpost system
* Renamce "conformance" to "chaos_actor" tests
* Annotate remaining "A" tests
* doc: stm annotations for blockheader & election proof tests
* annotate: stm for error_test
* Annotate "b" file tests
* memrepo_test.go
* Annotate "c" file tests
* message_test.go
* Annotate "D" test files
* doc: stm annotate for fsrepo_test
* Annotate u,v,wl tests
* message_test.go
* doc: stm annotate for chain, node/config & client
* docs: stm annotate node_test
* Annotate "T" test files
* doc: stm annotations for various test files
* Add mempool unit tests
solve merge conflict
* doc: stm annotate for proxy_util_test & policy_test
* doc: stm annotate for various tests
* doc: final few stm annotations
* Add two more memPool Add tests
* Update submodules
* Add check function tests
solve conflict
* Add stm annotations, refactor test helper
solve merge conflict
* Change CLI test kinds to "unit"
* Fix double merged test
* Fix ccupgrade_test merge
* Fix lint issues
* Add stm annotation to types_Test
* Test vectors submodule
* Add file annotation to burn_test
Co-authored-by: Nikola Divic <divicnikola@gmail.com>
Co-authored-by: TheMenko <themenkoprojects@gmail.com>
2022-03-16 18:37:34 +01:00
Łukasz Magiera
84dbb229b6
shed: blockstore/vlog to car export cmds
2022-03-09 10:21:36 +01:00
vyzo
cd266a05d2
fix tests
2021-12-17 12:04:04 +02:00
vyzo
dd327f0b22
plumb more contexts
2021-12-17 11:42:09 +02:00
vyzo
63487e1d69
fix checkpoint test
2021-12-14 18:05:23 +02:00
vyzo
5e692f9071
fix more tests
2021-12-14 17:45:38 +02:00
Aayush Rajasekaran
dfb65ed89f
Plumb contexts through
2021-12-11 17:04:00 -05:00
Aayush Rajasekaran
c3c46e9097
Fix Drand fetching around null tipsets
2021-09-29 11:57:59 -04:00
Aayush Rajasekaran
44405bd1a0
ChainStore: Add a tiebreaker rule for tipsets of equal weight
2021-09-27 10:23:30 -04:00
Łukasz Magiera
30fccaa0bd
fix lint
2021-09-02 18:45:18 +02:00
Łukasz Magiera
95b128b7bc
chain: Cleanup consensus logic
2021-09-02 18:09:37 +02:00
Steven Allen
43bbde1e6b
fix: close chain head subscription when the reader is slow
...
The reader can just re-subscribe when they're ready to catch up. This
prevents a slow reader from bogging down the entire system.
2021-08-30 16:43:21 -07:00
Steven Allen
14754f1b18
chore: dedup datastore import
2021-08-30 16:43:21 -07:00
frrist
256d12773b
polish(errors): better state tree errors
2021-07-28 17:50:22 -07:00
Łukasz Magiera
05a3710288
chainstore: Fix test build
2021-07-27 15:53:47 +02:00
Łukasz Magiera
e7d73cbe56
vm: Remove unused ActorBalance
2021-07-27 15:34:39 +02:00
Łukasz Magiera
9bd312881d
VMSys doesn't belong in chainstore
2021-07-27 15:30:23 +02:00
Łukasz Magiera
6ba42e3e6b
chainstore: refactor store.go into more subfiles
2021-07-27 14:41:36 +02:00
Łukasz Magiera
b37a66c7c9
Merge remote-tracking branch 'origin/release/v1.10.0' into chore/merge-1.10
2021-06-21 17:03:03 +02:00
Łukasz Magiera
2c2c37a138
chainstore: Don't take heaviestLk with backlogged reorgCh
2021-06-18 19:18:51 +02:00
Łukasz Magiera
dc642d0b7b
Merge remote-tracking branch 'origin/feat/nv13' into feat/nv13-1.11
2021-06-01 21:06:58 +02:00
Aayush Rajasekaran
8d991283f4
Resolve to ID addresses when handling message selection
2021-05-31 18:13:23 -04:00
Łukasz Magiera
3671f2a6ff
fix 2k build
2021-05-31 21:52:23 +02:00
Łukasz Magiera
ffa47659a1
Merge remote-tracking branch 'origin/feat/nv13' into feat/nv13-1.11
2021-05-31 21:38:34 +02:00
Aayush Rajasekaran
10b931312b
Fix edgecase in tipset skipcache
2021-05-27 13:44:37 -04:00
Aayush Rajasekaran
21b4741e30
Fix randomness fetching around null blocks
2021-05-26 21:06:06 -04:00
raulk
996feda1f7
typo.
...
Co-authored-by: dirkmc <dirkmdev@gmail.com>
2021-05-19 15:08:14 +01:00
Raúl Kripalani
c77f8fb382
adopt clearer method names; fix typo.
2021-05-15 15:07:02 +01:00
Raúl Kripalani
5daacc0f07
docs: add docs to chain store methods.
2021-05-13 13:08:52 +01:00
Steven Allen
8f309b214b
chain: move checkpoint logic into chainstore
...
That way, checkpoints can be enforced by the chainstore, removing a
potential race where an in-progress sync of a fork could bypass a sync
checkpoint.
2021-04-28 15:06:29 -07:00
Peter Rabbitson
7bced1532b
Convert the chainstore lock to RW
...
High read-API concurrency facilitates multiple calls to GetHeaviestTipSet
which in turn could slow down chainsync.
2021-04-06 13:01:48 +02:00
Raúl Kripalani
b1b452bc0f
remove dependency from blockstore/splitstore => chain/store.
2021-03-05 14:46:18 +02:00
Raúl Kripalani
1a804fbdec
move splitstore into blockstore package.
2021-03-05 14:46:18 +02:00
Raúl Kripalani
1b51c10d78
split off lmdb support to a different branch.
2021-03-05 14:46:18 +02:00
vyzo
0fc2f3a26f
fix post-rebase compilation errors
2021-03-05 14:46:18 +02:00
vyzo
3282f856ec
fix tests
2021-03-05 14:46:18 +02:00
vyzo
99c6e4f48f
adjust min bloom filter size
2021-03-05 14:46:18 +02:00
vyzo
cae5ddce88
dynamically size bloom filters
2021-03-05 14:46:18 +02:00
vyzo
5639261e44
make compaction parameters variable
2021-03-05 14:46:18 +02:00
vyzo
7587ab6234
quiet the stupid linter
2021-03-05 14:46:18 +02:00
vyzo
05fee27840
remove stale references to lmdb from splitstore implementation
2021-03-05 14:46:18 +02:00
vyzo
f62999d2b8
use named constants for bloom filter parameters
2021-03-05 14:46:18 +02:00
vyzo
44aadb931a
rehash salted keys in bloom filter
2021-03-05 14:46:17 +02:00
vyzo
88849201ff
fix tests
2021-03-05 14:46:17 +02:00
vyzo
f5ce7957f3
size bloom filter for 50M objects
2021-03-05 14:46:17 +02:00
vyzo
f4c6bc6a86
comment nomenclature
2021-03-05 14:46:17 +02:00
vyzo
4cc672d0c5
batch move objects from coldstore to hotstore
2021-03-05 14:46:17 +02:00
vyzo
97abbe1eca
add (salted) bloom filter liveset
2021-03-05 14:46:17 +02:00
vyzo
aba6530411
batch deletion for purging the tracking store
2021-03-05 14:46:17 +02:00
vyzo
09cd1175a1
structured log for beginning of compaction
2021-03-05 14:46:17 +02:00
vyzo
e52c709d8a
more accurate setting of skip params
2021-03-05 14:46:17 +02:00
vyzo
2426ffb277
better logging plus moving some code around
2021-03-05 14:46:17 +02:00
vyzo
2f26026991
compactSimple should walk the cold epoch at depth 1
...
So that it finds reachable objects that should stay in the hotstore
2021-03-05 14:46:17 +02:00
vyzo
783dcda19c
add Sync to the tracking store
2021-03-05 14:46:17 +02:00
vyzo
364076c1ea
set NoSync option for bolt livesets
2021-03-05 14:46:17 +02:00
vyzo
73259aa350
add configuration for splitstore and default to a simple compaction algorithm
2021-03-05 14:46:17 +02:00
vyzo
2e4d45ef07
test for bolt backed tracking store
2021-03-05 14:46:17 +02:00
vyzo
f1c61c4753
implement bolt backed tracking store
2021-03-05 14:46:17 +02:00
vyzo
2c1a9781cf
add test for bolt liveset
2021-03-05 14:46:17 +02:00
vyzo
27a9b974db
implement bolt-backed liveset
2021-03-05 14:46:17 +02:00
vyzo
68b6f913c7
propagate useLMDB option to splitstore through DI
2021-03-05 14:46:17 +02:00
vyzo
923a3db4b0
abstract tracking store and live set construction
2021-03-05 14:46:17 +02:00
vyzo
8f0ddac41a
add comment
2021-03-05 14:46:17 +02:00
vyzo
e79445123f
handle MDB_KEY_EXIST in tracking store Puts
2021-03-05 14:46:17 +02:00
vyzo
9977f5c3ec
rewrite sweep logic to avoid doing writes/deletes nested in a read txn
2021-03-05 14:46:17 +02:00
vyzo
ee751f88cd
refactor lmdb specific snoop/liveset code into their own files
...
paves the way for different back ends
2021-03-05 14:46:17 +02:00
vyzo
8e12377e69
handle consistency edge case
2021-03-05 14:46:17 +02:00
vyzo
31268ba685
walk snapshot the same way snapshot exporting does; skip old msgs and receipts by default.
...
so that we don't panic with missing blocks in non-archival nodes
2021-03-05 14:46:17 +02:00
vyzo
5068d51ac3
use CompactionCold epochs for delinating the cold epoch cliff
...
this allows us to change the thresholds for testing.
2021-03-05 14:46:17 +02:00
vyzo
d44719dbd3
amend confusing comment
2021-03-05 14:46:17 +02:00
vyzo
842ec43c2f
get rid of goroutine iteration in tracking store; long live ForEach
2021-03-05 14:46:17 +02:00
vyzo
a586d42c3b
make hot store DI injectable in the split store, default to badger.
2021-03-05 14:46:17 +02:00
vyzo
7044e623f9
flag to enable GC during compaction, disabled for now
2021-03-05 14:46:17 +02:00
vyzo
f6c930d0aa
crank up blockstore max readers to 16K, reduce retry delays to 10us
2021-03-05 14:46:17 +02:00
vyzo
95befa1e41
set lmdb max readers retry delay to 1ms
2021-03-05 14:46:17 +02:00
vyzo
874ecd3573
adjust hot store options, redux.
2021-03-05 14:46:17 +02:00
vyzo
ca8a673b5f
adjust hot store options
2021-03-05 14:46:17 +02:00
vyzo
69a88d41b6
fix snoop test
2021-03-05 14:46:17 +02:00
vyzo
cdf5bd0500
return annotated xerrors where appropriate
2021-03-05 14:46:17 +02:00
vyzo
ea05fd9d86
use xerrors instead of fmt.Errorf
2021-03-05 14:46:17 +02:00
vyzo
d91b60df91
fix potential panic with max readers retry and cursor channel
2021-03-05 14:46:17 +02:00
vyzo
b9f8a3d587
log MDB_READERS_FULL retries
2021-03-05 14:46:17 +02:00
vyzo
c89ab1a990
retry on MDB_READERS_FULL errors
2021-03-05 14:46:17 +02:00
vyzo
2080e467ba
don't set MaxReaders for tracking store
2021-03-05 14:46:17 +02:00
Raúl Kripalani
877ecab960
update go-bs-lmdb and migrate to ledgerwatch/lmdb-go.
2021-03-05 14:46:17 +02:00
vyzo
5b4e6b7b26
don't set max readers for livesets
2021-03-05 14:46:17 +02:00
vyzo
58a8434825
temporary log level for splitstore to DEBUG
2021-03-05 14:46:17 +02:00
vyzo
8b0087524f
adjust walk boundaries for marking
2021-03-05 14:46:17 +02:00
vyzo
76d6edbb52
fix max readers for tracking store
2021-03-05 14:46:17 +02:00
vyzo
1a23b1f6af
make CompactionThreshold a var to fix lotus-soup build
...
finality is not a constant there!
2021-03-05 14:46:17 +02:00
vyzo
6e51e6db9a
better handling of MDB_KEYEXIST in Put
2021-03-05 14:46:17 +02:00
vyzo
ce41e394dc
handle MDB_KEYEXIST in liveset marking
2021-03-05 14:46:17 +02:00
vyzo
843fd09a62
deal with MDB_KEY_EXIST errors
2021-03-05 14:46:17 +02:00
vyzo
f44cf0f2c4
appease linter
2021-03-05 14:46:17 +02:00
vyzo
facdc555b1
add nil check for curTs -- some tests don't have chain state
2021-03-05 14:46:17 +02:00
vyzo
e07c6c71c0
splitstore constructor
2021-03-05 14:46:17 +02:00