lotus/node/repo
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
..
importmgr segregate chain and state blockstores. 2021-02-28 22:49:44 +00:00
retrievalstoremgr segregate chain and state blockstores. 2021-02-28 22:49:44 +00:00
blockstore_opts.go segregate chain and state blockstores. 2021-02-28 22:49:44 +00:00
fsrepo_ds.go add context to LockedRepo#Datastore(). 2021-01-26 11:01:43 +00:00
fsrepo_test.go WorkerCount on storageminer config 2019-11-12 18:59:38 +01:00
fsrepo.go segregate chain and state blockstores. 2021-02-28 22:49:44 +00:00
interface.go segregate chain and state blockstores. 2021-02-28 22:49:44 +00:00
memrepo_test.go Run tests and fix some bugs 2019-07-10 17:11:10 +02:00
memrepo.go segregate chain and state blockstores. 2021-02-28 22:49:44 +00:00
repo_test.go pass SetConfig a mutator func, as per PR feedback 2020-06-11 08:49:19 -07:00