Raúl Kripalani
dd841f32db
syncer: make SyncManager an interface.
2020-09-14 21:58:59 +01:00
Łukasz Magiera
06ec571c20
Merge remote-tracking branch 'origin/master' into refactor/net-upgrade
2020-09-14 15:09:52 +02: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
whyrusleeping
db6bd890d9
condition randomness changes on fork height
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04:00
Steven Allen
7a46c5ff31
[WIP] Fix ticket randomness
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04:00
Jakub Sztandera
2d3f92aeed
Introduce beacon Schedule
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04:00
Aayush Rajasekaran
f0554676dd
Explicitly check tipsetkeys when considering checkpoint
2020-09-09 14:34:05 -04:00
Aayush Rajasekaran
5c852e26c2
Add a SyncUnmarkBad API
2020-09-09 14:34:05 -04:00
Aayush Rajasekaran
35aa78dad9
Allow marking a certain tipset as checkpointed
2020-09-09 14:34:00 -04:00
Łukasz Magiera
cb3b0ab2bb
Merge remote-tracking branch 'origin/master' into blocksync-refactor
2020-09-09 19:19:05 +02:00
Jakub Sztandera
44f4372ca3
Add StageFetchingMessages to sync status
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-08 20:42:20 +02:00
Raúl Kripalani
b33db9c1ab
Merge branch 'master' into blocksync-refactor
2020-09-08 14:22:43 +01: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
453e826a0f
rename p2p protocol to /fil/chain/xchg/0.0.1 (backwards-compatible); rename more.
2020-09-07 19:45:34 +01:00
Raúl Kripalani
55b1456d45
blocksync: introduce interfaces; rename to chainexchange.
2020-09-07 19:31:43 +01:00
Łukasz Magiera
f6f5405a2c
Fix lint
2020-09-07 18:21:45 +02:00
Travis Person
f7b52d16f5
metrics: add expected height metric
2020-09-07 02:57:12 +00:00
austinabell
485f13de12
Remove load check
2020-09-02 16:45:23 -04:00
austinabell
7f3ba0e6eb
Merge branch 'master' of github.com:filecoin-project/lotus into extratsload
2020-09-02 16:44:06 -04:00
vyzo
806f7dd15f
windowSize should not exceed blocksync.MaxRequestLength
2020-08-28 23:18:06 +03:00
vyzo
63a60cdd75
be more conservative in increasing the window size, check that we actually had more messages
2020-08-28 23:09:48 +03:00
vyzo
3935fd77ac
remember syncer windowSize
2020-08-28 22:52:40 +03:00
vyzo
4e7fd5b6d7
sync: increase window size when successful fetching messages
2020-08-28 22:03:06 +03:00
vyzo
1f660c9e04
sync: half window size and retry when fetching messages fails
2020-08-28 18:45:20 +03:00
whyrusleeping
a33784c434
print block 'age' when validating blocks during sync
2020-08-26 14:48:53 -07:00
whyrusleeping
a553db4b82
Add some tracing and the ability to tweak message fetch window size
2020-08-25 12:39:17 -07:00
austinabell
e4daadbfcf
Remove extra tipset load from checking beacon entries
2020-08-20 17:54:59 -04: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
bf774fc29b
Simplify sync logic around tipset expansions, ff and forking
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 23:02:13 +02:00
Aayush Rajasekaran
88f677e891
Fix error message
2020-08-07 14:36:24 -04:00
Łukasz Magiera
e0b86782e9
Merge pull request #2895 from filecoin-project/feat/fix-tests
...
Fix
2020-08-07 18:37:40 +02:00
Anton Evangelatov
9fa42680fe
rationalise annoying logs.
2020-08-07 15:53:55 +02:00
Łukasz Magiera
b216785071
sync: Revert #2858
2020-08-07 14:46:46 +02:00
Łukasz Magiera
07bf155295
Merge remote-tracking branch 'origin/next' into feat/dyn-base-fee
2020-08-06 23:41:54 +02:00
Whyrusleeping
2212c10f3a
Merge pull request #2858 from filecoin-project/asr/sync-fix
...
Fix collectHeaders when incoming is partially built on latest tipset
2020-08-06 13:46:44 -07:00
Jakub Sztandera
722d6e8ffb
Introduce base fee
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 21:14:38 +02:00
Jakub Sztandera
a625943fc3
Fix Weight issue
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 21:14:38 +02:00
Łukasz Magiera
e2d5451ffb
Merge pull request #2715 from filecoin-project/schomatis/blocksync/review
...
Rewrite internal logic of block sync client
2020-08-06 19:46:58 +02:00
Aayush Rajasekaran
6e8d51af02
Fix collectHeaders when incoming is partially built on latest tipset
2020-08-06 02:24:29 -04:00
Lucas Molas
7982ab52a7
check connection between fetched segments during sync
2020-08-04 15:06:30 -03:00
Jakub Sztandera
a58edeb96f
Tighten up timestamp check
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-03 18:39:27 +02:00
Lucas Molas
76d40ec408
first pass, ready for review
2020-08-03 12:20:04 -03:00
Łukasz Magiera
4cb4e7c2c2
Merge remote-tracking branch 'origin/master' into next
2020-07-31 14:02:04 +02:00
Aayush Rajasekaran
b51e2a868b
Merge branch 'next' into feat/cid-builder
2020-07-28 21:02:30 -04:00
Aayush Rajasekaran
859168015a
Use specs actor's MinerNominalPowerMeetsConsensusMinimum
2020-07-28 17:21:05 -04:00
Łukasz Magiera
09b90773d8
Merge remote-tracking branch 'origin/next' into feat/cid-builder
2020-07-28 16:06:06 +02:00
Simon Peffers
78739d9417
Fixes for failed CI tests
2020-07-26 00:46:23 -04:00
Simon Peffers
0f3105a01f
Integrate blst signature library: https://github.com/supranational/blst
2020-07-25 21:38:18 -04:00
Steven Allen
b7a4dbb07f
Support inline CIDs
...
And use the new CidBuilder from the spec actors.
This patch does not switch over to inline CIDs by default, but paves the way.
2020-07-23 23:12:32 -07:00
lanzafame
9207315b25
Change block validation aggregation type from sum to distribution
2020-07-24 15:47:41 +10:00
Steven Allen
5fc83f4d05
Refactor to use actor adt types instead of directly using HAMTs and AMTs
...
This way there's a single source of truth. Preparation for fixing
https://github.com/filecoin-project/specs-actors/issues/517 (requires changing
HAMT parameters).
2020-07-23 09:34:57 -07:00
Jakub Sztandera
8fb3f7e40e
Fix bls verification when there are no messages
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-22 21:59:05 +02:00
whyrusleeping
75b9fdc0a0
return multierror after creation
2020-07-22 11:53:56 -07:00
Jakub Sztandera
02631155dc
Add block gas limit verification
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-16 01:00:03 +02:00
Raúl Kripalani
a44e80c829
Merge branch 'next' into mock-clock
2020-07-15 15:51:11 +01:00
Lucas Molas
0313ab4e49
debug: standard PoSt tag
2020-07-14 19:22:25 -03:00
Raúl Kripalani
0484496d92
Merge branch 'next' into mock-clock
2020-07-14 18:08:26 +01:00
Łukasz Magiera
2e4ed57363
Merge remote-tracking branch 'origin/master' into next
2020-07-13 13:34:56 +02:00
Raúl Kripalani
973dbd6a13
Merge branch 'next' into mock-clock
2020-07-13 11:29:53 +01:00
austinabell
2fd860324f
avoid generating cids on all messages before checking message length
2020-07-10 19:59:58 -04:00
Łukasz Magiera
8ce35e30dd
Merge remote-tracking branch 'origin/master' into next
2020-07-10 21:50:38 +02:00
Łukasz Magiera
dc9df10f5a
sync: Also rename span attributes
2020-07-10 21:31:58 +02:00
Raúl Kripalani
13de81b3b2
introduce the ability to mock time.
2020-07-10 15:51:45 +01:00
Łukasz Magiera
8fbeebb86d
rename sync variables.
2020-07-08 22:02:28 +02:00
Łukasz Magiera
b049c5a7d1
Merge remote-tracking branch 'origin/master' into next
2020-07-08 14:35:40 +02:00
Jakub Sztandera
74db060cdb
Fix bad block rason if ValidateBlock fails
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-08 03:55:56 +02:00
Łukasz Magiera
e7aec53631
Merge remote-tracking branch 'origin/master' into next
2020-07-06 23:02:24 +02:00
Jakub Sztandera
50c773c6a3
Add better description to bad blocks
...
Track original cause of blocks being marked as bad.
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-06 19:23:29 +02:00
Łukasz Magiera
4c1dfd7eda
sync: Fix build
2020-07-01 11:24:26 +02:00
Łukasz Magiera
cfdbc2312d
Merge branch 'master' into next
2020-07-01 11:22:57 +02:00
Łukasz Magiera
a362ef97df
Merge pull request #2188 from filecoin-project/const-relaxation
...
make system constants configurable as vars.
2020-07-01 10:43:07 +02:00
Whyrusleeping
857b5962da
Merge pull request #2000 from filecoin-project/asr/maxheight
...
Do not connect to peers with impossibly high heads
2020-06-30 14:24:50 -07:00
Raúl Kripalani
3b826e41f6
rename build.AllowableClockDrift{=>Secs}.
2020-06-30 15:00:01 +01:00
Raúl Kripalani
4f9c907248
rename build.{BlockDelay=>BlockDelaySecs}.
...
Since this global is not typed as a time.Duration,
rather as an int, it makes sense to clarify the unit.
2020-06-30 14:26:49 +01:00
Łukasz Magiera
d27ff60ae2
Merge remote-tracking branch 'origin/master' into next
2020-06-26 13:08:37 +02:00
Raúl Kripalani
c8104a03e6
some initial godocs. ( #2118 )
2020-06-23 18:51:25 -03:00
Jakub Sztandera
156a14eeeb
Integrate Poisson Sortition into chain sync
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-23 16:59:44 +02:00
Łukasz Magiera
9e70e95242
sync: Correctly pass blocks to ValidateBlock
2020-06-23 14:10:47 +02:00
whyrusleeping
b71f771acb
run block validation for tipsets in parallel
2020-06-22 16:09:05 -07:00
Łukasz Magiera
ab4c11c096
Merge remote-tracking branch 'origin/master' into next
2020-06-16 12:04:29 +02:00
Aayush Rajasekaran
d8a517f992
Syncer::InformNewHead can quickly fail if height is impossibly large
2020-06-16 00:51:00 -04:00
Aayush Rajasekaran
aa513d920e
Merge pull request #1705 from hayeah/cache-tipset-validation-progress
...
Cache tipset validation progress
2020-06-16 00:14:11 -04:00
Aayush Rajasekaran
ed3b2716af
Don't verify ElectionPostVRF when insecure validation enabled
2020-06-15 21:02:25 -04:00
Jakub Sztandera
2a78ebabd9
Use HashVerify
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-15 17:39:16 +02:00
Howard Yeh
c822816f8e
Cache tipset validation progress
2020-06-14 18:41:17 +08:00
Jakub Sztandera
c90d35869b
Add gas tracing
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-11 21:59:39 +02:00
Lucas Molas
dc112a5a00
Lotus architecture notes ( #1768 )
...
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2020-06-11 12:31:32 +02:00
Mike Greenberg
2cd6347a13
Express block validation, cpu/mem usage via OpenCensus
2020-06-11 12:31:04 +02:00
Lucas Molas
469eef8231
Lotus architecture notes ( #1768 )
...
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2020-06-09 20:17:28 -03:00
Mike Greenberg
ae83ca6893
Express block validation, cpu/mem usage via OpenCensus
2020-06-08 14:15:01 -04:00
Jakub Sztandera
5605aae269
Fix even more lint warnings
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-02 16:29:39 +02:00
Jeromy
88fa9726cc
use chainmsg type instead of unsigned message for gas price checking
2020-05-14 12:44:26 -07:00
Jeromy
881b0517b1
reuse logic between message selection and validation
2020-05-14 12:29:11 -07:00
Aayush Rajasekaran
2e74e1d2ae
Don't assert params must be empty for Methodnum = 0
2020-05-14 15:10:07 -04:00
Łukasz Magiera
4c64f0ca11
sync: enforce message gas limits
2020-05-13 03:36:56 +02:00
Łukasz Magiera
ba389598ee
Cleanup build package
2020-05-12 19:59:28 +02:00
Łukasz Magiera
6712560779
fix import ordering
2020-05-12 13:48:09 +02:00
Aayush Rajasekaran
6bf2dcd97c
Message validation changes
2020-05-11 21:54:44 -04:00