Commit Graph

40 Commits

Author SHA1 Message Date
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
7f0f7d0b36 Merge branch 'master' into refactor/lib/blockstore 2021-02-28 19:55:23 +00:00
Raúl Kripalani
b0cbc932bd consolidate all blockstores in blockstore package. 2021-01-29 20:01:00 +00:00
Raúl Kripalani
a1da1dab85 add context to LockedRepo#Datastore(). 2021-01-26 11:01:43 +00:00
Peter Rabbitson
47141042b6
Add comment
Co-authored-by: raulk <raul@protocol.ai>
2021-01-12 18:11:18 +01:00
Peter Rabbitson
9334e73396 Snake a context through the Chain-blockstore creation 2021-01-04 15:27:52 +01:00
Peter Rabbitson
7be7a9b5e3 Stop referring to github.com/ipfs/go-ipfs-blockstore outside of lib 2020-11-12 06:01:35 +01:00
Raúl Kripalani
72e573d98d fix lint. 2020-11-01 17:09:14 +00:00
Raúl Kripalani
d2e2322fd2 make the lotus node use the new native badger blockstore. 2020-11-01 13:01:26 +00:00
Raúl Kripalani
efdc428d5d keep storage-fsm (renamed to storage-sealing) and sector-storage in extern. 2020-08-17 14:26:18 +01:00
Raúl Kripalani
3c17cd655e integrate extern/sector-storage into lotus proper. 2020-08-16 11:09:58 +01:00
Jakub Sztandera
cc1d23a94c
Use single multi ds
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-17 22:14:37 +02:00
Łukasz Magiera
66237415c5 Merge remote-tracking branch 'origin/next' into feat/client-multi-bstore 2020-07-08 22:48:47 +02:00
Łukasz Magiera
99796220f9 Support fast-retrieval deals 2020-07-08 20:42:07 +02:00
Łukasz Magiera
8e0d33a1fd Updates for sectors-storge next 2020-07-08 17:23:27 +02:00
Łukasz Magiera
8942967223 Client Import manager 2020-07-07 10:52:04 +02:00
Łukasz Magiera
92e4507cf7 fsrepo: multi-datastores 2020-07-06 23:03:04 +02:00
laser
fb1d5197fa pass SetConfig a mutator func, as per PR feedback
- fsLockedRepo.config gets a mutex
- add missing checkToken call to lockedMemRepo#GetStorage and lockedMemRepo#SetStorage
- LockedRepo#SetConfig accepts a mutating function as per @magik
2020-06-11 08:49:19 -07:00
laser
cf321f7667 add support for replacing config after node starts
- TODO: does a "locked repo" need fine-grained (i.e. field-level) locking?
2020-06-11 08:49:19 -07:00
laser
d4dbfdbe91 rename Config to GetConfig 2020-06-11 08:49:19 -07:00
Łukasz Magiera
7003960fdd Merge remote-tracking branch 'origin/master' into next 2020-06-01 18:52:06 +02:00
laser
92b8d9ad17 tell user why repo is already locked
Fixes #1829
2020-06-01 09:37:10 -07:00
Łukasz Magiera
e5c24ff32b Update sector-storage with ReadPiece impl 2020-05-29 19:53:35 +02:00
Łukasz Magiera
95ee1c1cde Extract sector-storage 2020-03-28 01:32:39 +01:00
Łukasz Magiera
c66d3dfad7 sectorstorage: Untangle from lotus deps 2020-03-27 22:35:33 +01:00
Łukasz Magiera
01087e01d2 storage: Improve thread safety 2020-03-09 20:22:30 +01:00
Łukasz Magiera
a0dbb6bdd6 Storage Manager refactor 2020-03-03 23:19:22 +01:00
whyrusleeping
59d9c681ad Rework miner test setups to fix tests 2019-11-30 17:21:11 -06:00
Jakub Sztandera
3ea0997c93
Add support for different configs
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-30 17:38:39 +01:00
whyrusleeping
63b81af23e handle changing default address 2019-10-18 20:42:00 +09:00
Jakub Sztandera
1bf713cb0a
Cleanup imports after rename
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-18 13:47:41 +09:00
whyrusleeping
d818e20df5 Wallets record default address in keystore 2019-10-17 19:18:40 +09:00
Łukasz Magiera
1534536590 Store libp2p key in keystore 2019-10-03 02:11:31 +02:00
Łukasz Magiera
a88be8d1df auth: Store token in repo 2019-07-24 00:38:52 +02:00
Jakub Sztandera
cb9bf4200c Move KeyStore into types
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-18 16:57:49 +02:00
Jakub Sztandera
902ea18686 Add keystore to the repo
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-18 16:01:39 +02:00
Łukasz Magiera
97c61d4ce5 Client import 2019-07-15 16:17:34 +02:00
Łukasz Magiera
14d515da3b Wire up memrepo 2019-07-10 17:38:35 +02:00
Jakub Sztandera
51f38e0542 Add missing comment
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-09 20:20:42 +02:00
Jakub Sztandera
195cf4f84d Implement memrepo
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-09 19:50:48 +02:00