Łukasz Magiera
95b128b7bc
chain: Cleanup consensus logic
2021-09-02 18:09:37 +02:00
Łukasz Magiera
9bd312881d
VMSys doesn't belong in chainstore
2021-07-27 15:30:23 +02:00
Raúl Kripalani
3795cc2bd2
segregate chain and state blockstores.
...
This paves the way for better object lifetime management.
Concretely, it makes it possible to:
- have different stores backing chain and state data.
- having the same datastore library, but using different parameters.
- attach different caching layers/policies to each class of data, e.g.
sizing caches differently.
- specifying different retention policies for chain and state data.
This separation is important because:
- access patterns/frequency of chain and state data are different.
- state is derivable from chain, so one could never expunge the chain
store, and only retain state objects reachable from the last finality
in the state store.
2021-02-28 22:49:44 +00:00
Raúl Kripalani
b0cbc932bd
consolidate all blockstores in blockstore package.
2021-01-29 20:01:00 +00:00
zgfzgf
7d4bc90d42
solve merge conflicts
2020-11-20 22:34:15 +08:00
Raúl Kripalani
0c6072a1a0
chainstore lifecycle: close via Close() instead of context.
2020-11-16 22:28:59 +00:00
Raúl Kripalani
d7b4f92f1f
add context to ChainStore.
2020-11-16 15:52:19 +00:00
Raúl Kripalani
3577300aee
Merge branch 'master' into badger-viewable
2020-11-06 19:34:25 +00:00
Raúl Kripalani
8befc0c1f5
export metrics from bench.
2020-11-05 19:09:47 +00:00
Raúl Kripalani
a411342f0c
export more metrics.
2020-11-04 17:09:01 +00:00
Raúl Kripalani
370ef93db6
chainstore: new ForceHeadSilent to support benchmarks.
2020-11-04 14:39:01 +00:00
Raúl Kripalani
fd1439f284
fix lint.
2020-11-03 22:49:55 +00:00
Łukasz Magiera
a1e1b03ca4
Optionally allow bitswap for chainstore
2020-11-03 23:44:44 +01:00
Raúl Kripalani
87ce2f774d
lotus-bench: write separate profiles for import and validation.
2020-11-03 22:40:21 +00:00
Raúl Kripalani
5487356370
fix lint errors.
2020-11-03 21:23:41 +00:00
Raúl Kripalani
18418128c3
lotus-bench: make start tipset walkback start from end tipset.
2020-11-03 18:15:59 +00:00
Raúl Kripalani
581ac5b019
lotus-bench: add ability to specify tipsets.
2020-11-03 18:11:43 +00:00
Raúl Kripalani
842c8ca056
improve lotus-bench; support running validation on a store without a CAR.
2020-11-03 17:35:31 +00:00
zgfzgf
3c2cd506ec
modify merge lotus-bench
2020-11-03 19:56:04 +08:00
Raúl Kripalani
f4e13ffd80
actually register prometheus gauge.
2020-11-01 20:01:57 +00:00
Raúl Kripalani
44e34d9606
lotus-bench: native badger SyncWrites=false.
2020-11-01 19:54:47 +00:00
Raúl Kripalani
35ccd73a86
lotus-bench: improve for observability.
2020-11-01 19:52:53 +00:00
Raúl Kripalani
aece624d1c
lotus-bench: add support for native badger blockstore.
2020-11-01 18:54:35 +00:00
Raúl Kripalani
c2355b18f9
write heap and allocs profile in lotus-bench.
2020-11-01 18:00:08 +00:00
Łukasz Magiera
0832d5a7d5
bench: Fix lint warnings
2020-10-22 15:00:31 +02:00
whyrusleeping
602d2b8ad5
record datastore metrics after successful run
2020-10-22 14:57:06 +02:00
Jakub Sztandera
0341944350
Inject prometheus
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-22 14:57:05 +02:00
whyrusleeping
00d1e6b549
add measure datastore wrapper around bench chain datastore
2020-10-22 14:57:04 +02:00
zgfzgf
c99e223cb1
lotus bench change and add print
2020-10-11 10:48:09 +08:00
Steven Allen
748d2e82a7
unshare the journal
...
Motivation:
* Run lotus with the race detector enabled (primary motivation).
* Allow multiple lotus nodes in a process (not a high priority).
Previously, the journal was shared between all lotus instances, but it was
initialized for every new node. This caused safety problems in tests (at a
minimum).
This patch explicitly passes the journal to all services that need it.
2020-10-09 13:23:07 -07:00
Jakub Sztandera
7e8c6e5070
Remove statediff, fix lint, go mod tidy
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:47 +02:00
Jakub Sztandera
0d914ac1d4
Switch to badger
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:47 +02:00
Jakub Sztandera
76db65b1af
Update pebble
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:47 +02:00
Jakub Sztandera
ff8c0af8c8
Add only-import option
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:47 +02:00
Jakub Sztandera
55c6b88537
Add toggle for badger, flag out gas tracing
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:46 +02:00
Jakub Sztandera
0771c23fb0
Use pebble
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:46 +02:00
Jakub Sztandera
242a77b391
go mod tidy
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:18 +02:00
Jakub Sztandera
35cf69ae64
Disable bloomcache
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:18 +02:00
Jakub Sztandera
ebc8489ff1
Add global-profile option
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:18 +02:00
Jakub Sztandera
f21c5cbbe2
Add start-at
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:18 +02:00
Jakub Sztandera
01386a206c
Update options
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:18 +02:00
Jakub Sztandera
3858309368
Add http to import bench
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:17 +02:00
Jakub Sztandera
782717948a
Add logs
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:17 +02:00
Jakub Sztandera
108fe7823c
Add command to trigger gc
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:17 +02:00
Jakub Sztandera
1f4d1dcc58
Do not sync
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:17 +02:00
Jakub Sztandera
53ab17cf50
Add no import to import-bench
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:17 +02:00
Jakub Sztandera
96193c2044
Implement bench-cache
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-29 14:49:11 +02:00
whyrusleeping
24756ac056
allow specification of repo directory in lotus-bench
2020-09-15 11:55:54 -07:00
Aayush Rajasekaran
39755a294a
Update to specs v0.9.6
2020-09-07 15:48:41 -04:00
Steven Allen
5733c71c50
Lint everything
...
We were ignoring quite a few error cases, and had one case where we weren't
actually updating state where we wanted to. Unfortunately, if the linter doesn't
pass, nobody has any reason to actually check lint failures in CI.
There are three remaining XXXs marked in the code for lint.
2020-08-20 20:46:36 -07:00