Jakub Sztandera
2d3f92aeed
Introduce beacon Schedule
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-10 17:41:55 -04:00
vyzo
72c7d4c886
relax mpool add strictness checks for local pushes
...
So that a node can have more than 1k pending messages for its own local addresses.
2020-09-10 09:55:50 +03:00
Aayush Rajasekaran
e1a0cf6ca5
Add a checkpoint test
2020-09-09 19:21:48 -04:00
Aayush Rajasekaran
183df4c135
Fix IsAncestorOf
2020-09-09 19:09:55 -04:00
vyzo
d369f542c5
warn when optimal selection fails to pack a block and we fall back to random selection
2020-09-09 23:17:09 +03:00
Jakub Sztandera
ef18f93609
Merge pull request #3698 from filecoin-project/fix/mpool-packing-failure
...
fix mpool optimal selection packing failure
2020-09-09 21:38:26 +02: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
5e3c178b9e
Add a sync test for checkpointed tipsets
2020-09-09 14:34:04 -04:00
Aayush Rajasekaran
35aa78dad9
Allow marking a certain tipset as checkpointed
2020-09-09 14:34:00 -04:00
vyzo
cf515bc5ca
add selection test with real world messages dumped from a live node mpool
2020-09-09 20:46:26 +03:00
vyzo
97cbfa11b7
fix nasty bug in optimal selection
...
the sort has to account for negative gasPerf and be stable; go figure.
2020-09-09 20:45:24 +03:00
Łukasz Magiera
1d78ffc04d
Merge pull request #3676 from filecoin-project/feat/mpool-replace-auto
...
add an auto flag to mpool replace
2020-09-09 19:31:43 +02:00
whyrusleeping
e9b85f5acb
ensure replaced message can properly RBF
2020-09-09 10:23:41 -07:00
Łukasz Magiera
cb3b0ab2bb
Merge remote-tracking branch 'origin/master' into blocksync-refactor
2020-09-09 19:19:05 +02:00
vyzo
194b6eb9d8
fix issue with gasLimit check for trimming (> instead of >=)
2020-09-09 12:58:51 +03:00
vyzo
0b09082450
adjust optimal selection to always try to fill blocks
2020-09-09 12:37:03 +03:00
Aayush Rajasekaran
06b814b627
Merge pull request #3673 from filecoin-project/fix/long-syncs-over-upgrade
...
pass tipset through upgrade logic
2020-09-08 22:28:42 -04:00
whyrusleeping
8a8f0ab3ec
pass tipset through upgrade logic
2020-09-08 13:45:44 -07:00
Łukasz Magiera
1ef0359731
Merge pull request #3668 from filecoin-project/feat/sync-fetching-messages-state
...
Add StageFetchingMessages to sync status
2020-09-08 21:15: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
vyzo
26ff596983
fix very minor bug in repub baseFeeLowerBound
...
messages will not be accepted if the GasFeeCap is less than minimumBaseFee, but it doesn't hurt
to be correct.
2020-09-08 19:02:05 +03:00
Raúl Kripalani
b33db9c1ab
Merge branch 'master' into blocksync-refactor
2020-09-08 14:22:43 +01:00
Łukasz Magiera
867469e9b3
Merge pull request #3648 from filecoin-project/fix/dont-use-latency
...
Don't use latency as initital estimate for blocksync
2020-09-08 14:56:23 +02:00
Jakub Sztandera
b66058e417
Add 0 guard
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-08 12:19:37 +02:00
Jakub Sztandera
ba9678bd61
Use for to iterate over channel
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-08 12:11:30 +02:00
Jakub Sztandera
74e577610a
Forward peers from hello to blocksync
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-08 10:18:51 +02:00
vyzo
37ec1a978e
nicer check using Time objects
2020-09-08 10:47:41 +03:00
vyzo
27fa9969f3
fix isChainNearSync check in block validator
2020-09-08 10:26:27 +03:00
Jakub Sztandera
93176c91f4
Track time in relation to request size
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-08 09:06:31 +02:00
Jakub Sztandera
043e62ab63
Don't use latency as initital estimate for blocksync
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-08 08:59:05 +02:00
Aayush Rajasekaran
c77f5f6252
Revert "only subscribe to pubsub topics once we are synced"
2020-09-08 00:32:26 -04:00
whyrusleeping
d1cf445327
use defined constant for fork height
2020-09-07 16:18:22 -07:00
whyrusleeping
26ec0716b9
fix lint errors
2020-09-07 16:12:44 -07:00
whyrusleeping
97af576f6a
Implement faucet funds reallocation logic
...
use all committed sectors instead of power
give all miners who had at least a sector on friday a base amount
include genesis miner in redistribution
drop back to 1,000,000
2020-09-07 16:06:13 -07:00
Aayush Rajasekaran
0e986df7e5
Merge pull request #3627 from filecoin-project/asr/specs-update-0.9.7
...
Update to specs 0.9.7 and markets 0.6.0
2020-09-07 18:00:56 -04:00
Aayush Rajasekaran
45011c0fad
Use latest version if no upgrade height is specified
2020-09-07 17:43:14 -04:00
Aayush Rajasekaran
6eea5dd109
Update to specs 0.9.7 and markets 0.6.0
2020-09-07 17:11:32 -04:00
Jakub Sztandera
46ee2eeded
Upgrade to correct fork treshold
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-07 23:07:33 +02:00
Jakub Sztandera
704db225d1
Update the fork point
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-07 22:45:06 +02:00
Jakub Sztandera
ce0e9594df
Update to go-state-types
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-07 22:44:12 +02:00
Jakub Sztandera
835b7eb6f7
Make allowNegativeChains a function
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-07 22:44:12 +02:00
vyzo
172ff846fd
decouple negative chain selection from base fee lower bound validation
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-07 22:44:12 +02:00
vyzo
97fddc45d9
temporarily allow negative perfoming chains
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-07 22:44:09 +02:00
whyrusleeping
5654322f54
introduce logic to perform base fee tamping around the upgrade time
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-07 22:31:36 +02: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
anorth
a8dcea1422
Remove use of exitcode.SysErrInvalidParameters
2020-09-07 15:48:41 -04:00
vyzo
2233751668
use the baseFeeLowerBound for computing repub message chains
2020-09-07 21:53:30 +03: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
vyzo
41222792ed
add docstring for verifyMsgBeforeAdd
2020-09-07 20:26:51 +03:00
vyzo
5659faf7f0
don't immediately publish messages that cannot be included in the next 20 blocks
2020-09-07 20:20:49 +03:00
vyzo
2e75d9c80a
be explicit about republish interval, check against timecache duration
2020-09-07 20:20:49 +03:00
vyzo
0fcf8838cc
improve republish logic to only republish messages that can be included in the next 20 blocks
2020-09-07 20:20:49 +03:00
Łukasz Magiera
758aae8556
Merge pull request #3586 from filecoin-project/feat/expected-height-metric
...
metrics: add expected height metric
2020-09-07 19:09:06 +02:00
Łukasz Magiera
ffbbd968c2
Merge pull request #3602 from filecoin-project/feat/delayed-pubsub-join
...
only subscribe to pubsub topics once we are synced
2020-09-07 19:08:21 +02:00
vyzo
e3aaedbc33
fix tests
2020-09-07 19:46:58 +03:00
Łukasz Magiera
f6f5405a2c
Fix lint
2020-09-07 18:21:45 +02:00
Łukasz Magiera
551ff6a6fb
Merge pull request #3608 from filecoin-project/fix/second-argument-error-message
...
fix: second argument error message
2020-09-07 18:06:22 +02:00
Łukasz Magiera
d3e5092b43
Merge pull request #3611 from filecoin-project/fix/tscache-nil-best
...
chain events: if cache best() is nil, return chain head
2020-09-07 18:05:34 +02:00
vyzo
d9faff19a5
fix tests
2020-09-07 15:55:53 +03:00
vyzo
4f0ab4f226
remove notifee after subscribing
2020-09-07 15:55:53 +03:00
Dirk McCormick
76a1b3286b
fix: if cache best is nil, return chain head
2020-09-07 14:43:06 +02:00
Alan Shaw
9d9d2a2a98
fix: second argument error message
...
Second argument should be a pointer, not runtime.
2020-09-07 12:29:40 +01:00
Raúl Kripalani
798061506e
decommission chain validation.
2020-09-07 11:34:36 +01:00
Travis Person
f7b52d16f5
metrics: add expected height metric
2020-09-07 02:57:12 +00:00
vyzo
e24a29b146
fix tests that touch the mpool; mock block must have a ParentBaseFee
2020-09-06 11:55:43 +03:00
vyzo
ffb2640736
use faster lookup for base fee
2020-09-06 11:55:43 +03:00
vyzo
f9492691a6
don't check baseFee lower bound for local messages
2020-09-06 11:55:43 +03:00
vyzo
1c0e6d76f0
add defensive check for minimum GasFeeCap for inclusion within the next 20 blocks
2020-09-06 11:55:43 +03:00
Łukasz Magiera
6bdd433570
Merge pull request #3538 from filecoin-project/steb/safe-exports
...
Robustify state manager against holes in actor method numbers
2020-09-05 21:58:03 +02:00
Łukasz Magiera
f58cbc2594
Merge pull request #3557 from filecoin-project/fix/mpool-repub-negative
...
republish messages even if the chains have negative performance
2020-09-05 21:48:39 +02:00
Łukasz Magiera
1e190e462a
Merge pull request #3562 from filecoin-project/fix/mpool-log-spam
...
reduce mpool add failure log spam
2020-09-05 21:47:29 +02:00
vyzo
5037282b98
add test for priority selection with negative chains
2020-09-05 22:15:18 +03:00
vyzo
0b3685e529
fix selection bug; priority messages were not included if other's chains were negative
2020-09-05 21:30:02 +03:00
vyzo
275f071b12
reduce mpool add failure log spam
2020-09-05 00:28:13 +03:00
vyzo
ad8d550d73
remove unused ts argument from Trim, replace it with allowNegative specifier
2020-09-04 22:32:30 +03:00
Steven Allen
fceeaf42ca
Robustify state manager against holes in actor method numbers
...
Also, don't simply assume that the field order matches the method numbers in
`builtin.Method*` structs.
2020-09-04 12:26:55 -07:00
Steven Allen
30fdff17b5
Skip nil exports
...
The actors may skip previously used but no longer defined method numbers.
2020-09-04 12:26:55 -07:00
vyzo
6d53862142
republish messages even if the chains have negative performance
2020-09-04 22:16:10 +03:00
Raúl Kripalani
1ec534d607
Merge branch 'master' into inmem-journal
2020-09-04 10:55:40 +01:00
Raúl Kripalani
905168e72e
fix lint errors.
2020-09-04 10:54:56 +01:00
Łukasz Magiera
01449e486c
Merge pull request #3528 from filecoin-project/fix/sele-gas-reward
...
Fix calculation of GasReward in messagepool
2020-09-03 20:41:28 +02:00
Jakub Sztandera
8111b227c4
Appease the linter
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-03 20:19:01 +02:00
Jakub Sztandera
8bb471bccd
Add getGasPerf test
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-03 20:19:01 +02:00
Jakub Sztandera
5074b526d0
Fix calculation of GasReward in messagepool
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-09-03 19:36:03 +02:00
Raúl Kripalani
97ff90f8fa
fix imports.
2020-09-03 15:51:26 +01:00
vyzo
d20b6adfd2
refuse to add duplicates in the mpool
2020-09-03 15:28:44 +03:00
vyzo
a4c650316a
fix test
2020-09-03 15:28:44 +03:00
vyzo
28f57667f0
cap MaxNonceGap to 4, add delay between batch messages during republish
2020-09-03 15:28:44 +03:00
vyzo
f53d2e3a46
cap MaxNonceGap to 16
2020-09-03 15:28:44 +03:00
vyzo
7b76aa2078
warn when adding a nonce-gapped message to the mpool
2020-09-03 15:28:44 +03:00
vyzo
d76a3b87c5
ignore messages with large nonce gaps
2020-09-03 15:28:44 +03:00
vyzo
da6d384300
fix tests
2020-09-03 15:28:44 +03:00
vyzo
4c489d18a2
track expected nonce in mpool, refuse messages with large gaps
2020-09-03 15:28:44 +03:00
Lucas Molas
ca8f5861fe
Update chain/blocksync/server.go
...
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2020-09-02 17:07:39 -03:00
Raúl Kripalani
3206f92063
Merge branch 'master' into inmem-journal
2020-09-02 19:50:52 +01:00
whyrusleeping
9a5542100a
load fewer messages from disk when serving blocksync requests
2020-09-02 11:43:05 -07:00
whyrusleeping
2b16e69e90
allow snapshot importing
2020-09-02 17:15:10 +02:00
whyrusleeping
09ebd1a557
allow exporting a number of recent chain state trees
2020-09-02 17:15:10 +02:00
austinabell
ba881eb4cf
Remove height from chain rand
2020-09-01 15:48:16 -04:00
Aayush Rajasekaran
93814cc85a
Merge pull request #3392 from filecoin-project/fix/mpool-priority-selection
...
Tweak priority selection to not select negative perfoming chains
2020-08-31 19:22:12 -04:00
刘林欣
0926f95979
remove the unnecessary err check
2020-08-31 15:11:45 +08:00
vyzo
648130eec5
don't include negative performing chains in priority message selection
2020-08-29 15:55:19 +03:00
Łukasz Magiera
953effcc43
Merge pull request #3350 from filecoin-project/fix/some-fsm-issues
...
Fix some fsm issues
2020-08-29 02:16:59 +02:00
Łukasz Magiera
a62e44c4e5
Fix lint
2020-08-29 02:13:38 +02:00
Łukasz Magiera
84a632787c
Merge pull request #3313 from filecoin-project/feat/mpool-balance-tracking
...
Message Pool Rudimentary Spam Protection Measures
2020-08-28 22:35:30 +02: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
Łukasz Magiera
20ffce5c0d
Merge remote-tracking branch 'origin/master' into fix/some-fsm-issues
2020-08-28 16:47:25 +02:00
lanzafame
64768f093d
rename local recordFailure func
2020-08-28 17:15:11 +10:00
lanzafame
a24db6c584
refactor block validate recordFailure func
2020-08-28 17:11:59 +10:00
lanzafame
050a0ec5e4
further reduce code duplication
2020-08-28 17:01:45 +10:00
lanzafame
0254e4b365
reduce code duplication
2020-08-28 16:53:59 +10:00
lanzafame
094baf8aa9
distinguish local message validation failures from remote
2020-08-28 16:11:24 +10:00
Łukasz Magiera
86c936759b
Merge pull request #3357 from filecoin-project/fix/block-validator-power
...
ignore, don't reject block if we can't determine power
2020-08-28 00:24:53 +02:00
austinabell
39ef3a701b
Remove unsigned message pointer from Runtime
2020-08-27 17:34:45 -04:00
vyzo
708a8b6543
flag to allow add to skip limit check
...
essential for correctness in the revert case
2020-08-28 00:04:21 +03:00
Łukasz Magiera
6c7874c883
Merge remote-tracking branch 'origin/master' into fix/some-fsm-issues
2020-08-27 21:37:08 +02:00
vyzo
6c3d8ec1de
ignore, don't reject block if we can't determine power
2020-08-27 16:53:53 +03:00
Łukasz Magiera
df635579c4
storagefsm: Handle sectors with expired deals better
2020-08-27 13:51:38 +02:00
whyrusleeping
a33784c434
print block 'age' when validating blocks during sync
2020-08-26 14:48:53 -07:00
vyzo
038e83b647
log error if we trip over too many pending messages for actor
2020-08-26 22:55:39 +03:00
vyzo
82ef0529d8
named error for too many pending messages
2020-08-26 22:48:03 +03:00
vyzo
6abfbbddd5
fix tests
2020-08-26 22:44:47 +03:00
vyzo
ad889a7240
rate limit messages per actor by enforcing maximum pending message limit
2020-08-26 22:40:10 +03:00
vyzo
d3e95d6b77
cast min base fee to uint64
2020-08-26 21:37:32 +03:00
vyzo
8db262c941
check gas fee cap for minimum value
2020-08-26 21:23:28 +03:00
vyzo
793eda986b
comment out Value inclusion for required funds tracking
...
we are not sure whether we want it yet.
2020-08-26 21:10:46 +03:00
vyzo
8848c549a0
move msg serialization outside of lock, consistently use curTs
2020-08-26 19:42:56 +03:00
vyzo
4919a005d3
always verify message min gas
2020-08-26 19:37:27 +03:00
Raúl Kripalani
cb8e105a94
reduce diff noise.
2020-08-26 16:44:06 +01: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
vyzo
7a7066896e
better code for getRequiredFunds
2020-08-26 15:37:42 +03:00
vyzo
a2c0c10d2a
correctly account for message replacement in required funds tracking
2020-08-26 15:27:09 +03:00
vyzo
c473d3c682
rename ErrValidationFailure to ErrSoftValidationFailure
...
to make it clear to readers that this failure is soft; we might be out of sync.
2020-08-26 15:16:04 +03:00
vyzo
87e6c0973a
include message Value only in soft validation failures
2020-08-26 15:13:50 +03:00
vyzo
78876947a4
ErrBroadcastAnyway is now ErrValidationFailure
2020-08-26 15:03:13 +03:00
vyzo
b59f58435c
fix tests
2020-08-26 14:58:32 +03:00
vyzo
4adb83eaae
check aggregate pending message required funds against balance
2020-08-26 14:58:26 +03:00
vyzo
4ac9828b0c
track required funds in message set
2020-08-26 14:38:26 +03:00
vyzo
77f6e0d4f8
refactor balance check, apply it in PushWithNonce
2020-08-26 14:23:34 +03:00
vyzo
835dbfe001
check message before adding in PushWithNonce
2020-08-26 14:13:46 +03:00
vyzo
da9630c561
remove duplicate check
...
gas limit is checked against block gas limit in ValidForBlockInclusion
2020-08-26 14:02:34 +03:00
Whyrusleeping
14cda27e9f
Merge pull request #3294 from filecoin-project/feat/sync-tweaking
...
Add some tracing and the ability to tweak message fetch window size
2020-08-25 13:25:22 -07:00