-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Upgrade] Go-Ethereum release v1.9.17 #1140
Merged
Merged
Conversation
This file contains 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
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
ricardolyn
changed the base branch from
master
to
upgrade/go-ethereum/v1.9.16-2021215130719
February 19, 2021 10:59
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
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
master
into this branchExtra Changes & Tests
precompile
function.ImmutabilityThreshold
renamed 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.txfeecap
to a few missed endpoints (#21231).--dev
mode to 12 million (#21323).balance / price
overflownuint64
(#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 collection
core
(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 -w
light
(1)light/postprocess.go
(4)p2p/discv5: unset pingEcho on pong timeout
p2p/discv5
(1)p2p/discv5/net.go
(6)README.md: point Go API reference link to pkg.go.dev
README.md
(1)README.md
(16)internal/ethapi: cap txfee for SignTransaction and Resend
internal/ethapi
(1)internal/ethapi/api.go
(88).github: Change Code Owners
.github
(1).github/CODEOWNERS
(24)core/rawdb: print more log for ancient failure
core/rawdb
(1)core/rawdb/database.go
(10)p2p/discover: require table nodes to have an IP
p2p/discover
(2)p2p/discover/table.go
(6)p2p/discover/table_test.go
(4)cmd/clef: change --rpcport to --http.port and update docs
cmd/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 optimizations
core
(3)core/tx_list.go
(212)core/tx_pool_test.go
(36)core/tx_pool.go
(16)trie: quell linter warnings in commiter.go
trie
(1)trie/committer.go
(28)core/vm: less allocations for various call variants
core/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 9000000
core
(1)core/genesis.go
(6)ethstats: fix reconnection issue, implement primus pings
ethstats
(1)ethstats/ethstats.go
(42)internal, accounts: fix funding check when estimate gas
accounts/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.go
les/pruner_test.go
core/vm/evm.go
core/vm/runtime/runtime_test.go
light/postprocess.go
internal/flags/helpers.go
core/tx_list.go
les/pruner.go
cmd/clef/main.go
cmd/geth/usage.go
#19570
internal/ethapi/api.go
#21231
#19570
cmd/utils/flags.go
#19570
core/rawdb/accessors_indexes_test.go
core/vm/logger.go
core/vm/stack.go
core/vm/instructions.go
core/rawdb/accessors_chain_test.go
core/rawdb/accessors_chain.go
core/vm/contracts_test.go
core/rawdb/accessors_indexes.go
ethstats/ethstats.go
core/vm/runtime/runtime.go
eth/downloader/downloader.go
light/lightchain.go
core/tx_pool_test.go
core/vm/contracts.go
cmd/evm/main.go
#21222
les/test_helper.go
core/state/statedb.go
trie/committer.go
core/vm/interpreter.go
.github/CODEOWNERS
trie/database.go
params/network_params.go
cmd/clef/README.md
core/vm/gen_structlog.go
les/odr_requests.go
les/client.go
core/chain_indexer.go
eth/config.go
light/odr.go
README.md
core/dao_test.go
core/rawdb/freezer.go
core/blockchain.go
cmd/evm/runner.go
core/tx_pool.go
cmd/evm/internal/t8ntool/transition.go
les/api_backend.go
cmd/evm/staterunner.go
core/state/statedb_test.go
eth/gen_config.go
cmd/ethkey/main.go
cmd/checkpoint-admin/main.go
core/rawdb/database.go
core/genesis.go
#19570
core/vm/logger_json.go
eth/bloombits.go
cmd/abigen/main.go
les/sync_test.go
accounts/abi/bind/backends/simulated.go
trie/iterator_test.go
eth/api_backend.go
les/server.go
trie/secure_trie.go
cmd/evm/internal/t8ntool/flags.go
eth/tracers/tracer_test.go
cmd/geth/main.go
#19570
core/chain_indexer_test.go
p2p/discv5/net.go
p2p/discover/table.go
eth/downloader/downloader_test.go
eth/downloader/testchain_test.go
les/ulc_test.go
params/version.go
consensus/clique/clique.go
eth/tracers/tracer.go
trie/trie_test.go
les/odr_test.go
graphql/graphql.go
core/chain_makers.go
core/vm/logger_test.go
les/request_test.go
internal/ethapi/backend.go
p2p/discover/table_test.go