Commit Graph

2211 Commits

Author SHA1 Message Date
vyzo
09f5a64ce0
use gasPerf for negative performance check
it's the same in actually because effPerf<0 iff gasPerf<0, but we should be consistent

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:11 +02:00
vyzo
f3eec33bec
make OptimalSelection3 test pass
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:11 +02:00
vyzo
1aa8b6cab2
make OptimalSelection2 test pass
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:11 +02:00
vyzo
0f5598e59b
compute average boost in tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:11 +02:00
vyzo
5e8ae7498a
only adjust next chains if they have positve perf
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:11 +02:00
vyzo
7bbf1c7db2
don't mix negative performing chains with their parent, add some comments
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:10 +02:00
Jakub Sztandera
f35555964d
Better "optimal selection
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:10 +02:00
vyzo
d25f386bb5
mixin the previous chain's effective performance to capture effect of dependencies
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-13 14:08:10 +02:00
Łukasz Magiera
3b23ab952b gofmt 2020-08-13 13:44:43 +02:00
frrist
69a472c4ea bug: fix id_address_map table conflicts on reorg 2020-08-12 16:54:45 -07:00
frrist
ce21557d64 bug: fix bug in predicate and add tests 2020-08-12 16:52:08 -07:00
whyrusleeping
b3a31d8823 add function to check entire state tree balance 2020-08-12 15:45:46 -07:00
Steven Allen
3ef3f570fb Fix lint errors an broken tests 2020-08-12 23:16:44 +02:00
Aayush Rajasekaran
c73d597d87
Merge pull request #2961 from filecoin-project/asr/genesis-premined
Revise TotalCircSupply
2020-08-12 17:12:54 -04:00
Łukasz Magiera
12f7e2d9bf Use a struct for send metadata in MpoolPushMessage 2020-08-12 22:17:29 +02:00
Aayush Rajasekaran
5b280057b8 Move genesis locked funds into filVested 2020-08-12 16:16:35 -04: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
43586ed9a1
Merge pull request #3000 from filecoin-project/feat/mpool-add-semaphore
Add semaphore in push and friends to reduce lock contention
2020-08-12 21:53:59 +02:00
Łukasz Magiera
ba28169356 Merge remote-tracking branch 'origin/master' into next 2020-08-12 21:33:06 +02:00
Aayush Rajasekaran
b6b5a79833 Get FilMined from the reward actor's state, not balance 2020-08-12 15:32:11 -04:00
Aayush Rajasekaran
165bcc1e38 Extract stmgr's genesis infos into a new struct 2020-08-12 15:32:11 -04:00
Aayush Rajasekaran
48ab706691 Subtract out genesis pledge and market funds when calculating circ supply 2020-08-12 15:32:11 -04:00
Aayush Rajasekaran
fe2da35a45 Move GetCircSupply out of the vm, and into stmgr 2020-08-12 15:32:07 -04:00
Aayush Rajasekaran
5933e64de1 Include premined actors in vested funds calculation 2020-08-12 15:19:48 -04:00
Łukasz Magiera
bfa0ae16b0
Merge pull request #2965 from filecoin-project/steb/update-actors
Update specs-actors & cbor-gen
2020-08-12 21:18:05 +02:00
Jakub Sztandera
f7c222e42e
Validate message pool config, validate GasPremium < GasFeeCap
don't use configured RBF for mpool

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-12 20:31:34 +02:00
Jakub Sztandera
c68b023d3f
Merge pull request #2939 from filecoin-project/feat/mpool-repub
Update messagepool republish logic
2020-08-12 20:08:28 +02:00
Łukasz Magiera
6fe743f3a9 Fix tests 2020-08-12 20:03:07 +02:00
Łukasz Magiera
03c1776b43 types: Add text (un)marshaler on FIL 2020-08-12 19:58:39 +02:00
Steven Allen
e18904bff5 [WIP] fix post submission 2020-08-12 10:33:18 -07:00
Whyrusleeping
ed72aa1307 implement randomness distinction 2020-08-12 10:32:39 -07:00
Steven Allen
9248e5a572 Update specs-actors, cbor-gen, and go-address 2020-08-12 10:32:39 -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
vyzo
f2ac17845b relinquish the lock while signing in PushWithNonce 2020-08-12 20:26:58 +03:00
Łukasz Magiera
d0147aa50f Add maxFee param to MpoolPushMessage 2020-08-12 19:06:16 +02:00
Łukasz Magiera
e2c6cc6c6d
Merge pull request #2958 from filecoin-project/asr/sync-test
MessagesForTipset should filter out bad nonce messages
2020-08-12 13:05:57 +02:00
vyzo
7be18df6ea add semaphore in push and friends to reduce lock contention 2020-08-12 10:38:40 +03:00
vyzo
472e502218 fix republishing chain selection to account for edge case of inordinately long chains 2020-08-12 09:41:02 +03:00
vyzo
7b16fe3792 hold ts lock longer 2020-08-12 09:18:04 +03:00
vyzo
47f81f1ad6 increase repub message limit to 30 2020-08-12 09:13:57 +03:00
vyzo
cf34fe5cc3 extend the republish interval to something more reasonable
pubsub timecache duration + 5 blocks + propagation delay
2020-08-12 09:13:57 +03:00
vyzo
7396212c89 slightly increase the replublish interval to include the propagation delay as well 2020-08-12 09:13:57 +03:00
vyzo
e876617c82 new message republishing logic 2020-08-12 09:13:57 +03:00
vyzo
42951d05a5 refactor messagepool provider out of the main messagepool implementation 2020-08-12 09:13:57 +03:00
Aayush Rajasekaran
922d568e12 Add checks to ValidForBlockInclusion 2020-08-11 19:51:12 -04:00
whyrusleeping
1fc768fb32 add env vars to configure chain store cache sizes 2020-08-11 15:07:17 -07:00
Jakub Sztandera
2efb18f677
Small fixes to mpool Trim
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 23:55:06 +02:00
Jakub Sztandera
d6f9383528
Merge pull request #2979 from filecoin-project/feat/mpool-optimal-seletion
nearly optimal message pool seletion
2020-08-11 23:45:43 +02:00
Jakub Sztandera
f018e870dc
Address review
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 23:35:06 +02:00
vyzo
9032163c5a turn probability eyeballing into an actual test 2020-08-11 20:47:50 +03:00
vyzo
a467deede6 fix typos in comment 2020-08-11 20:20:59 +03:00
vyzo
2aaf14b558 mute timing logs if they are under 1ms 2020-08-11 20:00:51 +03:00
Łukasz Magiera
01af855450
Merge pull request #2983 from nikkolasg/feat/cachedrand
Use cache of verified drand values
2020-08-11 18:34:14 +02:00
vyzo
d3baf2b9eb fix edge case in chain creation 2020-08-11 19:32:28 +03:00
Łukasz Magiera
0409c5a482
Merge pull request #2944 from filecoin-project/feat/stmgr-wait-ignore-gas
stmgr: Allow replacing gas values in WaitMsg
2020-08-11 17:51:28 +02:00
Jakub Sztandera
56e3f7da7d
Fix getGasReward and Trim
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 17:18:46 +02:00
Jakub Sztandera
4da3aedacb
Work on competitve test a bit
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 16:14:27 +02:00
vyzo
0091f3a9ce
add competitive selection test
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 16:14:27 +02:00
vyzo
268d435ce0
add some optimal selection tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 16:14:27 +02:00
Jakub Sztandera
2057433f48
Add needed files
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 16:14:27 +02:00
Jakub Sztandera
d3c8f295c2
Use real blockProbabilities function
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 16:14:27 +02:00
vyzo
080614098d
fix edge case of effective performance for chains that dont fit in any partition
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 16:14:27 +02:00
vyzo
8eff3a25f9
use BlockGasLimit instead of residual for partitioning
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 16:14:26 +02:00
vyzo
ca803d99fe
nearly optimal message selection for a given ticket quality
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 16:14:20 +02:00
nikkolasg
37fe0dbed2
correct return argument 2020-08-11 13:00:23 +01:00
nikkolasg
7a7cce2538
use cache from drand 2020-08-11 12:58:27 +01:00
whyrusleeping
347ed154b8 more informative chain list 2020-08-10 16:22:02 -07:00
Aayush Rajasekaran
532c32a741 Add new BlockMsgsForTipset() 2020-08-10 15:55:44 -04:00
Aayush Rajasekaran
c72f853e09 Add a test around duplicate nonces 2020-08-10 14:28:02 -04:00
Łukasz Magiera
bc381fc053 stmgr: Allow changing gas values in WaitMsg 2020-08-10 14:55:52 +02:00
Łukasz Magiera
0d1174cb81
Merge pull request #2924 from filecoin-project/feat/mpool-cfg-overesitm
Add GasLimitOverestimation to mpool config
2020-08-10 11:33:05 +02:00
Jakub Sztandera
3710f33e14
Don't reject messages that don't pass RBF, ignore them
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-09 03:17:40 +02:00
Jakub Sztandera
5ea9df1824
Use 25% overesitm
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-09 02:22:37 +02:00
Jakub Sztandera
a826877ee3
Reduce overesitm to 10%, remove pledgeSectors test rate limit
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-09 00:37:24 +02:00
Jakub Sztandera
ea92f5f1ff
Handle error
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-09 00:30:00 +02:00
Jakub Sztandera
46fd9d5e80
Quiet down pending messages, fix GasLimit estimation, reduce fee cap
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-09 00:29:59 +02:00
Jakub Sztandera
ed2778f785
Make MpoolPushMessage message wait for the first message to be done
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-09 00:29:59 +02:00
vyzo
bcb33d75d0
Merge pull request #2918 from filecoin-project/feat/mpool-tests
Some more mpool tests
2020-08-08 22:03:07 +03:00
Jakub Sztandera
5f157affdd
Add GasLimitOverestimation to mpool config
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-08 17:09:47 +02:00
vyzo
9bc5d9489d also log chain creation timings 2020-08-08 17:07:37 +03:00
vyzo
b469277046 use structured logging for timings 2020-08-08 16:59:08 +03:00
vyzo
809e7d5390 add timings to various components of message selection 2020-08-08 16:51:30 +03:00
vyzo
4cdb5f7b81 add unit test for priority message selection 2020-08-08 11:22:47 +03:00
vyzo
2d9f2c7e72 add unit test for message skipping in chain creation 2020-08-08 11:16:50 +03:00
Łukasz Magiera
e65db33d77
Merge pull request #2909 from filecoin-project/fix/mpool-bug
fix mpool bugs
2020-08-08 01:32:28 +02:00
vyzo
4c8c8f48f1 skip messages with nonce before the current nonce in chain creation 2020-08-08 02:16:56 +03:00
vyzo
01b8a6de94 remove bug line 2020-08-08 01:45:34 +03:00
Łukasz Magiera
af15273f71 gas: Corruntly do float math 2020-08-08 00:41:57 +02: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
Whyrusleeping
383e28e6e7
Merge pull request #2902 from filecoin-project/asr/error-fix
Fix error message
2020-08-07 13:38:07 -07:00
whyrusleeping
fbe206f843 add command to view circulating supply 2020-08-07 12:57:03 -07:00
Aayush Rajasekaran
88f677e891 Fix error message 2020-08-07 14:36:24 -04:00
vyzo
7e16e3e220 satisfy linter 2020-08-07 20:20:22 +03:00
vyzo
f6e8f02fd2 add persistence for mpool config 2020-08-07 20:10:09 +03:00
vyzo
1b56b88132 add cooldown to message pruning 2020-08-07 19:51:49 +03:00
vyzo
c735d0da0e fix test compilation issue 2020-08-07 19:51:49 +03:00
vyzo
b40346e1ea never prune priority actor messages 2020-08-07 19:51:49 +03:00
vyzo
56c2894c80 add priority actor message selection 2020-08-07 19:51:49 +03:00
vyzo
42e1338ffe mpool config 2020-08-07 19:51:49 +03:00
Łukasz Magiera
e0b86782e9
Merge pull request #2895 from filecoin-project/feat/fix-tests
Fix
2020-08-07 18:37:40 +02:00
Łukasz Magiera
3fe8b1e732 Better slashfilter logging 2020-08-07 16:08:01 +02:00
Łukasz Magiera
cad59b045b More pond-related fixes 2020-08-07 16:07:48 +02:00
Anton Evangelatov
9fa42680fe rationalise annoying logs. 2020-08-07 15:53:55 +02:00
Łukasz Magiera
051be61452 gofmt 2020-08-07 15:04:10 +02:00
Łukasz Magiera
b216785071 sync: Revert #2858 2020-08-07 14:46:46 +02:00
Łukasz Magiera
60545e6722 mempool: Allow 0 gasPerf chains 2020-08-07 14:43:32 +02:00
Łukasz Magiera
5a50d293b9
Merge pull request #2891 from filecoin-project/feat/mpool-negative-chain-pruning
some small improvements in the handling of non-performing chains
2020-08-07 10:14:09 +02:00
vyzo
b31b322e77 also check for 0 in early gasPerf check 2020-08-07 10:55:43 +03:00
vyzo
26f025bc96 some small improvements in the handling of non-performing chains
1. We break the message accumulation the first time we see a chain with gasPerf <= 0
   as it is not profitable to include them in the block
2. When trimming, we remove also trim negative performing messages to make the trimmed
   chain profitable.
2020-08-07 10:33:00 +03:00
vyzo
e977649f29 add regression test for selection trimming 2020-08-07 10:10:54 +03:00
Łukasz Magiera
0612c2eab9 Merge remote-tracking branch 'origin/next' into feat/dyn-base-fee 2020-08-07 04:15:42 +02:00
Jakub Sztandera
884d03f7f1
address feedback
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 04:09:01 +02:00
Jakub Sztandera
467172f437
Accually add tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 04:01:58 +02:00
Jakub Sztandera
122ec8c9be
Add CalculateBaseFee tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 03:34:50 +02:00
Jakub Sztandera
05c527b681
Hold tipset lock while selecting messages
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 02:48:53 +02:00
Jakub Sztandera
aa17d2bdf3
Add tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 01:57:21 +02:00
Aayush Rajasekaran
754d6cfea3 Update chain-val 2020-08-06 19:47:23 -04:00
Jakub Sztandera
f55ed9ea09
Update serialization vectors
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 01:21:01 +02:00
Łukasz Magiera
402b4b6c70 mpool: Fix SelectMessages hanging 2020-08-07 01:01:45 +02:00
Jakub Sztandera
f45970a0d5
Fix FeeCap estimation
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 00:54:58 +02:00
Jakub Sztandera
2b2b632cd6
Make mpool select only profitable messages
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 00:40:25 +02:00
Łukasz Magiera
07bf155295 Merge remote-tracking branch 'origin/next' into feat/dyn-base-fee 2020-08-06 23:41:54 +02:00
Jakub Sztandera
cb47f877a5
Add todo
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 23:35:38 +02:00
Łukasz Magiera
5ef7328fe3 Rerun cbor-gen 2020-08-06 23:27:23 +02:00
Jakub Sztandera
5f826a2147
Update gas numbers
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 23:27:09 +02:00
Jakub Sztandera
94a38cd97d
Fix mpool test
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 23:14:09 +02:00
Jakub Sztandera
ab08858b45
Delete GasPrice from this world
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 23:08:42 +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
4004c657b9
Fix chain types tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 22:23:54 +02:00
Jakub Sztandera
c29dd72174
add check for feecap and premium to vm.checkMessage
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 21:45:03 +02:00
Jakub Sztandera
d6765847df
Fix some messagepool tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 21:25:30 +02:00
Jakub Sztandera
6562b7a4bc
Fix some tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 21:14:55 +02:00
Jakub Sztandera
b384ac6943
Compute correct base burns, miner tip and so on
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 21:14:38 +02: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
e54a87f91b
Merge pull request #2838 from filecoin-project/feat/message-pool-selection
New message pool selection logic
2020-08-06 20:19:35 +02:00
vyzo
2166e9a0ff account for message Value in balance calculation 2020-08-06 20:54:27 +03: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
vyzo
e87d8f9543 add basic selection tests 2020-08-06 20:15:15 +03:00
Dirk McCormick
aea1b0e293 fix: lint fixes 2020-08-06 12:04:10 -04:00
Dirk McCormick
4abc7416f6 fix: make DeleteActor(beneficiary) transfer funds to beneficiary (instead of burning funds) 2020-08-06 12:04:10 -04:00
Lucas Molas
7216363d2e log success fixme 2020-08-06 12:40:01 -03:00
Lucas Molas
2c43138043 record global time in client 2020-08-06 12:38:31 -03:00
vyzo
1e80e3ae65 create maximal chains
Merge chains when gasPerf is non-descreasing (instead of increasing) to create maximal chains.
This also obviates the need for stable sort, as the chains are guaranteed to be in decreasing
order for the same actor.
2020-08-06 18:37:28 +03:00
Łukasz Magiera
c6acfa624e
Merge pull request #2834 from filecoin-project/feat/fund-manager-fix
Improve Fund Manager
2020-08-06 16:45:05 +02:00
vyzo
7a8c74fee8 use stable sort for chain sorting
the default non-stable sort may reorder chains with the same gasPerf, which might change the order
of messages per nonce; facepalm.
2020-08-06 17:40:22 +03:00
vyzo
16a1f9b682 message chain creation tests 2020-08-06 17:08:02 +03:00
vyzo
61d027db2a use supplied tipset when looking up actor state 2020-08-06 17:07:37 +03:00
vyzo
30ec4e7524 import cosmetics 2020-08-06 11:17:11 +03:00
Aayush Rajasekaran
6e8d51af02 Fix collectHeaders when incoming is partially built on latest tipset 2020-08-06 02:24:29 -04:00