Commit graph

13747 commits

Author SHA1 Message Date
Jerry
e63e390ec7 Recognize bad transactions and break loop in blockstm executor 2022-09-29 23:05:09 -07:00
Jerry
471afc8da2 Refactor blockstm executor 2022-09-29 23:05:09 -07:00
Pratik Patil
d107c183b8 fixed a small bug in the Report function (#530) 2022-09-29 09:28:05 -07:00
Jerry
f7c041fdb1 Do not write entire objects directly when applying write set in blockstm 2022-09-28 16:12:20 -07:00
Jerry
c36ad88aec Block-stm optimization
Added tests for executor and some improvements:

1. Add a dependency map during execution. This will prevent aborted tasks from being sent for execution immedaitely after failure.
2. Change the key of MVHashMap from string to a byte array. This will reduce time to convert byte slices to strings.
3. Use sync.Map to reduce the time spent in global mutex.
4. Skip applying intermediate states.
5. Estimate dependency when an execution fails without dependency information.
6. Divide execution task queue into two separate queues. One for relatively certain transactions, and the other for speculative future transactions.
7. Setting dependencies of Txs coming from the same sender before starting parallel execution.
8. Process results in their semantic order (transaction index) instead of the order when they arrive. Replace result channel with a priority queue.
2022-09-28 16:12:20 -07:00
Pratik Patil
4507b2e057 added getReadMap and getWriteMap (#473) 2022-09-28 16:12:20 -07:00
Pratik Patil
f7bd7ca66b Txn prioritizer implemented using mutex map (#487)
* basic txn prioritizer implemented using mutex map

* Re-execute parallel tasks when there is a read in coinbase or burn address

* Re-execute parallel tasks when there is a read in coinbase or burn address

* using *sync.RWMutex{} in mutexMap

Co-authored-by: Jerry <jerrycgh@gmail.com>
2022-09-28 16:12:20 -07:00
Jerry
ab3ebebcca Re-execute parallel tasks when there is a read in coinbase or burn address 2022-09-28 16:12:20 -07:00
Jerry
61accb021a Move fee burning and tipping out of state transition to reduce read/write dependencies between transactions 2022-09-28 16:12:20 -07:00
Jerry
bbcc6dd0ad Parallel state processor 2022-09-28 16:12:20 -07:00
Jerry
b1ba97c4f5 Create MVHashMap and use it StateDB 2022-09-28 16:12:20 -07:00
Arpit Temani
648291a217
Merge pull request #533 from cffls/develop
Change heimdall branch to develop in CI
2022-09-28 20:34:38 +05:30
Jerry
041f60b756 Change heimdall branch to develop in CI 2022-09-27 22:54:17 -07:00
Raneet Debnath
28b11d19be
Merge pull request #521 from maticnetwork/raneet10/pos-618
Failing geth integration tests
2022-09-27 14:55:26 +05:30
Manav Darji
457314783f
internal/cli/server: fix flag behaviour (#529)
* remove setting maxpeers to 0 for nodiscover flag

* set default prometheus and open-collector endpoint

* skip building grpc address from pprof address and port

* fix: linters

* fix and improve tests

* use loopback address for prometheus and open-collector endpoint

* add logs for prometheus and open-collector setup

* updated the script to handle prometheus-addr

* updated builder/files/config.toml

Co-authored-by: Pratik Patil <pratikspatil024@gmail.com>
2022-09-27 13:36:42 +05:30
Raneet Debnath
2db0dc8606 new: comments and cleanup 2022-09-26 17:26:05 +05:30
SHIVAM SHARMA
e4f0141f68
Merge pull request #527 from maticnetwork/shivam/pos-826
chg : generalised state-sync integration test
2022-09-24 00:57:24 +05:30
Raneet Debnath
0eec63716b new: unskip stCreateTest 2022-09-23 16:23:32 +05:30
Pratik Patil
77db80cc91
Added script to generate config.toml fromstart.sh (#518)
* added go and bash script to get config out of start.sh and updated flagset.go

* changed 'requiredblocks' flag back to 'eth.requiredblocks'

* updated script

* changed 'requiredblocks' flag back to 'eth.requiredblocks'

* updated tests, and removed requiredblocks from json and hcl

* addressed comments
2022-09-23 13:37:04 +05:30
Shivam Sharma
2e7e99f1c5 chg : generalised state-sync integration test 2022-09-23 12:43:44 +05:30
Raneet Debnath
ae5323de02 new: unskip evm-benchmark tests 2022-09-23 11:42:10 +05:30
Raneet Debnath
d6e552bdcf fix: conflicts from previous merge 2022-09-23 09:31:28 +05:30
Pratik Patil
2a677a5aff
fix linters caused by previous merge (#526) 2022-09-23 08:30:31 +05:30
Raneet Debnath
aa2ce7afb0 fix: add bor config 2022-09-22 18:00:23 +05:30
Arpit Temani
e45b1d46fc
Merge pull request #522 from maticnetwork/arpit/disable-macos
disable macos tests
2022-09-22 14:29:07 +05:30
Manav Darji
813b74fc9d
rpc, ethclient: cater 'finalized' and 'safe' blocks in ethclient (#517) (#523)
* rpc: add finalized and safe block types

* ethclient: honour safe and finalized block requests

* fix: remove BlockByNumberWithoutTx function
2022-09-22 13:37:27 +05:30
Arpit Temani
f51eae03ac disable macos tests 2022-09-22 13:22:20 +05:30
Raneet Debnath
cfb7a1cd1c new: unskip failing tests 2022-09-22 09:37:27 +05:30
Evgeny Danilenko
a11952f858
Crypto-secure package with math/rand interface (#509)
* initial

* use crand

* fix

* fix
2022-09-14 14:54:43 +03:00
Jerry
15f64ee58f Remove orphaned containers when shutdown devnet
This will potentially resolve "ERROR: network docker_default has active endpoints" problem
2022-09-06 19:17:04 +04:00
SHIVAM SHARMA
85890fec7c
Merge pull request #507 from maticnetwork/shiva/pos-730
add : TestValidatorWentOffline
2022-09-05 17:00:43 +04:00
Evgeny Danienko
2fd85f6ec8 the source of randomness 2022-09-05 12:47:59 +04:00
Evgeny Danienko
a4eb03eed1 linters 2022-09-05 11:51:18 +04:00
Evgeny Danienko
5f9d15665c merge 2022-09-05 11:46:45 +04:00
Evgeny Danienko
7136ca61e0 linters 2022-09-05 11:33:42 +04:00
Evgeny Danienko
e5fcab70d2 use crypto rand 2022-09-05 10:58:43 +04:00
Evgeny Danienko
9d975fb833 lint 2022-09-05 10:53:22 +04:00
Evgeny Danienko
c0a4b0fbb5 fix flacky test 2022-09-05 10:50:00 +04:00
Evgeny Danilenko
714aef422b
Property based tests on TxPool: pending, locals (#466)
* initial

* measure

* initial test

* block size debug

* current progress

* debug

* progress

* debug

* it works

* todo

* linters

* clean up

* check for nonce gaps

* clean up

* cr

* cr

* cr

* check tx pool on an error

* stats

* params

* introduce config

* min-max accounts

* debug

* debug

* update

* debug

* skip
2022-09-03 11:20:24 +03:00
Shivam Sharma
9ac97e03fc chg : minor changes 2022-09-02 13:58:00 +05:30
Shivam Sharma
a2dc545fac rm : interrupt + sleep 2022-08-31 19:34:38 +05:30
Shivam Sharma
5067c6cdeb add : TestValidatorWentOffline 2022-08-31 19:05:36 +05:30
SHIVAM SHARMA
9c370f4dfc
Merge pull request #503 from maticnetwork/shivam/sealer-gasPrice
internal/cli/server: update default cli values
2022-08-26 18:21:11 +05:30
Shivam Sharma
1ac5f09518 fix : TestConfigLegacy 2022-08-26 14:08:15 +05:30
Manav Darji
eb16a3d313 update defaults in new-cli 2022-08-26 11:24:51 +05:30
Manav Darji
84529a15cf
rm: snapshot found log in bor consensus (#504) 2022-08-25 23:13:22 +05:30
Shivam Sharma
632c1646a8 chg : default sealer.gasPrice from 1wei to 1Gwei 2022-08-25 12:47:54 +05:30
Shivam Sharma
8186e4d2a1 chg : sealer.gasPrice to 1 from 30Gwei 2022-08-24 14:58:38 +05:30
SHIVAM SHARMA
95f551eccc
Merge pull request #502 from maticnetwork/shivam/txpool-pricelimit
Changing default txpool pricelimit to 1
2022-08-24 10:47:53 +05:30
Shivam Sharma
057f50eb6c fix : TestConfigLegacy 2022-08-23 19:13:01 +05:30