vyzo
1bf396f9af
add test for markset persistence
2022-01-28 15:49:41 +02:00
vyzo
45c2f34295
refactor marksets for critical section on-disk persistence
2022-01-28 15:41:33 +02:00
vyzo
f07ce297f6
optimize slice allocations in walk
2022-01-26 21:55:24 +02:00
vyzo
a87239e802
avoid extraneous assignment
2022-01-26 21:48:03 +02:00
vyzo
fe47d6a1a4
fix check and warmup for parallel walk
2022-01-26 09:01:51 +02:00
vyzo
10f2445a99
use minimum of 2 workers
2022-01-25 21:37:48 +02:00
vyzo
8e01e73de4
dynamically compute number of workers for parallel chain walk
2022-01-25 19:47:58 +02:00
vyzo
7c8edf5632
parallelize walkChain
2022-01-25 17:29:02 +02:00
vyzo
25284b5325
refactor: eliminate distinction between markset and markset visitors
2022-01-25 16:31:45 +02:00
Aayush Rajasekaran
3c57b980e5
Merge pull request #7940 from filecoin-project/steb/buffered-blockstore-correctness
...
correctness fixes for the autobatch blockstore
2022-01-12 19:17:03 -05:00
Steven Allen
2a862d497f
correctness fixes for the autobatch blockstore
...
1. Simplify shutdown and make it idempotent by using a context.
2. Make sure `Flush` actually _fully_ flushes if the previous flush failed.
3. Don't clear the flush batch if flushing fails.
2022-01-12 15:19:44 -08:00
Aayush Rajasekaran
efe9ec4906
Add missing locks to Get()
2022-01-12 17:22:54 -05:00
Aayush Rajasekaran
3464dc2fdf
Don't lock in Get
2022-01-12 16:04:47 -05:00
Aayush Rajasekaran
893998cb70
Address review part 2
2022-01-12 15:03:34 -05:00
Aayush Rajasekaran
083c5b003c
Address review
2022-01-12 12:57:34 -05:00
Aayush Rajasekaran
7559e4311e
Support faster Get, retry flushes on error
2022-01-11 20:30:34 -05:00
Aayush Rajasekaran
a41b4acec3
Use channels to trigger flushes in a dedicated goroutine
2022-01-11 19:44:56 -05:00
Aayush Rajasekaran
5ff6148444
implement stubs
2022-01-11 18:03:37 -05:00
Aayush Rajasekaran
544cfa63ab
cache added cids
2022-01-11 17:22:36 -05:00
Aayush Rajasekaran
25768a291e
Implement an autobatcher
2022-01-11 17:20:10 -05:00
vyzo
976a3a5e7b
fix blockstore test contexts
2021-12-17 13:44:05 +02:00
vyzo
dd327f0b22
plumb more contexts
2021-12-17 11:42:09 +02:00
vyzo
40c61a310f
fix splitstore test
2021-12-14 17:17:30 +02:00
vyzo
84710cf27e
plumb more contexts in lotus
2021-12-13 14:26:59 +02:00
Aayush Rajasekaran
dfb65ed89f
Plumb contexts through
2021-12-11 17:04:00 -05:00
whyrusleeping
072297e661
WIP: updating to new datastore/blockstore code with contexts
2021-12-09 14:12:25 +02:00
vyzo
489782e21b
satisfy the spellchecker that masquarades as a linter
2021-12-03 12:15:28 +02:00
vyzo
6ce5879071
add unit test for compaction supression
2021-12-03 12:05:15 +02:00
vyzo
05c1325885
add logic for supressing compaction near upgrade boundaries
2021-12-03 11:50:35 +02:00
Aayush Rajasekaran
b3966ab4eb
Fix typo in comment
2021-08-24 20:39:28 -04:00
Steven Allen
cbf69f6ded
fix: make TestTimedCacheBlockstoreSimple pass reliably
2021-08-24 11:35:56 -07:00
vyzo
eb0a62e9e9
RIP bloom filter markset; you weren't used anyway.
2021-08-10 10:47:01 +03:00
vyzo
742c85bf81
add SupportsVisitor in the markset env interface
2021-08-10 10:47:01 +03:00
vyzo
79f348a01c
make the write lock scope limited within a function
...
Also avoid removing the writing set if there was an error while writing.
2021-08-10 10:47:01 +03:00
vyzo
a9403b42f0
deduplicate put code
2021-08-10 10:47:01 +03:00
vyzo
1a59b73adc
add .tmp suffix to transient db names
2021-08-10 10:47:01 +03:00
vyzo
26a5832f92
simplify and deduplicate Has/Visit using helper methods tryPending and tryDB.
2021-08-10 10:47:01 +03:00
vyzo
380e16d465
remove redundant writers state variable
2021-08-10 10:47:01 +03:00
vyzo
b83b5405c6
widen MarkSetVisitor interface and get rid of the casts
2021-08-10 10:47:01 +03:00
vyzo
57c984cea1
improve concurrency properties of Visit with optimistic concurrency
2021-08-10 10:47:01 +03:00
vyzo
563fa1e31a
take advantage of MarkSet/Visitor unification to atomically check+mark
2021-08-10 10:47:01 +03:00
vyzo
cb3c53664d
unify marksets and visitors
2021-08-10 10:47:01 +03:00
vyzo
3c994d94aa
deduplicate some code in markset_badger
2021-08-10 10:47:01 +03:00
vyzo
32d94d4e85
reset walked set as epoch boundaries are crossed
...
the walk is BFS, so we can do this!
2021-08-10 10:47:01 +03:00
vyzo
49346f5679
use visitors instead of cidsets in walks
2021-08-10 10:47:01 +03:00
vyzo
1323d8fb20
markset-backed visitors
2021-08-10 10:47:01 +03:00
vyzo
6f22cffb6b
object visitor interface
2021-08-10 10:47:01 +03:00
vyzo
a768dd84fa
document splitstore clear shed command
2021-08-01 19:18:34 +03:00
vyzo
5e8b2c7860
make symlink helper freestanding
2021-07-29 08:35:53 +03:00
vyzo
b75ff37448
fix typo
...
Co-authored-by: Jakub Sztandera <kubuxu@protocol.ai>
2021-07-28 17:11:04 +03:00