Aayush Rajasekaran
80d5e52923
Merge branch 'master' into next
2021-12-13 13:24:28 -05:00
zenground0
a5be80828a
RemoveData and Decode
...
- Unsealing replica update with sector key works and tested
- Sector key generation added and tested
2021-12-03 15:21:06 -05:00
Łukasz Magiera
727765b248
Command to list active sector locks
2021-12-03 12:33:23 +01:00
zenground0
7d2b3f05db
WIP sector storage and integration test
2021-11-29 10:24:00 -05:00
Anton Evangelatov
5454aebf13
CLI tools for the DAGStore inverted index ( #7361 )
...
* cli commands for dagstore
* address comments from Dirk
* rename inverted index to piece index
2021-11-17 15:39:45 +02:00
Dirk McCormick
501308239f
feat: CLI command to announce deal to indexers
2021-11-17 12:16:22 +01:00
Anton Evangelatov
6e5ccc87cf
cli: add retry for deals stuck in Publish with no funds
2021-10-11 14:03:55 +02:00
Łukasz Magiera
e4044151f0
Show deal sizes is sealing sectors
2021-09-07 18:49:53 +02: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
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
Łukasz Magiera
49e26cce7d
api: Separate the Net interface from Common
2021-07-15 11:41:30 +02:00
Anton Evangelatov
d89ddb9315
resolve conflicts
2021-07-12 11:34:37 +02:00
Łukasz Magiera
ee97aa0a8a
dealpublisher: Use address selector
2021-07-07 19:12:03 +02:00
Łukasz Magiera
8f5c0c60f5
Config for deal publishing control addresses
2021-07-07 18:00:54 +02:00
Anton Evangelatov
8bd09e39ca
resolve merge conflicts
2021-06-04 16:17:00 +02:00
Łukasz Magiera
dc642d0b7b
Merge remote-tracking branch 'origin/feat/nv13' into feat/nv13-1.11
2021-06-01 21:06:58 +02:00
Łukasz Magiera
482e1110c2
precommit batcher: Improve error propagation
2021-06-01 14:35:30 +02:00
Łukasz Magiera
9fcb564bef
Make commit batcher more robust
2021-06-01 11:56:19 +02:00
Łukasz Magiera
1e4456138e
Merge master into feat/nv13
2021-05-27 12:28:20 +02:00
Łukasz Magiera
f5409845b5
Some review addressing
2021-05-25 16:07:45 +02:00
Anton Evangelatov
a989f60e27
add SectorAddPieceToAny and SectorUnsealPiece to StorageMiner iface; model moved to api package - PieceDealInfo, DealSchedule
2021-05-19 13:05:07 +02:00
Łukasz Magiera
c7ba083fa4
Import precommit batcher
2021-05-18 16:51:06 +02:00
Łukasz Magiera
506f39b294
WIP: Integrate FIP0013
2021-05-11 22:10:29 -04:00
Łukasz Magiera
bfa332ca7d
api: Document API change process
2021-04-26 20:36:20 +02:00
hunjixin
896303c6a2
fix lint
2021-03-29 10:31:31 +08:00
hunjixin
449b33abee
remote calc winningpost proof
2021-03-26 13:32:03 +08:00
Łukasz Magiera
c41777dcd2
API proxy struct codegen ( #5854 )
...
* mostly working api proxy gen
* api: Consistent api names
* fix docsgen
* regenerate api struct
* api: expand external interfaces
* Add missing gen files
* apigen: fix perm detection
* api: Move perm tags to the interface
* gofmt
* worker perms
* docsgen
* docsgen: ignore tag comments
* apigen: add codegen warning
* gofmt
* missing actor type
* docsgen
* make linter happy
* fix lint
* apigen: use directives for tags
* docsgen
* regen openrpc docs
2021-03-23 13:42:56 +01:00
Łukasz Magiera
305c2ec77d
miner: Config to disable owner/worker addcess fallback
2021-03-08 21:33:46 +01:00
Łukasz Magiera
fd90c03018
Roturn SectorID from PledgeSector
2021-02-16 19:16:35 +01:00
Łukasz Magiera
3ff6a6f59f
address review; flush tablewriter
2021-02-05 22:33:53 +01:00
Łukasz Magiera
cfa73f34e4
market: miner CLI for managing pending deals
2021-02-05 21:55:43 +01:00
Łukasz Magiera
b3f4e50c58
market: APIs to manage pending deals
2021-02-05 18:58:55 +01:00
Łukasz Magiera
144b5a1350
perning termination API
2021-01-14 12:37:23 +01:00
Łukasz Magiera
3522c8d45a
SectorTerminateFlush API
2021-01-13 23:32:04 +01:00
Łukasz Magiera
52cc2cd3eb
Initial sector termination support
2021-01-13 00:42:01 +01:00
Łukasz Magiera
2e154ef6d0
Merge pull request #5176 from filecoin-project/shaodan-miner-sectors-info
...
Shaodan miner sectors info
2020-12-10 20:09:15 +01:00
Łukasz Magiera
0cb2f51549
Merge pull request #5094 from filecoin-project/asr/verified-only
...
Allow miners to filter (un)verified deals
2020-12-10 19:48:22 +01:00
Dan Shao
d56170d70e
Optimize sectors info loading
2020-12-07 13:42:37 +08:00
Łukasz Magiera
2fd93a55ac
plumb AddressSelector to stoage fsm
2020-12-02 21:47:54 +01:00
Łukasz Magiera
f74a1b70ab
miner: Fix actor control list cli
2020-12-02 20:46:07 +01:00
Aayush Rajasekaran
370817eb60
Allow miners to filter (un)verified deals
2020-12-02 01:32:34 -05:00
Łukasz Magiera
c6f85886bf
miner: Add slow mode to proving check
2020-12-02 00:32:14 +01:00
s1m0n21
663b3f4f21
add a sector check command
2020-11-26 15:02:43 +08:00
Łukasz Magiera
09f9f871a3
Create a command to abort sealing calls
2020-11-11 17:39:12 +01:00
Łukasz Magiera
7fbb868513
Debug flag to force running sealing scheduler
2020-10-30 11:07:35 +01:00
Łukasz Magiera
e1da874258
Merge remote-tracking branch 'origin/master' into feat/async-restartable-workers
2020-10-27 03:31:07 +01:00
hannahhoward
98297cef4d
feat(data-transfer): fill in utils
2020-10-22 13:40:26 -07:00
Łukasz Magiera
8d06cca073
sched: Handle workers using sessions instead of connections
2020-10-18 12:36:06 +02:00
Łukasz Magiera
0de3051821
Merge remote-tracking branch 'origin/master' into feat/async-restartable-workers
2020-10-08 13:10:41 +02:00
Łukasz Magiera
2dc9a1ee4e
lotus-miner backup command
2020-10-01 17:55:47 +02:00
Łukasz Magiera
d817dceb05
Show lost calls in sealing jobs cli
2020-09-23 19:26:35 +02:00
Łukasz Magiera
ce6b92484f
Merge remote-tracking branch 'origin/master' into feat/async-restartable-workers
2020-09-23 11:31:21 +02:00
hannahhoward
691bd9f442
feat(markets): complete markets conversion
...
complete markets conversion to using chain/actors types, also replacing DealProposal/DealState
interfaces with structs
2020-09-17 00:43:14 -07:00
Łukasz Magiera
5f08fe7ead
Merge remote-tracking branch 'origin/master' into feat/async-restartable-workers
2020-09-10 17:30:54 +02:00
Aayush Rajasekaran
39755a294a
Update to specs v0.9.6
2020-09-07 15:48:41 -04:00
Łukasz Magiera
159ce13f5e
Async worker API
2020-09-06 18:47:16 +02:00
Ingar Shu
1608cd2d53
Add watch option to "lotus-miner storage-deals list"
2020-09-03 10:14:30 -07:00
Łukasz Magiera
99ecef89b8
gofmt
2020-08-27 12:41:24 +02:00
Łukasz Magiera
e236173417
miner: Print (pre)commit message cids in sector status
2020-08-27 12:40:19 +02:00
Aayush Rajasekaran
984e52acbc
Indicate whether a sector has been marked for upgrade
2020-08-21 15:53:39 -04:00
hannahhoward
0086f76a90
feat(lotus-miner): add data transfer list cmd
...
add equivalent command to list data transfers on miner side, extract common functionality for reuse
2020-08-20 01:35:48 -07: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
hannahhoward
75771d10d4
fix(markets): replicate unsealing bug
2020-08-06 13:17:16 -07:00
Ingar Shu
9e07b310d1
WIP
2020-08-05 17:27:08 +02:00
Aayush Rajasekaran
c33e38eef2
Update markets
2020-07-31 15:43:34 -04:00
whyrusleeping
146e59fe56
wire through new retrieval apis
2020-07-31 01:47:37 -04:00
whyrusleeping
7fa4cd33f0
WIP: retrieval pieces inspection command
2020-07-31 01:33:30 -04:00
Łukasz Magiera
c133a37b7c
gofmt
2020-07-28 01:22:41 +02:00
Łukasz Magiera
10362ab9b4
markets: Fix offset in LocatePieceForDealWithinSector
2020-07-28 01:22:20 +02:00
Łukasz Magiera
d557c407c6
Merge pull request #2608 from filecoin-project/feat/storage-remote-improvements
...
Update sector-storage, sealing sched-diag
2020-07-27 15:17:38 +02:00
刘林欣
26998fca32
add on-chain-info to lotus-miner sectors status command
2020-07-27 13:58:59 +02:00
Łukasz Magiera
135b77dab5
Update sector-storage, sealing sched-diag
2020-07-27 13:23:43 +02:00
Łukasz Magiera
2633bdd838
miner: sealing jobs command
2020-07-21 20:08:03 +02:00
Aayush Rajasekaran
a5ef629cef
Add expected seal duration to custom deal logic, reject deals that start too early
2020-07-15 17:31:50 -04: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
Aayush Rajasekaran
411c82ae8f
Update storage-FSM, add API to set sector seal delay
2020-07-07 15:23:23 -04:00
Łukasz Magiera
82e2cd4746
Basic CC Upgrade support
2020-07-01 17:01:06 +02:00
Łukasz Magiera
cfdbc2312d
Merge branch 'master' into next
2020-07-01 11:22:57 +02:00
laser
b9180a99d4
toggle consideration of offline storage/retrieval deal proposals
2020-06-26 12:27:41 -07:00
laser
e910a045d0
big rename to allow for later introducing the "consider offline" config
2020-06-26 10:50:54 -07:00
laser
5d9a775699
replace enable/disable commands with selection commands
2020-06-26 10:33:06 -07:00
Łukasz Magiera
24f4c96fc3
apitest: auto-start sealing precoss
2020-06-26 17:28:05 +02:00
laser
176d0bb7c0
add "lotus-storage-miner retrieval-deals" subcommands
...
- enable retrieval
- disable retrieval
2020-06-24 08:08:10 -07:00
Łukasz Magiera
6f8c464393
Merge remote-tracking branch 'origin/master' into feat/sector-remove
2020-06-23 23:54:27 +02:00
Łukasz Magiera
5adc188466
miner: Command to remove sectors
2020-06-22 19:35:14 +02:00
laser
de7d6c255c
blacklist -> blocklist
2020-06-18 15:51:01 -07:00
laser
0c8d648998
specify which CID is being blacklisted (it's the piece)
2020-06-18 14:02:22 -07:00
laser
b0edf924b4
add commands for manipulating storage deal CID blacklist
2020-06-18 13:15:18 -07:00
laser
5eceed81e1
add "get-ask" command
2020-06-16 17:23:03 -07:00
laser
6253c39100
replace "set-price" with "set-ask"
...
Fixes #2027
2020-06-16 16:13:21 -07:00
laser
36b327b57b
various symbol renames
2020-06-11 13:18:18 -07:00
laser
7587e6c08b
get and set storage deal acceptance through CLI
2020-06-11 12:59:50 -07:00
Łukasz Magiera
b753cd4503
Run window post test on circle
2020-06-01 15:06:10 +02:00
Łukasz Magiera
ee29a92021
Add a test for Window Post
2020-06-01 14:49:48 +02:00
Jeromy
f4948dcba0
remove api dependency on sealing fsm package
2020-04-23 15:33:59 -07:00
Łukasz Magiera
309f54aa0c
Update sector-storage
2020-04-23 15:29:31 -07:00
Łukasz Magiera
86e7f5914b
testing: test 2-miner mining
2020-04-23 23:20:02 +02:00