Commit graph

14030 commits

Author SHA1 Message Date
Shivam Sharma
0918cf7343 chg : support state-sync in newcli server debugBorBlock 2022-10-13 15:55:45 +05:30
Shivam Sharma
002717ad23 chg : major fix 2022-10-13 15:36:21 +05:30
Arpit Temani
69e2a22819 results for 1000 cases 2022-10-13 00:52:26 +05:30
Shivam Sharma
6baa56bc25 add : Add state sync transaction to debug_traceBlock 2022-10-12 20:06:00 +05:30
marcello33
bf39845222
Testing Toolkit v1 PR Template (#536)
* dev: add: pull request template
2022-10-12 15:11:38 +02:00
Evgeny Danienko
027025852e commit logs 2022-10-12 11:35:00 +04:00
Raneet Debnath
fdd7988e94 fix: PR comments 2022-10-12 09:29:40 +05:30
Arpit Temani
d5fdc0aea7 multiple testcases 2022-10-11 17:53:19 +05:30
Raneet Debnath
0218f17bc0 new: add more cases 2022-10-07 16:00:34 +05:30
Jerry
2060b4f61c Add tx dependency to block header 2022-10-06 23:04:27 -07:00
Pratik Patil
c59bb6ef16
Added unit tests for MV HashMap (#492)
* Create MVHashMap and use it StateDB

* Parallel state processor

* Move fee burning and tipping out of state transition to reduce read/write dependencies between transactions

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

* Block-stm optimization

Added tests for executor and two major 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.

* Remove cache from executor test

* added mvhashmap unit tests (with  as key)

* Shard mvhashmap to reduce the time spent in global mutex

* Skip applying intermediate states

* Dependency improvement

* added test for status

* Create MVHashMap and use it StateDB

* Parallel state processor

* Move fee burning and tipping out of state transition to reduce read/write dependencies between transactions

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

* 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>

* added getReadMap and getWriteMap (#473)

* 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.

* Do not write entire objects directly when applying write set in blockstm

* fixed a small bug in the Report function (#530)

* linters

Co-authored-by: Jerry <jerrycgh@gmail.com>
2022-10-07 09:14:18 +05:30
Shivam Sharma
c0b8375d70 add : functional TestSprintLengthReorg 2022-10-06 17:13:29 +05:30
Raneet Debnath
4e7cf125ae new: add cases 2022-10-06 13:12:39 +05:30
Jerry
b019a017e3
Merge pull request #542 from cffls/qa
internal/cli: add support for bor.logs flag in new-cli (#541)
2022-10-05 21:40:00 -07:00
Manav Darji
083c3fead1 internal/cli: add support for bor.logs flag in new-cli (#541)
* add support for bor.logs flag in new-cli

* handle bor.withoutheimdall flag commenting in conversion script
2022-10-05 14:51:12 -07:00
Jerry
6f0d16fbeb Add ability to calculate the longest execution path in a block 2022-10-05 11:37:46 -07:00
Manav Darji
54f97b8598
internal/cli: add support for bor.logs flag in new-cli (#541)
* add support for bor.logs flag in new-cli

* handle bor.withoutheimdall flag commenting in conversion script
2022-10-05 23:38:19 +05:30
Shivam Sharma
58170b6141 chg : changes 2022-10-05 16:55:39 +05:30
Shivam Sharma
f98eb40871 changes 2022-10-05 13:48:57 +05:30
Manav Darji
f4fcfd38d5
Merge pull request #539 from maticnetwork/manav/cherry-picks-for-qa
Merge commits to qa
2022-10-04 22:13:42 +05:30
Manav Darji
1a51560726 make script OS independent (#538) 2022-10-04 22:00:35 +05:30
Manav Darji
c724671172 rm: snapshot found log in bor consensus (#504) 2022-10-04 22:00:31 +05:30
Manav Darji
1022d309b7
make script OS independent (#538) 2022-10-04 21:54:47 +05:30
Shivam Sharma
fc16da5c76 add : minor changes 2022-10-04 17:44:23 +05:30
Arpit Temani
067c037859 testcase 2022-10-04 13:23:18 +05:30
Arpit Temani
67554f7d1d merge develop 2022-10-04 12:34:35 +05:30
Shivam Sharma
c8b2dd1649 add : TestSprintDependantReorgs init 2022-10-03 18:44:57 +05:30
Arpit Temani
2a6ea470a0
Mining Analysis (#429)
* base setup for miner opentel

* version change

* modify ctx passing

* add attributes

* update fill txs span attributes

* fix: use common attributes for remote and local txs

* pass context in seal

* fix

* fix

* add traces to finalize and assemble

* fix

* use task ctx in result loop

* only start parent span if no error

* send nil tracer from Finalize

* clean up

* add sub function timings in span attribute

* modify span attributes

* set time attribute to milliseconds

* linters fix

* fix linters for consensus

* add nolint to worker

* fix testcase

* Added fillTransactions subTraces

* add traces in intermediate root hash function

* add traces in WriteBlockAndSetHead function, fix linters

* fix: linting errors

* fix: test cases

* fix: go.mod

* fix: testcase

* extract tracing package

* linters fix

* debug

* Revert "debug"

This reverts commit 2d68b7c7b1105080563a4e1a6949dabc10acaff8.

* fix: panic in NewTransactionsByPriceAndNonce iteration

* change heimdall version to develop

* miner/worker: fix duplicate call to tx ordering

* miner/worker: refactor tracing

* consensus/bor: use tracing package

* tracing: add more abstraction for spans

* tracing: set all attributes at once

* remove nested tracing from blockchain.WriteBlockAndSetHead function

* remove nested tracing from statedb.IntermediateRoot function

* handle end span in bor.Seal function

* fix: typo

* minor fixes

* fix: linters

* fix: remove nolint

* go mod tidy

Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Shivam Sharma <shivam691999@gmail.com>
Co-authored-by: Evgeny Danienko <6655321@bk.ru>
2022-09-30 13:40:18 +05:30
Jerry
ad658b6b99 Minor bug fix 2022-09-29 23:05:09 -07:00
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
Pratik Patil
43e5d3aa09
PR#518 and PR#529 -> qa (#532)
* 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

* 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>

Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
2022-09-29 14:25:27 +05:30
Raneet Debnath
09e62ca35c new: assert block authors 2022-09-29 12:15:29 +05:30
Raneet Debnath
5b324f4b84 new: add some more checks 2022-09-29 11:15:56 +05:30
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
c11e165a34 accounts to coinbase 2022-09-29 01:05:17 +05:30
Arpit Temani
690380aebf
Merge branch 'develop' into arpit/pos-655 2022-09-29 00:08:50 +05:30
Jerry
ebbe100ff1 Change heimdall branch to develop in CI 2022-09-28 08:57:00 -07:00
Raneet Debnath
8d5f66b7ad new: init pos-845 testcase 2022-09-28 21:25:19 +05:30
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
Arpit Temani
f6875757bf merge develop 2022-09-27 15:04:08 +05:30