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
|
73259aa350
|
add configuration for splitstore and default to a simple compaction algorithm
|
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
|
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 |
|
Raúl Kripalani
|
877ecab960
|
update go-bs-lmdb and migrate to ledgerwatch/lmdb-go.
|
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
|
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
|
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 |
|
vyzo
|
b0f48b500f
|
use CAS for compacting state
|
2021-03-05 14:46:17 +02:00 |
|
vyzo
|
0af7b16ad5
|
simplify Has
|
2021-03-05 14:46:17 +02:00 |
|
vyzo
|
5db314f422
|
fallback to coldstore if snooping fails.
|
2021-03-05 14:46:17 +02:00 |
|
vyzo
|
d20cbc0c28
|
protect against potential data races
overkill, but let's not have race detectors scream at us.
|
2021-03-05 14:46:17 +02:00 |
|
vyzo
|
0d7476c5b2
|
implement LMDB-backed tracking store
|
2021-03-05 14:46:17 +02:00 |
|
vyzo
|
3f92a000c7
|
implement lmdb-backed LiveSet
|
2021-03-05 14:46:17 +02:00 |
|
vyzo
|
0bf1a78b39
|
stubs for tracking store and live set
|
2021-03-05 14:46:17 +02:00 |
|
vyzo
|
17bc5fcd85
|
move splitstore implementation to its own directory
|
2021-03-05 14:46:17 +02:00 |
|