Anton Evangelatov
c7e4217693
fix staging area path buildup
2021-09-21 16:45:00 +02:00
Aarsh Shah
89ac8b09b5
update libp2p
2021-09-21 15:10:04 +04:00
ldoublewood
eb2bbfebe3
format code by make gen
2021-09-17 00:20:24 +08:00
ldoublewood
3a1fc8e7da
fix bug for CommittedCapacitySectorLifetime
2021-09-16 09:25:02 +08:00
Łukasz Magiera
3a3a4fc413
Merge pull request #7276 from filecoin-project/nonsense/reject-deal-too-many-staging-deals
...
introduce MaxStagingDealsBytes - reject new deals if our staging deals area is full
2021-09-06 10:01:44 -07:00
Anton Evangelatov
0b7793a927
GiB to Bytes
2021-09-06 15:52:25 +02:00
Anton Evangelatov
c69d1db1eb
introduce MaxStagingDealsGiB - reject new deals if our staging deals area is "full"
2021-09-06 15:01:06 +02:00
hannahhoward
b4e9bc50f8
feat(deps): update go-graphsync v0.8.0
...
Update to go-graphsync v0.8.0 with go-ipld-prime linksystem branch & trusted store.
2021-09-03 16:21:55 +02:00
Łukasz Magiera
95b128b7bc
chain: Cleanup consensus logic
2021-09-02 18:09:37 +02:00
Dirk McCormick
7b7a5b0b21
revert: changes to OnDealExpiredOrChanged in #5431 #7201
2021-08-30 10:42:41 +02:00
dirkmc
77a19774cf
fix events API timeout handling for nil blocks ( #7184 )
2021-08-27 09:05:00 +02:00
Łukasz Magiera
1ba427f638
alerting: Address review
2021-08-26 16:09:18 +02:00
Łukasz Magiera
b094e0913d
untangle fsjournal dependencies
2021-08-26 15:44:45 +02:00
Łukasz Magiera
81b1dd12f8
Simple alert system; FD limit alerts
2021-08-26 15:44:45 +02:00
Jennifer Wang
7ff5844aa2
Merge branch 'releases' into jen/mas
2021-08-17 10:38:36 -04:00
Frrist
518b6f1d41
fix(miner): always create miner deal staging directory ( #7098 )
...
- fixes #7097
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2021-08-17 00:16:06 +01:00
Aarsh Shah
d7076778e2
integrate DAG store and CARv2 in deal-making ( #6671 )
...
This commit removes badger from the deal-making processes, and
moves to a new architecture with the dagstore as the cental
component on the miner-side, and CARv2s on the client-side.
Every deal that has been handed off to the sealing subsystem becomes
a shard in the dagstore. Shards are mounted via the LotusMount, which
teaches the dagstore how to load the related piece when serving
retrievals.
When the miner starts the Lotus for the first time with this patch,
we will perform a one-time migration of all active deals into the
dagstore. This is a lightweight process, and it consists simply
of registering the shards in the dagstore.
Shards are backed by the unsealed copy of the piece. This is currently
a CARv1. However, the dagstore keeps CARv2 indices for all pieces, so
when it's time to acquire a shard to serve a retrieval, the unsealed
CARv1 is joined with its index (safeguarded by the dagstore), to form
a read-only blockstore, thus taking the place of the monolithic
badger.
Data transfers have been adjusted to interface directly with CARv2 files.
On inbound transfers (client retrievals, miner storage deals), we stream
the received data into a CARv2 ReadWrite blockstore. On outbound transfers
(client storage deals, miner retrievals), we serve the data off a CARv2
ReadOnly blockstore.
Client-side imports are managed by the refactored *imports.Manager
component (when not using IPFS integration). Just like it before, we use
the go-filestore library to avoid duplicating the data from the original
file in the resulting UnixFS DAG (concretely the leaves). However, the
target of those imports are what we call "ref-CARv2s": CARv2 files placed
under the `$LOTUS_PATH/imports` directory, containing the intermediate
nodes in full, and the leaves as positional references to the original file
on disk.
Client-side retrievals are placed into CARv2 files in the location:
`$LOTUS_PATH/retrievals`.
A new set of `Dagstore*` JSON-RPC operations and `lotus-miner dagstore`
subcommands have been introduced on the miner-side to inspect and manage
the dagstore.
Despite moving to a CARv2-backed system, the IPFS integration has been
respected, and it continues to be possible to make storage deals with data
held in an IPFS node, and to perform retrievals directly into an IPFS node.
NOTE: because the "staging" and "client" Badger blockstores are no longer
used, existing imports on the client will be rendered useless. On startup,
Lotus will enumerate all imports and print WARN statements on the log for
each import that needs to be reimported. These log lines contain these
messages:
- import lacks carv2 path; import will not work; please reimport
- import has missing/broken carv2; please reimport
At the end, we will print a "sanity check completed" message indicating
the count of imports found, and how many were deemed broken.
Co-authored-by: Aarsh Shah <aarshkshah1992@gmail.com>
Co-authored-by: Dirk McCormick <dirkmdev@gmail.com>
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
Co-authored-by: Dirk McCormick <dirkmdev@gmail.com>
2021-08-16 23:34:32 +01:00
frrist
ca697c9aa2
feat(miner deals): create subdir to miner repo for staged deals
2021-07-29 21:08:38 -07:00
Raúl Kripalani
d8c90b91be
address nits.
2021-07-29 04:41:27 -04:00
Raúl Kripalani
c119ab6ed9
fix docs and nits.
2021-07-29 04:39:28 -04:00
Anton Evangelatov
9b7a7713a7
add RuntimeSubsystems API method; use it in lotus-miner info
2021-07-29 04:38:19 -04:00
Raúl Kripalani
d3742048f9
address nits.
2021-07-28 23:56:18 +01:00
Raúl Kripalani
07f40b9488
fix docs and nits.
2021-07-28 20:03:25 +01:00
Anton Evangelatov
de4a847078
add RuntimeSubsystems API method; use it in lotus-miner info
2021-07-28 16:02:05 +03:00
Jiaying Wang
d45b4a7a1f
Merge branch 'master' into chore/cleanup-chain
2021-07-27 17:11:36 -04:00
Łukasz Magiera
9bd312881d
VMSys doesn't belong in chainstore
2021-07-27 15:30:23 +02:00
vyzo
9d25464703
use functional options for hotstore gc, rename MovingGC to FullGC
2021-07-27 09:53:22 +03:00
vyzo
aa0bd51b2c
thread GCFrequency option into the splitstore config
2021-07-26 15:05:57 +03:00
Łukasz Magiera
da5aeda197
Merge branch 'master' into feat/splitstore-hot-messages
2021-07-22 12:58:06 +02:00
vyzo
839b00ab40
rename messagepool ProtectMessages to ForEachPendingMessage
2021-07-20 09:23:36 +03:00
vyzo
ebbaf23af8
support out-of-chain reference protection
2021-07-20 09:02:40 +03:00
vyzo
1b77361301
add option for hotstore message retention
2021-07-17 08:35:35 +03:00
vyzo
e003203bea
implement exposed splitstore
2021-07-15 13:12:10 +03:00
Łukasz Magiera
583a8a13d9
Merge pull request #6629 from filecoin-project/feat/pledge-from-miner-balance
...
Config for collateral from miner available balance
2021-07-13 17:22:00 +02:00
Łukasz Magiera
837322ea59
Merge pull request #6356 from filecoin-project/nonsense/split-market-miner-processes
...
Support standalone miner-market process
2021-07-13 17:16:07 +02:00
Łukasz Magiera
7526a074d9
sealing: collateral buffer / falback config
2021-07-13 17:04:58 +02:00
Łukasz Magiera
c37401a1a3
Merge pull request #6474 from filecoin-project/feat/splitstore-redux
...
Splitstore Enhanchements
2021-07-13 12:43:57 +02:00
Łukasz Magiera
83f2368507
Add CollateralFromMinerBalance config
2021-07-12 14:11:58 +02:00
Anton Evangelatov
056136ef5a
rename argument from url to apiInfo
2021-07-12 11:36:22 +02:00
Anton Evangelatov
d89ddb9315
resolve conflicts
2021-07-12 11:34:37 +02:00
Anton Evangelatov
16784aa2cc
remove pieceProvider from DI; small refactors
2021-07-12 11:30:26 +02:00
vyzo
c0a1cfffa1
rename noopstore to discardstore
2021-07-09 19:19:37 +03:00
Łukasz Magiera
8f5c0c60f5
Config for deal publishing control addresses
2021-07-07 18:00:54 +02:00
Anton Evangelatov
82efe01c70
fixup
2021-07-07 18:00:28 +02:00
Anton Evangelatov
7a78527fde
remove not used sa; cleanup
2021-07-06 17:46:21 +02:00
Anton Evangelatov
10dc90f7fe
addressing comments
2021-07-06 17:33:47 +02:00
Anton Evangelatov
898687ea2e
Update node/modules/storageminer.go
...
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2021-07-06 17:28:52 +02:00
Anton Evangelatov
4be0a7a215
resolve conflicts with master
2021-07-05 13:13:32 +02:00
vyzo
190cb18ab0
housekeeping
...
- remove defunct tracking store implementations
- update splitstore node config
- use mark set type config option (defaulting to mapts); a memory constrained node
may want to use an on-disk one
2021-07-04 18:38:28 +03:00
vyzo
5f7ae1f489
update splistore DI constructor
2021-07-04 18:38:28 +03:00
vyzo
68bc5d2291
skip moving cold blocks when running with a noop coldstore
...
it is a noop but it still takes (a lot of) time because it has to read all the cold blocks.
2021-07-04 18:38:28 +03:00
vyzo
649b7dd162
add config option for hot headers
2021-07-04 18:38:28 +03:00
vyzo
997f2c098b
keep headers hot when running with a noop splitstore
2021-07-04 18:38:28 +03:00
vyzo
04f2e102a1
kill full splitstore compaction, simplify splitstore configuration
2021-07-04 18:38:28 +03:00
vyzo
5cca29d1db
hook noop blockstore for splitstore in DI
2021-07-04 18:38:28 +03:00
Łukasz Magiera
8a94ab676e
storage: Fix FinalizeSector with sectors in stoage paths
2021-07-02 19:54:45 +02:00
Anton Evangelatov
9e85492b85
fix test
2021-07-02 12:24:07 +02:00
Raúl Kripalani
1869de7662
unwire host from storage.Miner.
2021-07-01 13:53:20 +01:00
Łukasz Magiera
c094aa82ec
commit batch: AggregateAboveBaseFee config
2021-07-01 13:33:54 +02:00
Anton Evangelatov
4f0a96c9c7
resolved conflicts
2021-06-30 13:16:52 +02:00
Anton Evangelatov
9ec7cd7239
enable libp2p options
2021-06-30 12:55:43 +02:00
Łukasz Magiera
37c5dd5afc
Miner SimultaneousTransfers config
2021-06-28 14:24:14 +02:00
Łukasz Magiera
c3480dc0e8
Merge remote-tracking branch 'origin/releases' into chore/merge-release
2021-06-24 09:39:11 +02:00
Łukasz Magiera
9521c0b773
Add miner-side MaxDealStartDelay config
2021-06-23 19:45:13 +02:00
Aayush Rajasekaran
616e5688fc
Remove MinPreCommitBatch
2021-06-23 12:30:32 -04:00
Anton Evangelatov
21b51328f9
adding TestDealWithMarketAndMinerNode
2021-06-23 12:44:52 +02:00
Anton Evangelatov
6720463799
resolve merge conflicts
2021-06-22 11:28:23 +02:00
Łukasz Magiera
44de67cf7d
Merge pull request #6175 from filecoin-project/feat/dynamic-retreival-pricing
...
Dynamic Retrieval pricing
2021-06-17 10:25:48 +02:00
Anton Evangelatov
d45bb14015
Merge branch 'master' into nonsense/split-market-miner-processes
2021-06-16 18:49:15 +02:00
Aayush Rajasekaran
520a0091f5
Merge branch 'releases' into release/v1.10.0
2021-06-15 17:40:36 -04:00
Łukasz Magiera
0514f38dc4
Merge remote-tracking branch 'origin/master' into chore/merge-1.10
2021-06-14 13:27:53 +02:00
aarshkshah1992
4419205b0e
fix compilation
2021-06-14 10:10:29 +05:30
Łukasz Magiera
ec06f086ef
sealing: Early finalization option
2021-06-11 11:41:28 +02:00
Anton Evangelatov
beb5bffaf6
fix log.Error; rename RemoteStore
2021-06-09 13:05:54 +02:00
Anton Evangelatov
9f3ec82cc1
initial resolution of conflicts
2021-06-08 13:01:22 +02:00
aarshkshah1992
16166504f4
merged master
2021-06-08 09:17:40 +05:30
Łukasz Magiera
fadc79a487
Merge pull request #6280 from filecoin-project/feat/pieceread-outside-scheduler
...
Bypass task scheduler for reading unsealed pieces
2021-06-07 18:11:44 +02:00
aarshkshah1992
4efaa8d688
unit tests for the remote store Reader
2021-06-07 15:02:52 +05:30
aarshkshah1992
65eb610ec3
docs, logs and green ci
2021-06-07 15:02:49 +05:30
aarshkshah1992
670835fca0
bypass task scheduler for reading unsealed pieces
2021-06-07 15:02:04 +05:30
Lion
e4588aed5c
Fix the doc errors of the sealing config funcs
2021-06-07 12:35:43 +08:00
Anton Evangelatov
8bd09e39ca
resolve merge conflicts
2021-06-04 16:17:00 +02:00
Łukasz Magiera
6d9779ecae
Merge remote-tracking branch 'origin/master' into feat/nv13-1.11
2021-06-02 15:07:13 +02:00
Dirk McCormick
8997ed508b
feat: update to markets-v1.4.0
2021-06-01 10:16:12 -06:00
Anton Evangelatov
e4136b0d42
add modules.StorageAuthWithURL to set correct token
2021-06-01 11:42:28 +02:00
Aayush Rajasekaran
9ceee6028b
More tweaking of context handling in the messagepool
2021-05-31 18:13:23 -04:00
Aayush Rajasekaran
1f03a618f9
Plumb contexts through
2021-05-31 18:13:23 -04:00
Anton Evangelatov
d195a12565
Merge branch 'master' into nonsense/split-market-miner-processes
2021-05-31 11:26:11 +02:00
Łukasz Magiera
1e4456138e
Merge master into feat/nv13
2021-05-27 12:28:20 +02:00
Anton Evangelatov
9979de24db
logs and defaults
2021-05-26 12:47:21 +02:00
aarshkshah1992
dc6dbc9a11
dpr changes and test based on new unsealing PR
2021-05-22 22:40:21 +05:30
aarshkshah1992
bd9959070e
unit tests for the remote store Reader
2021-05-20 15:25:46 -06:00
aarshkshah1992
73613ee883
docs, logs and green ci
2021-05-20 15:25:46 -06:00
aarshkshah1992
2a40c802ea
bypass task scheduler for reading unsealed pieces
2021-05-20 15:25:46 -06:00
Anton Evangelatov
4693c61305
re-arrange NodeBuilder and add storageminer_svc
2021-05-20 13:10:14 +02:00
Anton Evangelatov
cb603c62d9
update retrievaladapter ; add piece_provider
2021-05-20 12:49:53 +02:00
Anton Evangelatov
2aad7b6979
update sectorstorage.New (Manager) interface
2021-05-20 12:32:29 +02:00
Dirk McCormick
706fdcbb80
feat: increase data transfer timeouts
2021-05-19 12:56:07 -06:00
Łukasz Magiera
3a99f95f8e
Merge pull request #6149 from filecoin-project/feat/markets-1.3
...
Update to markets 1.3
2021-05-19 20:51:33 +02:00
Łukasz Magiera
a5677d1b7a
ffiwrapper: Separate Prover interface
2021-05-19 15:20:23 +02:00
Łukasz Magiera
81b5d8c671
Make things build with both batchers
2021-05-18 16:53:49 +02:00
Łukasz Magiera
c7ba083fa4
Import precommit batcher
2021-05-18 16:51:06 +02:00
vyzo
7512748b56
wire in sealing config values
2021-05-18 15:31:52 +03:00
Łukasz Magiera
506f39b294
WIP: Integrate FIP0013
2021-05-11 22:10:29 -04:00
Jakub Sztandera
18cbdcfc81
Disable checks API on Lotus Lite
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2021-05-07 17:19:17 +02:00
Jakub Sztandera
d777680449
Fix mpool.GetActor for lite node
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2021-05-07 15:30:06 +02:00
vyzo
ed61642b3a
implement NodeStatus API
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2021-05-07 15:30:04 +02:00
Dirk McCormick
5b1fab8ffa
feat: markets v1.3
2021-05-06 09:49:44 +02:00
Jakub Sztandera
77d004ec06
Fix nonce getting on Lotus lite
...
Resolves #5593 #5995
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2021-04-15 19:57:09 +02:00
Łukasz Magiera
e76935147f
Merge remote-tracking branch 'origin/master' into feat/v1-api
2021-04-13 14:24:22 +02:00
Łukasz Magiera
88bdb591d5
Merge pull request #6003 from filecoin-project/fix/fbs-di
...
Fix fallback chainstore
2021-04-10 01:58:38 +02:00
Łukasz Magiera
7e4cb9da84
Fix fallback chainstore
2021-04-09 16:11:02 +02:00
Dirk McCormick
4a3261a986
feat: go-fil-markets-v1.2.5-rc1
2021-04-08 14:34:35 +02:00
Łukasz Magiera
81bd27911f
Propagate StateMsg api changes
2021-04-05 19:56:53 +02:00
Łukasz Magiera
deb2b90b6a
Fix lotus/miner build
2021-04-05 13:23:46 +02:00
Łukasz Magiera
1a5c4d70f4
Merge remote-tracking branch 'origin/master' into feat/v1-api
2021-04-01 15:33:37 +02:00
Łukasz Magiera
7a23b411ae
Merge apistruct with the api package
2021-03-25 15:10:08 +01:00
Dirk McCormick
1359fb6cc4
fix: disable pull channel monitoring for now
2021-03-24 13:56:59 +01:00
Dirk McCormick
aee9890ee7
feat: update go-data-transfer and go-fil-markets
2021-03-23 13:28:30 +01:00
Dirk McCormick
9fb1dd43a9
feat: update to markets v1.2.0
2021-03-22 15:31:13 +01:00
whyrusleeping
cbc7f1c244
fix paychmgr constructor to take an easier to implement interface
2021-03-12 00:39:20 -08:00
whyrusleeping
e0b650d4ec
make rpcstatemanager its own package, for easy reuse
2021-03-11 18:21:18 -08:00
whyrusleeping
bf42a3be5e
move DI stuff for paychmgr into modules
2021-03-11 17:35:31 -08:00
Łukasz Magiera
bd8864ae43
Merge pull request #5755 from filecoin-project/feat/kvlog
...
Metadata datastore log
2021-03-10 14:13:01 +01:00
Łukasz Magiera
05274943c9
Merge pull request #5620 from filecoin-project/feat/disable-owner-worker-fallback
...
miner: Config to disable owner/worker address fallback
2021-03-10 11:21:39 +01:00
Łukasz Magiera
d4a981f327
fix lint
2021-03-09 23:38:28 +01:00
Łukasz Magiera
ca7e70bf3a
Metadata datastore log
2021-03-09 22:33:01 +01:00
Łukasz Magiera
6591af960f
Merge pull request #4992 from filecoin-project/feat/splitstore
...
hot/cold blockstore segregation (aka. splitstore)
2021-03-08 22:01:06 +01:00
Łukasz Magiera
305c2ec77d
miner: Config to disable owner/worker addcess fallback
2021-03-08 21:33:46 +01:00
vyzo
64646de761
add configuration option for pubsub IPColocationWhitelist subnets
2021-03-06 20:05:32 +02:00
vyzo
6b8c60a659
don't ID wrap the hotstore
2021-03-05 14:46:18 +02:00
vyzo
dd0c308427
move Blockstore config to FullNode, rename to Chainstore and add default for HotStoreType
2021-03-05 14:46:18 +02:00
Raúl Kripalani
4b1e1f4b52
rename liveset => markset; rename snoop => tracking store; docs.
2021-03-05 14:46:18 +02:00
Raúl Kripalani
8cfba5b092
renames and polish.
2021-03-05 14:46:18 +02:00
Raúl Kripalani
b1b452bc0f
remove dependency from blockstore/splitstore => chain/store.
2021-03-05 14:46:18 +02:00
Raúl Kripalani
1a804fbdec
move splitstore into blockstore package.
2021-03-05 14:46:18 +02:00
Raúl Kripalani
1b51c10d78
split off lmdb support to a different branch.
2021-03-05 14:46:18 +02:00
vyzo
0fc2f3a26f
fix post-rebase compilation errors
2021-03-05 14:46:18 +02:00
vyzo
97abbe1eca
add (salted) bloom filter liveset
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
b83994797a
separate LMDB options for hotstore and tracking stores
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
99c7d8e3eb
more informative names for the hotstore directories
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
622b4f7d9d
hook splitstore into DI
2021-03-05 14:46:17 +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
7f0f7d0b36
Merge branch 'master' into refactor/lib/blockstore
2021-02-28 19:55:23 +00:00
Łukasz Magiera
0c6aef221d
Fix error logging format strings
2021-02-11 12:00:26 +01:00
Łukasz Magiera
8f603717a6
Merge remote-tracking branch 'origin/master' into steb/refactor-consistent-tipset-methods
2021-02-05 13:08:49 +01:00
Łukasz Magiera
9b65793509
Merge pull request #5404 from filecoin-project/feat/test-window-post
...
Retry proofs if we generate an incorrect one
2021-02-03 13:04:33 +01:00