Raúl Kripalani
df7631df77
docs: rename some wdpost methods; add docs.
2021-05-13 13:07:42 +01:00
Łukasz Magiera
506f39b294
WIP: Integrate FIP0013
2021-05-11 22:10:29 -04:00
Aayush Rajasekaran
d794b49df3
Use EmptyTSK where appropriate
2021-04-29 01:00:03 -04:00
Łukasz Magiera
cf96ad4fdb
fix lint
2021-04-06 14:30:49 +02:00
Łukasz Magiera
e8f28d7b9f
Fix tests
2021-04-06 12:24:58 +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
728d86cd36
wdpost: Always head tipset to get randomness
2021-03-11 09:59:26 +01:00
刘林欣
9095babf8c
fix window post rand check
2021-03-11 15:10:19 +08:00
Steven Allen
84f721e373
fix: retry proof when randomness changes
...
Simply warning isn't enough.
2021-03-10 10:24:58 -08:00
Łukasz Magiera
6315523fe9
Merge remote-tracking branch 'origin/master' into next
2021-03-10 15:58:28 +01:00
Łukasz Magiera
a0d7604e7c
wdpost: Use chain head tsk in post rand check
2021-03-10 13:36:34 +01:00
Łukasz Magiera
ca3d22683a
gofmt
2021-03-10 12:27:37 +01:00
Łukasz Magiera
ea4a54e083
wdpost: Fix tests
2021-03-10 10:01:28 +01:00
Łukasz Magiera
57fe04ba6e
wdpost: double-check randomness
2021-03-10 09:19:38 +01:00
Steven Allen
b7fab5f937
fix: wait a bit before starting to compute window post proofs
...
Due to a (now consensus critical) bug in randomness selection, "beacon"
randomness depends on whether the epoch in which the beacon occurred was
a null block. Unfortunately, this means:
1. If a challenge lands on a non-null round but that non-null round gets
re-orged to a null round, the randomness will change to the beacon in
the first preceding non-null block.
2. If a challenge lands on a null round but that null round gets
re-orged to a non-null round, the randomness will change to the beacon
in the new non-null round.
The correct solution is to change the way the beacon is selected:
1. Wait until a non-null round.
2. The block in this round will contain all beacons from the null
rounds, select the beacon from the target epoch.
Unfortunately, this requires a mandatory network upgrade.
Instead, this patch just waits a bit before beginning to compute window
post after passing the challenge round to wait-out any reorgs.
2021-03-09 22:03:05 -08:00
Łukasz Magiera
06b360325a
handle terminate control addrs in address selection correctly
2021-03-08 22:09:04 +01:00
Łukasz Magiera
305c2ec77d
miner: Config to disable owner/worker addcess fallback
2021-03-08 21:33:46 +01:00
Łukasz Magiera
8bd5173a54
Merge branch 'next' into refactor/lib/blockstore
2021-03-01 19:04:40 +01:00
Raúl Kripalani
7f0f7d0b36
Merge branch 'master' into refactor/lib/blockstore
2021-02-28 19:55:23 +00:00
Łukasz Magiera
f719765069
storageminer: exit PledgeSector after sectors enter sealing pipeline
2021-02-16 17:41:58 +01:00
Łukasz Magiera
fc5e243c92
storagefsm: Cleanup CC sector creation
2021-02-16 17:14:59 +01:00
Łukasz Magiera
0c6aef221d
Fix error logging format strings
2021-02-11 12:00:26 +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
Łukasz Magiera
d64f4e84d5
add small cooldown if windowpost fails to verify
2021-02-03 12:42:19 +01:00
Raúl Kripalani
b0cbc932bd
consolidate all blockstores in blockstore package.
2021-01-29 20:01:00 +00:00
Łukasz Magiera
94009f247f
Merge pull request #5411 from filecoin-project/feat/sealing-handle-batch-publish
...
Handle batch publish storage deals message in sealing recovery
2021-01-28 19:33:49 +01:00
Dirk McCormick
1b494acc9e
feat: handle batch publish storage deals message in sealing recovery
2021-01-25 14:10:05 +01:00
Steven Allen
8de4e5e005
retry proofs if we generate an incorrect one
2021-01-22 13:31:47 -08:00
Aayush Rajasekaran
ab90a3b2bc
Actors update: MinerInfo.SealProofType has been removed
2021-01-21 15:21:19 -08:00
Jack Yao
41e9345da0
Update storage/addresses.go
...
Co-authored-by: Jakub Sztandera <kubuxu@protonmail.ch>
2021-01-19 09:36:35 +08:00
yaohcn
10b2ec55b5
correct log in maybeUseAddress
2021-01-15 12:31:47 +08:00
Łukasz Magiera
32885e1129
termination batcher: Notify based on what was sent
2021-01-14 17:14:26 +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
174c595acc
Don't declare in proving window
2021-01-13 22:19:10 +01:00
Łukasz Magiera
52cc2cd3eb
Initial sector termination support
2021-01-13 00:42:01 +01:00
Jakub Sztandera
6ca5caef31
Refactor DefaultMessageSendSpec
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-12-08 20:51:27 +01:00
Łukasz Magiera
a5a72a41eb
miner: Fix control address lookup
2020-12-04 17:02:23 +01:00
Łukasz Magiera
58695dc1bc
miner: fix tests
2020-12-03 12:37:11 +01: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
Łukasz Magiera
7246ef273f
miner: Control address config for (pre)commits
2020-12-02 19:58:00 +01:00
Łukasz Magiera
95eaf13b5a
sectorstorage: Fix tests
2020-12-02 00:36:32 +01:00
Łukasz Magiera
c6f85886bf
miner: Add slow mode to proving check
2020-12-02 00:32:14 +01:00
Łukasz Magiera
054327b72a
wdpost: Update comment
...
Co-authored-by: dirkmc <dirkmdev@gmail.com>
2020-12-01 14:50:51 +01:00
Łukasz Magiera
e8d2560581
Fix tests
2020-11-27 16:47:48 +01:00
s1m0n21
663b3f4f21
add a sector check command
2020-11-26 15:02:43 +08:00
hannahhoward
218f7c2c5d
feat(markets): update markets, extract commp
2020-11-20 13:29:14 -08:00
Łukasz Magiera
1999156d06
wdpost: always pick least-bad address
2020-11-19 20:59:54 +01:00
Łukasz Magiera
b4fa099257
wdpost: fix TestWDPostDoPost
2020-11-19 18:57:43 +01:00
Łukasz Magiera
b7a282decc
wdpost: fix build
2020-11-19 18:30:53 +01:00
Łukasz Magiera
9f807f4aeb
storageminer: Simplify AddressFor
2020-11-19 18:02:20 +01:00
Łukasz Magiera
16dbbadddf
Set lower feecap on PoSt messages with low balance
2020-11-19 18:02:20 +01:00
15ho
ba56d02a1c
fix: WindowPoStScheduler.checkSectors() delete useless judgment
2020-11-19 19:48:32 +08:00
Łukasz Magiera
915c5e0fdd
Get most tests to pass
2020-11-16 19:03:30 +01:00
Steven Allen
05db5ce426
load proof types in window post logic
...
This is going to be inefficient, but it should be fine in practice.
2020-11-16 19:03:30 +01:00
Steven Allen
219c695967
fix storage adapter miner
2020-11-16 19:03:30 +01:00
Łukasz Magiera
6bea9dd178
Making sealing logic work with multiple seal proof types
2020-11-16 19:03:30 +01:00
Steven Allen
077bc83f7f
explicitly abort PoSt on context cancellation
2020-10-30 14:00:54 -07:00
Steven Allen
6985af5e88
keep retrying the proof until we run out of sectors to skip
...
If we have a bunch of corrupted but not missing sectors on disk, we may need to
retry many times before we get a proof to pass. Simply giving up doesn't help anyone.
2020-10-30 13:21:34 -07:00
Łukasz Magiera
4100f6eead
fix TestWDPostDoPost
2020-10-28 15:23:21 +01:00
Łukasz Magiera
e1da874258
Merge remote-tracking branch 'origin/master' into feat/async-restartable-workers
2020-10-27 03:31:07 +01:00
Steven Allen
0d06f8fa2b
Add commands to change the worker key
2020-10-26 18:16:24 -07:00
wangchao
e65aa4cf17
worker key should change when set sender found key not equal with the value on chain
2020-10-26 15:20:09 +08:00
Łukasz Magiera
4d87473053
Fix lint
2020-10-23 23:31:18 +02:00
Łukasz Magiera
660236b224
Merge remote-tracking branch 'origin/master' into feat/async-restartable-workers
2020-10-23 23:25:35 +02:00
Steven Allen
109b326ae2
Use older randomness for the PoSt commit on specs-actors version 2
...
After the upgrade, we're allowed to use randomness up to the challenge epoch.
This safe-guards us against very large reorgs where a miner computes a PoSt very
quickly.
2020-10-23 12:45:11 -07:00
Łukasz Magiera
29e334de54
Merge pull request #4511 from filecoin-project/steb/generalize-window-post
...
Manage sectors by size instead of proof type.
2020-10-22 21:27:48 +02:00
Steven Allen
bcabe7b3b5
migrate methods to abstracted methods
...
Method numbers never change anyways. At worst, we'll deprecate old methods and
have to explicitly import them from the correct actors version to use them.
2020-10-21 12:18:37 -07:00
Steven Allen
4e730b5ec8
port to v2 imports
2020-10-21 12:16:23 -07:00
Steven Allen
00dcb1bce9
Manage sectors by size instead of proof type.
...
* We may have multiple sectors with the same size and different proof types, but all these management functions stay the same.
* This simplifies PoSt logic.
2020-10-20 18:30:56 -07:00
Łukasz Magiera
8d06cca073
sched: Handle workers using sessions instead of connections
2020-10-18 12:36:06 +02:00
Łukasz Magiera
b74a3229f8
fsm: process expired-ticket sectors
2020-10-13 21:35:41 +02:00
Jakub Sztandera
2b21fdef33
Refactor from crypto.SigType to types.KeyType
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-10-12 00:07:53 +02: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
Steven Allen
196bf39574
use non-faulty sectors, instead of active, in post proof
...
In actors v2, active doesn't include "new" (unproven) sectors.
2020-09-30 17:35:14 -07:00
Łukasz Magiera
90be8d801b
Merge branch 'master' into post-trace
2020-09-30 10:03:54 +02:00
Łukasz Magiera
7a3a2f8db9
Merge pull request #3924 from filecoin-project/feat/dont-recompute-PoST-redux
...
Dont recompute post on revert <<redux>>
2020-09-30 09:18:46 +02:00
Łukasz Magiera
ef28ebb14a
Ignition upgrades, much excite.
2020-09-25 23:55:37 -07:00
Dirk McCormick
80a7ed8116
refactor: use abstract types instead of specs-actors
2020-09-25 15:54:27 +02:00
zgfzgf
13b38815c2
add trace wdpost
2020-09-25 20:31:07 +08:00
Dirk McCormick
7eb9bec13f
feat: dont recompute post on submit redux
2020-09-24 14:38:33 +02:00
Steven Allen
63f026f7c3
migrate some more imports
2020-09-21 15:24:45 -07:00
Steven Allen
4cf0c105eb
optimize sector loading
...
And avoid exposing "arrays" via the miner abstraction. We may change these
structures later.
2020-09-21 12:12:08 -07:00
Łukasz Magiera
a307e4593a
wdpost: Fix TestWDPostDoPost
2020-09-21 10:06:19 +02:00
Steven Allen
35bce5a5c6
revert post changes
...
1. Calling the specific partition/deadline APIs is faster.
2. It's _much_ easier to test this way.
2020-09-18 15:40:49 -07:00
Steven Allen
1bf3b4989d
rename imports to match actors code
...
`sed -i 's/\bv0\(\w\)\(\w*\)/\L\1\E\20/g' **/*.go`
2020-09-18 14:59:27 -07:00
Łukasz Magiera
ccd0a67b01
wip fixing wdpost tests
2020-09-18 20:34:23 +02:00
Łukasz Magiera
70faa36b7f
Merge remote-tracking branch 'origin/master' into refactor/net-upgrade
2020-09-18 19:29:06 +02:00
Łukasz Magiera
26bbd9fb9d
wdpost: append is hard
2020-09-18 03:00:31 +02:00
Łukasz Magiera
8419dda84b
wdpost: Only add proven partitions to message params
2020-09-18 02:39:08 +02:00
Łukasz Magiera
6eda53565f
Most tests passing
2020-09-17 17:30:24 +02:00
Aayush Rajasekaran
31ff5230bb
Get State API almost working
2020-09-17 05:05:32 -04: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
Aayush Rajasekaran
b5ba7a0fad
Miner migration
2020-09-17 02:21:16 -04:00
jennijuju
5c69249ba3
Use window post
for window PoSt related log messages.
2020-09-15 21:22:29 -04:00
Steven Allen
c64f983900
migrate StateMinserSectorCount
2020-09-15 12:09:39 -07:00
Łukasz Magiera
4dabab5ce6
state manager progress
2020-09-15 13:04:45 +02:00
Dirk McCormick
db998e9c0f
fix: storage - move rand generation after proofs
2020-09-15 09:52:55 +02:00
Dirk McCormick
f0f15f899c
feat: split window PoST messages into batches
2020-09-15 09:43:18 +02:00
Steven Allen
36f920bcd7
progress
2020-09-14 21:55:49 -07:00
Steven Allen
02dcb5e182
Merge branch 'master' into refactor/net-upgrade
2020-09-14 14:53:57 -07:00
Steven Allen
2088335b9d
rename to simplify merge
2020-09-14 14:40:52 -07:00
Steven Allen
9804310cc8
Update specs-actors to 0.9.10
...
Moves the Keyer type (and helpers) into go-state-types.
2020-09-14 14:32:57 -07:00
Łukasz Magiera
8a05fe86d6
wdpost: Skip sectors correctly
2020-09-14 20:33:54 +02:00
Łukasz Magiera
06ec571c20
Merge remote-tracking branch 'origin/master' into refactor/net-upgrade
2020-09-14 15:09:52 +02:00
Raúl Kripalani
6d29d75724
Merge branch 'master' into inmem-journal
2020-09-14 12:17:45 +01:00
Steven Allen
d3594835c4
[WIP] Network upgrade support
...
This patch starts adding support for network upgrades.
* It adds an actors abstraction layer for loading abstract (cross-version) actors.
* It starts switching over to a shared deadline type.
* It adds an abstraction for ADTs (hamt/amt).
* It removes the callback-based API in the StateManager (difficult to abstract
across actor versions).
* It _does not_ actually add support for actors v2. We can do that in a followup
patch but that should be relatively easy.
This patch is heavily WIP and does not compile. Feel free to push changes
directly to this branch.
Notes:
* State tree access now needs a network version, because the HAMT type will change.
* I haven't figured out a nice way to abstract over changes to the _message_
types. However, many of them will be type aliased to actors v0 in actors v2 so
we can likely continue using the v0 versions (or use the v2 versions
everywhere). I've been renaming imports to `v0*` to make it clear that we're
importing types from a _specific_ actors version.
TODO:
* Consider merging incremental improvements? We'd have to get this compiling
again first but we could merge in the new abstractions, and slowly switch over.
* Finish migrating to the new abstractions.
* Remove all actor state types from the public API. See `miner.State.Info()` for
the planned approach here.
* Fix the tests. This is likely going to be a massive pain.
2020-09-11 20:16:29 -07:00
Łukasz Magiera
d0175392c0
Merge remote-tracking branch 'origin/master' into feat/window-post-faulty-sectors
2020-09-11 10:47:39 +02:00
Aayush Rajasekaran
774e068436
Update to specs-actors v0.9.8
2020-09-10 17:41:55 -04:00
Łukasz Magiera
5e7737f55d
wdpost: Handle skipped sectors correctly
2020-09-10 02:59:37 +02:00
whyrusleeping
7a6ceebb34
windowed post generation now returns faulty sectors
2020-09-09 14:00:15 -07:00
Steven Allen
afa913f2ed
Remove hard-coded late-fee in window PoSt
...
This is no longer necessary, and doesn't really serve any purpose.
2020-09-09 11:34:55 -07:00
Aayush Rajasekaran
d678fe4bfa
Fix tests
2020-09-07 15:48:42 -04:00
Aayush Rajasekaran
39755a294a
Update to specs v0.9.6
2020-09-07 15:48:41 -04:00
Raúl Kripalani
3206f92063
Merge branch 'master' into inmem-journal
2020-09-02 19:50:52 +01:00
Raúl Kripalani
f046af337a
split wdpost event into finer-grained ones.
2020-09-02 19:45:25 +01:00
Raúl Kripalani
ac152abc75
shuffle code to journal wdpost events.
2020-09-02 19:15:25 +01:00
Łukasz Magiera
7806a9885a
storagefsm: Record publish deals message CID
2020-08-27 17:50:50 +02:00
Steven Allen
0155a31d1f
Fix PoSt with bad sectors
...
"skipped" sectors must be replaced with a substitute "good" sector, or the
entire partition must be skipped. They should not just be omitted.
This patch also fixes the test to verify the _entire_ proof instead of just
verifying that the proof includes the correct sectors.
2020-08-26 09:56:51 -07:00
Raúl Kripalani
efdfd3ee3e
Merge branch 'master' into inmem-journal
2020-08-26 16:38:23 +01:00
Raúl Kripalani
4e1ef09751
make journal a global var.
2020-08-26 16:09:37 +01:00
Łukasz Magiera
a236957538
Merge pull request #3232 from filecoin-project/asr/marked-for-upgrade
...
Indicate whether a sector has been marked for upgrade
2020-08-22 21:48:45 +02:00
Aayush Rajasekaran
984e52acbc
Indicate whether a sector has been marked for upgrade
2020-08-21 15:53:39 -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
Łukasz Magiera
a4807b18bc
gofmt, api docstring
2020-08-20 01:26:13 +02:00
Łukasz Magiera
71cf358ee3
Fix windowpost test
2020-08-20 01:18:01 +02:00
Łukasz Magiera
5ea61abfe1
Wire up miner control addresses, use for post
2020-08-20 01:17:03 +02:00
whyrusleeping
f5dcd4a25f
set missing miner ID field
2020-08-19 13:42:34 -07:00
Łukasz Magiera
3fd4921ea3
Merge pull request #3147 from filecoin-project/feat/fsm-seal-limits
...
fsm: Config for limiting max sealing sectors
2020-08-18 21:54:41 +02:00
Peter Rabbitson
02d21c2833
Missing error argument
2020-08-18 21:08:20 +02:00
Łukasz Magiera
886d9cd5eb
fsm: handle already-precommitted CommitFailed sectors correctly
2020-08-18 18:02:25 +02:00
Łukasz Magiera
65ffde9e4b
fsm: Config for max WaitDeals sectors
2020-08-18 16:20:31 +02:00
Raúl Kripalani
862bafc63a
fix lint errors.
2020-08-17 14:39:33 +01: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
4f6d01d2ea
fix path in failing test.
2020-08-16 12:28:39 +01:00
Raúl Kripalani
2b511d2f57
fix lint errors.
2020-08-16 11:44:22 +01:00
Raúl Kripalani
1eed341951
fix test compilation error.
2020-08-16 11:14:24 +01:00
Raúl Kripalani
3c17cd655e
integrate extern/sector-storage into lotus proper.
2020-08-16 11:09:58 +01:00
Raúl Kripalani
fb0ccc9260
integrate extern/storage-fsm into lotus proper.
2020-08-16 10:42:13 +01:00
Łukasz Magiera
42bb91c2e6
gofmt
2020-08-14 23:40:41 +02:00
Łukasz Magiera
25cb3a15e7
wdpost: Wait for the correct confidence
2020-08-14 21:03:20 +02:00
Łukasz Magiera
12f7e2d9bf
Use a struct for send metadata in MpoolPushMessage
2020-08-12 22:17:29 +02:00
Łukasz Magiera
e1a1b325bc
Merge remote-tracking branch 'origin/next' into feat/max-msg-fee-config
2020-08-12 21:55:03 +02:00
Łukasz Magiera
6f890a3edd
Miner fee config
2020-08-12 19:47:09 +02:00
Steven Allen
6f031993ba
Use the deadline open as the wpost commit epoch
2020-08-12 10:33:18 -07:00
Steven Allen
e18904bff5
[WIP] fix post submission
2020-08-12 10:33:18 -07:00
Steven Allen
9135a5d048
Pass bitfields by-value
...
This ensures we can't end up decoding nil bitfields from clients when not
expecting them.
Part of https://github.com/filecoin-project/specs-actors/issues/895 . Please see
this issue for details and leave any comments there.
2020-08-12 10:32:39 -07:00
Łukasz Magiera
d0147aa50f
Add maxFee param to MpoolPushMessage
2020-08-12 19:06:16 +02:00