Commit Graph

106 Commits

Author SHA1 Message Date
Jakub Sztandera
33b12782e4
Take into account messages in current tispet by executing it
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-25 04:02:06 +02:00
whyrusleeping
05d65c3f88 slightly better than panicking 2020-08-24 17:40:12 -07:00
whyrusleeping
cf3298cd04 more correctly handle discrepancies between mempools head and the mining base 2020-08-24 17:21:03 -07:00
vyzo
2eff03fa1f small fixes in optimal selection
1. Remove noop updates from the previous dependencies
2. Update subsequent dependencies, which was the intention
2020-08-13 19:49:07 +03:00
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
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
Jakub Sztandera
2efb18f677
Small fixes to mpool Trim
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-11 23:55:06 +02: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
vyzo
d3baf2b9eb fix edge case in chain creation 2020-08-11 19:32:28 +03: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
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
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
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
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
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
60545e6722 mempool: Allow 0 gasPerf chains 2020-08-07 14:43:32 +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
Ł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
05c527b681
Hold tipset lock while selecting messages
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-07 02:48:53 +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
Jakub Sztandera
ab08858b45
Delete GasPrice from this world
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-06 23:08:42 +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
vyzo
2166e9a0ff account for message Value in balance calculation 2020-08-06 20:54:27 +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
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
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
vyzo
a08d780bef enhance SelectMessages method to take a target message 2020-08-05 23:16:09 +03:00
vyzo
829c7953d5 fix dereference bug 2020-08-05 18:28:04 +03:00
vyzo
a8b0db91e8 implement pruning using the chain selection logic 2020-08-05 13:28:14 +03:00
vyzo
b4be1472c0 use RequiredFunds in chain inclusion balance sanity check 2020-08-05 13:08:07 +03:00
vyzo
06a13681ae satisfy stupid linter 2020-08-05 10:43:49 +03:00
vyzo
50e1650344 fix Trim bug 2020-08-05 10:31:42 +03:00
vyzo
23003c4d55 fix Before bug 2020-08-05 10:28:12 +03:00
vyzo
9b6d822b3e avoid repeatedly reallocating a big for block gas limit, more conservative failed gas estimation 2020-08-05 10:22:40 +03:00
vyzo
9f7deff512 better handling of gas guess errors
don't swallow them, the failed gas guess is too high.
2020-08-05 10:19:32 +03:00
vyzo
6e1bfaffd7 make it compile! 2020-08-05 09:46:48 +03:00
vyzo
b4ff9ba220 better minGas sanity check 2020-08-04 23:18:51 +03:00
vyzo
89d42b5958 message chain construction 2020-08-04 23:18:51 +03:00
vyzo
e323fa7a8c message chain trimming 2020-08-04 23:18:51 +03:00
vyzo
c7eec94d95 message selection preliminaries 2020-08-04 23:18:51 +03:00