[Upgrade] Go-Ethereum release v1.9.17#1140
Merged
Merged
Conversation
This change introduces garbage collection for the light client. Historical chain data is deleted periodically. If you want to disable the GC, use the --light.nopruning flag.
* modify code owners * add marius
This fixes a corner case in discv5. The issue cannot happen in discv4 because it performs IP checks on all incoming node information.
* core: added local tx pool test case * core, crypto: various allocation savings regarding tx handling * core/txlist, txpool: save a reheap operation, avoid some bigint allocs Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
* core/vm/runtime/tests: add more benchmarks * core/vm: initial work on improving alloc count for calls to precompiles name old time/op new time/op delta SimpleLoop/identity-precompile-10M-6 117ms ±75% 43ms ± 1% -63.09% (p=0.008 n=5+5) SimpleLoop/loop-10M-6 79.6ms ± 4% 70.5ms ± 1% -11.42% (p=0.008 n=5+5) name old alloc/op new alloc/op delta SimpleLoop/identity-precompile-10M-6 24.4MB ± 0% 4.9MB ± 0% -79.94% (p=0.008 n=5+5) SimpleLoop/loop-10M-6 13.2kB ± 0% 13.2kB ± 0% ~ (p=0.357 n=5+5) name old allocs/op new allocs/op delta SimpleLoop/identity-precompile-10M-6 382k ± 0% 153k ± 0% -59.99% (p=0.000 n=5+4) SimpleLoop/loop-10M-6 40.0 ± 0% 40.0 ± 0% ~ (all equal) * core/vm: don't allocate big.int for touch name old time/op new time/op delta SimpleLoop/identity-precompile-10M-6 43.3ms ± 1% 42.4ms ± 7% ~ (p=0.151 n=5+5) SimpleLoop/loop-10M-6 70.5ms ± 1% 76.7ms ± 1% +8.67% (p=0.008 n=5+5) name old alloc/op new alloc/op delta SimpleLoop/identity-precompile-10M-6 4.90MB ± 0% 2.46MB ± 0% -49.83% (p=0.008 n=5+5) SimpleLoop/loop-10M-6 13.2kB ± 0% 13.2kB ± 1% ~ (p=0.571 n=5+5) name old allocs/op new allocs/op delta SimpleLoop/identity-precompile-10M-6 153k ± 0% 76k ± 0% -49.98% (p=0.029 n=4+4) SimpleLoop/loop-10M-6 40.0 ± 0% 40.0 ± 0% ~ (all equal) * core/vm: reduce allocs in staticcall name old time/op new time/op delta SimpleLoop/identity-precompile-10M-6 42.4ms ± 7% 37.5ms ± 6% -11.68% (p=0.008 n=5+5) SimpleLoop/loop-10M-6 76.7ms ± 1% 69.1ms ± 1% -9.82% (p=0.008 n=5+5) name old alloc/op new alloc/op delta SimpleLoop/identity-precompile-10M-6 2.46MB ± 0% 0.02MB ± 0% -99.35% (p=0.008 n=5+5) SimpleLoop/loop-10M-6 13.2kB ± 1% 13.2kB ± 0% ~ (p=0.143 n=5+5) name old allocs/op new allocs/op delta SimpleLoop/identity-precompile-10M-6 76.4k ± 0% 0.1k ± 0% ~ (p=0.079 n=4+5) SimpleLoop/loop-10M-6 40.0 ± 0% 40.0 ± 0% ~ (all equal) * trie: better use of hasher keccakState * core/state/statedb: reduce allocations in getDeletedStateObject * core/vm: reduce allocations in all call derivates * core/vm: reduce allocations in call variants - Make returnstack `uint32` - Use a `sync.Pool` of `stack`s * core/vm: fix tests * core/vm: goimports * core/vm: tracer fix + staticcall gas fix * core/vm: add back snapshot to staticcall * core/vm: review concerns + make returnstack pooled + enable returndata in traces * core/vm: fix some test tracer method signatures * core/vm: run gencodec, minor comment polish Co-authored-by: Péter Szilágyi <peterke@gmail.com>
* Set gasLimit in --dev mode to be 9m. * core: Set gasLimit to 11.5 milion and add 1 wei allocation for BLAKE2b
ethstats: fix reconnection issue, implement primus pings
* internal, accounts: fix funding check when estimate gas * accounts, internal: address comments
Base automatically changed from
upgrade/go-ethereum/v1.9.16-2021215130719
to
master
February 23, 2021 16:00
ricardolyn
commented
Feb 24, 2021
ricardolyn
commented
Feb 24, 2021
nmvalera
reviewed
Feb 25, 2021
nmvalera
approved these changes
Mar 1, 2021
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TODO
Plan & Analyse
As you review, list extra changes and/or tests to be implemented to ensure compatibility with GoQuorum specific features.
Build & Test
masterinto this branchExtra Changes & Tests
precompilefunction.ImmutabilityThresholdrenamed toFullImmutabilityThreshold. update quorum dependenciesGo-Ethereum Release: Mount Milgrom (v1.9.17)
Release notes
Geth v1.9.17 is a small maintenance release (trying to get back onto the biweekly schedule), though it does pack a few punches as well!
--rpc.txfeecapto a few missed endpoints (#21231).--devmode to 12 million (#21323).balance / priceoverflownuint64(#21346).For a full rundown of the changes please consult the Geth 1.9.17 release milestone
As with all our previous releases, you can find the:
ethereum/client-go.Codebase changes assessment
Legend
File Stats: (A) Added, (M) Modified and (R) Removed
Line Stats: (A) Added and (R) Removed
Assessment:
15 Pull Requests
M/A/R
(files changed)
A/R
(lines changed)
les: historical data garbage collectioncore(6)core/rawdb(5)les(4)eth(4)eth/downloader(3)internal/ethapi(2)cmd/geth(2)graphql(1)cmd/utils(1)core/state(1)consensus/clique(1)core/rawdb/accessors_indexes_test.go(90)core/rawdb/accessors_chain.go(66)core/rawdb/accessors_chain_test.go(66)internal/ethapi/api.go(50)core/rawdb/accessors_indexes.go(44)light: goimports -wlight(1)light/postprocess.go(4)p2p/discv5: unset pingEcho on pong timeoutp2p/discv5(1)p2p/discv5/net.go(6)README.md: point Go API reference link to pkg.go.devREADME.md(1)README.md(16)internal/ethapi: cap txfee for SignTransaction and Resendinternal/ethapi(1)internal/ethapi/api.go(88).github: Change Code Owners.github(1).github/CODEOWNERS(24)core/rawdb: print more log for ancient failurecore/rawdb(1)core/rawdb/database.go(10)p2p/discover: require table nodes to have an IPp2p/discover(2)p2p/discover/table.go(6)p2p/discover/table_test.go(4)cmd/clef: change --rpcport to --http.port and update docscmd/geth(2)cmd/clef(2)cmd/ethkey(1)cmd/evm(1)cmd/utils(1)internal/flags(1)cmd/abigen(1)cmd/checkpoint-admin(1)internal/flags/helpers.go(304)cmd/clef/main.go(188)cmd/geth/usage.go(182)cmd/utils/flags.go(76)cmd/clef/README.md(20)transaction pool optimizationscore(3)core/tx_list.go(212)core/tx_pool_test.go(36)core/tx_pool.go(16)trie: quell linter warnings in commiter.gotrie(1)trie/committer.go(28)core/vm: less allocations for various call variantscore/vm(10)cmd/evm(3)core/vm/runtime(2)eth/tracers(2)cmd/evm/internal/t8ntool(2)core/state(1)trie(1)core/vm/evm.go(386)core/vm/runtime/runtime_test.go(374)core/vm/logger.go(70)core/vm/instructions.go(68)core/vm/stack.go(68)core: set gasLimit in '--dev' mode to be 9000000core(1)core/genesis.go(6)ethstats: fix reconnection issue, implement primus pingsethstats(1)ethstats/ethstats.go(42)internal, accounts: fix funding check when estimate gasaccounts/abi/bind/backends(1)internal/ethapi(1)internal/ethapi/api.go(12)accounts/abi/bind/backends/simulated.go(8)85 Changed files
light/odr_util.goles/pruner_test.gocore/vm/evm.gocore/vm/runtime/runtime_test.golight/postprocess.gointernal/flags/helpers.gocore/tx_list.goles/pruner.gocmd/clef/main.gocmd/geth/usage.go#19570
internal/ethapi/api.go#21231
#19570
cmd/utils/flags.go#19570
core/rawdb/accessors_indexes_test.gocore/vm/logger.gocore/vm/stack.gocore/vm/instructions.gocore/rawdb/accessors_chain_test.gocore/rawdb/accessors_chain.gocore/vm/contracts_test.gocore/rawdb/accessors_indexes.goethstats/ethstats.gocore/vm/runtime/runtime.goeth/downloader/downloader.golight/lightchain.gocore/tx_pool_test.gocore/vm/contracts.gocmd/evm/main.go#21222
les/test_helper.gocore/state/statedb.gotrie/committer.gocore/vm/interpreter.go.github/CODEOWNERStrie/database.goparams/network_params.gocmd/clef/README.mdcore/vm/gen_structlog.goles/odr_requests.goles/client.gocore/chain_indexer.goeth/config.golight/odr.goREADME.mdcore/dao_test.gocore/rawdb/freezer.gocore/blockchain.gocmd/evm/runner.gocore/tx_pool.gocmd/evm/internal/t8ntool/transition.goles/api_backend.gocmd/evm/staterunner.gocore/state/statedb_test.goeth/gen_config.gocmd/ethkey/main.gocmd/checkpoint-admin/main.gocore/rawdb/database.gocore/genesis.go#19570
core/vm/logger_json.goeth/bloombits.gocmd/abigen/main.goles/sync_test.goaccounts/abi/bind/backends/simulated.gotrie/iterator_test.goeth/api_backend.goles/server.gotrie/secure_trie.gocmd/evm/internal/t8ntool/flags.goeth/tracers/tracer_test.gocmd/geth/main.go#19570
core/chain_indexer_test.gop2p/discv5/net.gop2p/discover/table.goeth/downloader/downloader_test.goeth/downloader/testchain_test.goles/ulc_test.goparams/version.goconsensus/clique/clique.goeth/tracers/tracer.gotrie/trie_test.goles/odr_test.gographql/graphql.gocore/chain_makers.gocore/vm/logger_test.goles/request_test.gointernal/ethapi/backend.gop2p/discover/table_test.go