Skip to content
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

v1.14.2 #176

Merged
merged 264 commits into from
May 28, 2024
Merged
Changes from 1 commit
Commits
Show all changes
264 commits
Select commit Hold shift + click to select a range
a732ad0
p2p: remove unused argument 'flags' (#29132)
yasyzb Mar 4, 2024
b408b3e
accounts/abi: delete duplicate error check (#29136)
yasyzb Mar 4, 2024
5a1e8a6
core: delete unused ErrMaxInitCodeSizeExceeded (#29062)
cuiweixie Mar 4, 2024
679a27a
all: use EmptyUncleHash, EmptyCodeHash instead of raw value (#29134)
buddh0 Mar 4, 2024
35cebc1
triedb/pathdb: changed the test code to check for verifying state (#2…
psogv0308 Mar 4, 2024
a97d622
cmd/devp2p: fix commandHasFlag (#29091)
fjl Mar 4, 2024
ca473b8
core: use finalized block as the chain freeze indicator (#28683)
rjl493456442 Mar 4, 2024
19607d1
eth/tracers: Fix prestateTracer pre nonce on contract creation (#29099)
andreisilviudragnea Mar 4, 2024
5d5b384
.mailmap: remove invalid email address (#29163)
reductionista Mar 4, 2024
9b3ceb2
core/types: reuse signtx (#29152)
vieyang Mar 5, 2024
d89d7eb
core: initialize `gasRemaining` with `=` instead of `+=` (#29149)
zhiqiangxu Mar 5, 2024
e199319
rlp: remove a moot todo (#29154)
buddh0 Mar 5, 2024
7b81cf6
core/state, trie/triedb/pathdb: remove storage incomplete flag (#28940)
rjl493456442 Mar 5, 2024
96bf23f
accounts/usbwallet: use updated hid (only) library (#28945)
holiman Mar 5, 2024
dfa6c5e
internal/jsre: format blob fields from hexdecimal to int (#29166)
jsvisa Mar 5, 2024
a6d6e8a
rpc: remove deprecated method "Notifier.Closed" (#29162)
undefinedor Mar 5, 2024
a970295
rlp: using unsafe.Slice instead of SliceHeader (#29067)
cuiweixie Mar 5, 2024
9e129ef
core: remove useless assignments (#29065)
zhiqiangxu Mar 5, 2024
9a0fa80
node: remove test which doesn't do a lot (#29159)
MariusVanDerWijden Mar 5, 2024
f4d5313
consensus, cmd, core, eth: remove support for non-merge mode of opera…
karalabe Mar 5, 2024
66e1a6e
go.mod: bump pebble db to official release (#29038)
itsdevbear Mar 5, 2024
588c548
internal/ethapi: delete needless error check (#29127)
tomdever Mar 6, 2024
899bb88
accounts/usbwallet: revert #28945 (#29175)
holiman Mar 6, 2024
a000acb
rpc: add more test cases for arg types (#29006)
AyumuKasuga Mar 6, 2024
e73f553
accounts/usbwallet: update hid library (#29176)
holiman Mar 6, 2024
a90fe84
accounts: remove deprecated function NewPlaintextKeyStore (#29171)
undefinedor Mar 6, 2024
6e379b6
eth/tracers: prestate tracer add blob fee (#29168)
jsvisa Mar 6, 2024
d8e0807
miner: refactor the miner, make the pending block on demand (#28623)
MariusVanDerWijden Mar 6, 2024
aadcb88
cmd/blsync, beacon/light: beacon chain light client (#28822)
zsfelfoldi Mar 6, 2024
3bebabb
accounts: remove redundant string conversion (#29184)
cuinix Mar 7, 2024
cd49060
all: fix typos in comments (#29186)
hyhnet Mar 7, 2024
c41105c
log: add Handler getter to Logger interface (#28793)
sebastianst Mar 7, 2024
d35c8f0
ethclient/gethclient: add blob transaction fields in toCallArg (#29198)
colinlyguo Mar 8, 2024
e31709d
console: fix the wrong error msg of datadir testcase (#29183)
tmelhao Mar 8, 2024
3dc549b
p2p/simulations/adapters: fix error messages in TestTCPPipeBidirectio…
keroro520 Mar 10, 2024
b393ad8
cmd, core, metrics: always report expensive metrics (#29191)
karalabe Mar 11, 2024
00c2112
core/txpool/blobpool: return ErrAlreadyKnown for duplicate txs (#29210)
PlasmaPower Mar 11, 2024
fa4ade8
core: fix deprecation comment for GenesisAccount (#29218)
s1na Mar 11, 2024
ebf9e11
beacon/light/request: fix typos (#29216)
testwill Mar 11, 2024
4e1116f
crypto/bn256/cloudflare: fix noescape-directive (#29222)
kumakichi Mar 12, 2024
89cefe2
cmd: use package filepath over path for file system operations (#29227)
songzhibin97 Mar 12, 2024
99bbbc0
internal/build, rpc: add missing HTTP response body Close() calls (#2…
wzshiming Mar 12, 2024
4bd55a0
common/math: copy result in Exp (#29233)
AaronChen0 Mar 12, 2024
6c76b81
miner: add additional log (#29193)
MariusVanDerWijden Mar 12, 2024
758fce7
p2p: fix race in dialScheduler (#29235)
fjl Mar 12, 2024
eff424c
eth/tracers: fix concurrency issue for JS-tracing a block (#29238)
s1na Mar 13, 2024
d5bacfa
crypto/kz4844: pass blobs by ref (#29050)
holiman Mar 13, 2024
b80643b
accounts/usbwallet, common/bitutil: fix broken links in docs (#29078)
justindhillon Mar 13, 2024
c170fa2
core: improve chain rewinding mechanism (#29196)
rjl493456442 Mar 13, 2024
f3d18d6
tests, appveyor: only execute one in four permutations on CI (#29220)
holiman Mar 13, 2024
57308be
go.mod: update golang.org/x/crypto from v0.17.0 to v0.21.0 (#29228)
songzhibin97 Mar 13, 2024
3c26ffe
eth/catalyst: remove error return in delayPayloadImport (#29043)
tmelhao Mar 13, 2024
20d3e0a
cmd/devp2p: fix decoding of raw RLP ENR attributes (#29257)
weiihann Mar 14, 2024
d28adb6
cmd/emv/internal/t8ntool: fix shadowing of `excessBlobGas` (#29263)
dyxushuai Mar 14, 2024
cffb7c8
params: use the same variable name as EIP-4788 (#29195)
tmelhao Mar 15, 2024
95715fd
eth/downloader, graphql: fix typos (#29243)
shivhg Mar 15, 2024
40cac1d
eth/catalyst: prettier output on bad new payloads (#29259)
holiman Mar 15, 2024
ba2dd93
accounts/abi/bind: remove unused err set and check (#29269)
kumakichi Mar 15, 2024
c611924
go.mod: update protobuf (#29270)
holiman Mar 18, 2024
ab49f22
all: update to go version 1.22.1 (#28946)
holiman Mar 18, 2024
15eb977
triedb/pathdb: improve tests (#29278)
rjl493456442 Mar 19, 2024
ac6060a
log: replace tmp with bytes.Buffer.AvailableBuffer (#29287)
AaronChen0 Mar 19, 2024
6b3d4d0
beacon/light/sync: fix typo in comment (#29256)
AtomicInnovation321 Mar 19, 2024
eda9c7e
accounts/abi/bind: check invalid chainID first (#29275)
htiennv Mar 19, 2024
4c1b578
miner: modify header before checking time-based fields (#29242)
buddh0 Mar 19, 2024
6f929a0
core/asm: minor code-clarification (#29293)
zgfzgf Mar 20, 2024
45b88ab
all: fix typos (#29288)
miles-six Mar 20, 2024
0ceac8d
metrics: fix docstrings (#29279)
georgehao Mar 20, 2024
de08f3d
cmd/evm: make staterunner always output stateroot to stderr (#29290)
holiman Mar 20, 2024
9a7e6ce
cmd/evm: fix flag-mismatch from #29290 (#29298)
holiman Mar 20, 2024
22ac46c
Makefile: update PHONY directive (#29296)
imalasong Mar 20, 2024
78c102d
core: skip the check the statefulness of head block in repair (#29245)
rjl493456442 Mar 20, 2024
0444388
core/txpool/blobpool: calculate log1.125 faster (#29300)
AaronChen0 Mar 20, 2024
8f7fbdf
core: refactor consensus interface (#29283)
MariusVanDerWijden Mar 20, 2024
04bf1c8
eth/protocols/snap, internal/testlog: fix dataraces (#29301)
holiman Mar 20, 2024
bca6c40
beacon/blsync: support for deneb fork (#29180)
fjl Mar 20, 2024
14eb896
all: use min/max/clear from go1.21 (#29307)
holiman Mar 21, 2024
f46fe62
triedb/hashdb: Avoid setting db.cleans on Close (#29309)
darioush Mar 22, 2024
6490d98
cmd, triedb: implement history inspection (#29267)
rjl493456442 Mar 22, 2024
d9bde37
log: use native log/slog instead of golang/exp (#29302)
holiman Mar 22, 2024
38eb8b3
all: fix docstrings (#29311)
availhang Mar 22, 2024
064f37d
eth/tracers: live chain tracing with hooks (#29189)
s1na Mar 22, 2024
6f1fb0c
metrics/influxdb: skip float64-precision-dependent tests on arm64 (#2…
NathanBSC Mar 24, 2024
ae47004
eth: fix typo (#29320)
deterclosed Mar 25, 2024
14cc967
all: remove dependency on golang.org/exp (#29314)
holiman Mar 25, 2024
5cea7a6
ethclient/simulated: clean up Node resources when simulated backend i…
Mar 25, 2024
eda9cb7
beacon/light/api: improve handling of event stream setup failures (#2…
fjl Mar 25, 2024
100c0f4
beacon/blsync: fixed blsync command line params (#29335)
zsfelfoldi Mar 25, 2024
738b5a5
Removes some leftover `err` check (#29339)
maoueh Mar 26, 2024
f2a6ac1
eth/catalyst: fix flaw in withdrawal-gathering in simulated beacon (#…
AaronChen0 Mar 26, 2024
1dd898c
tests: fix panic via state test runner using json logger (#29349)
holiman Mar 26, 2024
58a3e2f
core/state: perform updates before deletions when mutating tries (#29…
jwasinger Mar 26, 2024
723b1e3
all: fix mismatched names in comments (#29348)
AaronChen0 Mar 26, 2024
da7469e
core: add an end-to-end verkle test (#29262)
gballet Mar 26, 2024
304879d
eth/protocols/snap: check storage root existence for hash scheme (#29…
rjl493456442 Mar 27, 2024
8bb8f23
beacon/engine: Fix json param name in GetClientVersionV1 (#29351)
pawanjay176 Mar 27, 2024
fa5019d
accounts/keystore: fix typos in comments (#29336)
crazeteam Mar 27, 2024
767b00b
t8ntool: add optional call frames to json logger (#29353)
s1na Mar 27, 2024
7aba651
ethdb/dbtest: replace reflect.DeepEqual with slices.Equal (#29382)
cuiweixie Mar 28, 2024
3b77e0f
core: remove unused code (#29381)
rjl493456442 Mar 28, 2024
3754a6c
p2p/dnsdisc: using maps.Copy (#29377)
cuiweixie Mar 28, 2024
7481398
core/state: using slices.Clone (#29366)
cuiweixie Mar 28, 2024
0183c7a
eth/tracers/logger: using maps.Equal (#29384)
cuiweixie Mar 28, 2024
a382917
eth/tracers/js: consistent name for method receivers (#29375)
bnovil Mar 28, 2024
c39d00e
trie: using maps.Clone (#29419)
cuiweixie Apr 1, 2024
6c9f702
core/types: using maps.Clone (#29398)
cuiweixie Apr 1, 2024
8c5576b
eth/tracers: fix base fee and set blob fee in tests (#29376)
jsvisa Apr 1, 2024
fde9044
log: replace the outdated link (#29412)
carehabit Apr 2, 2024
31e63fc
rlp: using maps.Clone (#29434)
cuiweixie Apr 2, 2024
e63f992
rpc: fix ipc max path size (#29385)
fearlesschenc Apr 2, 2024
0bd03db
eth/filter: using atomic.Pointer instead of atomic.Value (#29435)
cuiweixie Apr 2, 2024
fe0bf32
cmd/evm: reopen the statedb for dumping (#29437)
rjl493456442 Apr 2, 2024
ab6419c
core/state: use maps.Clone (#29365)
cuiweixie Apr 2, 2024
12dcc16
common/lru: use clear builtin (#29399)
cuiweixie Apr 2, 2024
a83e576
eth/fetcher: using slices.Contains (#29383)
cuiweixie Apr 2, 2024
dfb3d46
p2p: add inbound and outbound peers metric (#29424)
weiihann Apr 2, 2024
7bb3fb1
eth: simplify peer counting logic (#29420)
cuiweixie Apr 3, 2024
1f8f137
build: upgrade -dlgo version to Go 1.22.2 (#29448)
sandakersmann Apr 4, 2024
6b39e92
beacon/engine: using slices.Contains (#29396)
cuiweixie Apr 4, 2024
eea0acc
log: using maps.Clone (#29392)
cuiweixie Apr 4, 2024
2e0c5e0
p2p/dnsdisc: using clear builtin func (#29418)
cuiweixie Apr 4, 2024
8bd0334
crypto/signify: close tmp key file in test (#29444)
testwill Apr 4, 2024
9dfe728
p2p/discover: using slices.Contains (#29395)
cuiweixie Apr 4, 2024
9cb8de8
internal/debug: convert legacy log level value in debug_verbosity (#2…
lightclient Apr 4, 2024
a851e39
core/types: use new atomic types in caches (#29411)
lmittmann Apr 4, 2024
e3bdd84
core/txpool: repair the limbo Billy too on unclean shutdowns (#29451)
karalabe Apr 4, 2024
15ff066
trie/utils: change Div+Mod to DivMod (#29413)
AaronChen0 Apr 4, 2024
35fcf9c
beacon/types: enforce fork order based on known forks list (#29380)
zsfelfoldi Apr 4, 2024
7ee9a6e
signer: implement blob txs sendtxargs, enable blobtx-signing (#28976)
holiman Apr 5, 2024
4458905
signer/core/apitypes: fix apitypes breakage due to bitrotted PR (#29470)
holiman Apr 5, 2024
cc348a6
common/prque: fix godoc comments (#29460)
georgehao Apr 6, 2024
74995bf
all: use slices.Contains (#29459)
AaronChen0 Apr 6, 2024
ccb76c0
eth/tracers: use slices.Contains (#29461)
AaronChen0 Apr 6, 2024
8876868
log: default JSON log handler should log all verbosity levels (#29471)
Apr 6, 2024
7aafad2
core/vm: better error-info for vm errors (#29354)
holiman Apr 6, 2024
0dc09da
all: replace path.Join with filepath.Join (#29479)
imalasong Apr 8, 2024
cfc7d06
signer/core/apitypes: use slices.Contains (#29474)
AaronChen0 Apr 8, 2024
ed4bc7f
all: replace fmt.Errorf() with errors.New() if no param required (#29…
AaronChen0 Apr 8, 2024
c3465cb
core: fix dev mode genesis difficulty (#29469)
s1na Apr 8, 2024
3c75c64
core: fix typo (#29438)
seay404 Apr 8, 2024
c170cc0
core/vm: reject contract creation if the storage is non-empty (#28912)
rjl493456442 Apr 8, 2024
70bf94c
internal, signer/core: replace path.Join with filepath.Join (#29489)
AaronChen0 Apr 9, 2024
f447de9
rlp: replace reflect.PtrTo with reflect.PointerTo (#29488)
mohanson Apr 9, 2024
3caf617
core/vm: move bls precompiles to correct addresses (#29445)
cuiweixie Apr 9, 2024
1126c6d
core: add txlookup lock (#29343)
rjl493456442 Apr 9, 2024
0bbd88b
all: use timer instead of time.After in loops, to avoid memleaks (#29…
songzhibin97 Apr 9, 2024
f202dfd
core/tracing: add changelog (#29388)
s1na Apr 9, 2024
34aac1d
all: use big.Sign to compare with zero (#29490)
AaronChen0 Apr 9, 2024
9dcf8aa
eth/protocols/snap: skip retrieval for completed storages (#29378)
rjl493456442 Apr 10, 2024
b9010f3
rpc: fix comment grammar (#29507)
Newt6611 Apr 11, 2024
bd91810
cmd: fix some typos in readmes (#29405)
ForestKeeperIO Apr 11, 2024
b179b7b
all: remove duplicate word in comments (#29531)
Abirdcfly Apr 15, 2024
3705acd
cmd/utils: fix typo in comment (#29528)
yudrywet Apr 15, 2024
84b12df
core/rawdb: add sanity-limit to header accessor (#29534)
holiman Apr 15, 2024
67422e2
p2p/nat: fix typos in comments (#29536)
dbadoy Apr 15, 2024
ef5ac3f
eth/filters: enforce topic-limit early on filter criterias (#29535)
holiman Apr 15, 2024
d3c4466
core, eth/protocols/snap, trie: fix cause for snap-sync corruption, i…
rjl493456442 Apr 16, 2024
e4ecaf8
rpc: implement Unwrap() for wsHandshakeError (#29522)
sucramx Apr 16, 2024
71c78bf
rpc: close Clients in tests (#29512)
darioush Apr 16, 2024
f437307
core/vm: update gascosts for BLS12-381 + use gnark instead of kilic (…
MariusVanDerWijden Apr 16, 2024
fadd9d8
eth/catalyst: fix log (#29549)
Apr 16, 2024
72f6936
c.d/utils: rename vmtrace.config to vmtrace.jsonconfig (#29554)
ziogaschr Apr 16, 2024
65e32d4
go.mod: clean up indirection (#29553)
ucwong Apr 16, 2024
5ffd940
core: go fmt (#29544)
ucwong Apr 16, 2024
0a51028
all: fix various typos (#29542)
persmor Apr 16, 2024
92da96b
core/vm: refactor push-functions to use `min` builtin (#29515)
itsdevbear Apr 16, 2024
27de7de
ethdb/pebble: print warning log if pebble performance degrades (#29478)
rjl493456442 Apr 17, 2024
74e8d2d
trie/utils: simplify codeChunkIndex (#29480)
AaronChen0 Apr 17, 2024
1e9bf2a
core/state: fix bug in statedb.Copy and remove unnecessary preallocat…
AaronChen0 Apr 17, 2024
0da69e8
beacon/blsync: proceed with empty finalized hash if proof is not expe…
zsfelfoldi Apr 17, 2024
5f95145
eth/ethconfig: regenerate autogen files (#29559)
ucwong Apr 18, 2024
b5902cf
core: remove unused fields (#29569)
rjl493456442 Apr 18, 2024
823719b
core/vm: enable bls-precompiles for Prague (#29552)
holiman Apr 18, 2024
81349ff
eth/catalyst: fix typo (#29580)
pengwenhui888 Apr 19, 2024
cce879b
tests: define cancun-to-prague at 15K chainconig (#29557)
marioevz Apr 19, 2024
2e06fbd
core/vm: add KZG benchmark (#29583)
MariusVanDerWijden Apr 19, 2024
98f504f
p2p/discover: fix test error messages (#29592)
bugmaker9371 Apr 21, 2024
28ccb2b
build: fix string compare for SortFunc (#29595)
AaronChen0 Apr 21, 2024
ad3d8cb
cmd/geth: remove unused parameter (#29602)
javaandfly Apr 22, 2024
82b0dec
eth/filters: remove support for pending logs (#29574)
fjl Apr 22, 2024
c2dfe7a
go.mod: update golang/x repos (#29604)
karalabe Apr 22, 2024
1ec7af2
eth: Add eth_blobBaseFee RPC and blob fields to eth_feeHistory (#29140)
ryanschneider Apr 22, 2024
e6689fe
beacon/light/sync: print error log if checkpoint retrieval fails (#29…
zsfelfoldi Apr 22, 2024
acd1eaa
core: remove bad block checks (#29609)
rjl493456442 Apr 22, 2024
853e0c2
eth/catalyst, trie/pathdb: fix flaky tests (#29571)
holiman Apr 23, 2024
0e380dd
miner: fix typos (#29625)
0xmountaintop Apr 23, 2024
709e0b3
metrics: remove librato (#29624)
AaronChen0 Apr 23, 2024
b2b0e1d
all: fix various typos (#29600)
hr98w Apr 23, 2024
256d4b0
beacon/light: request finality update explicitly when necessary (#29567)
zsfelfoldi Apr 23, 2024
9457993
core/vm: fix Prague contracts (#29612)
marioevz Apr 23, 2024
882d1e2
cmd/geth, cmd/utils: rename config and flag to` VMTraceJsonConfig` (#…
ziogaschr Apr 24, 2024
fb08fd3
core/tracing: Add OnClose Trace Hook (#29629)
ziogaschr Apr 24, 2024
ade7515
eth, eth/tracers: process beacon root before transactions (#29402)
maoueh Apr 24, 2024
5f3c58f
eth/downloader: fix case where skeleton reorgs below the filled block…
jwasinger Apr 24, 2024
87246f3
params: release Geth v1.14.0
karalabe Apr 24, 2024
938734b
params: begin 1.14.1 release cycle
karalabe Apr 24, 2024
0d4c388
core/state: remove account reset operation v2 (#29520)
holiman Apr 24, 2024
ac21f9b
trie: preallocate capacity for fields slice (#29614)
qcrao Apr 24, 2024
7362691
trie, consensus/clique: use maps.Clone (#29616)
AaronChen0 Apr 24, 2024
4f4f9d8
core/state: storage journal entry should revert dirtyness too (#29641)
karalabe Apr 24, 2024
2f6ff49
internal/ethapi: typo (#29636)
yosuzzy Apr 25, 2024
a13b925
eth/protocols/eth,p2p/discover: remove unnecessary checks (#29590)
undefinedor Apr 25, 2024
243cde0
core/state: better randomized testing (postcheck) on journalling (#29…
holiman Apr 25, 2024
1f628d8
build: build all the builders to build all the builders (#29647)
karalabe Apr 25, 2024
a0282fc
travis: temporarilly enable PPA builds for testing (#29648)
karalabe Apr 25, 2024
634d037
travis: revert the PPA fix hot-build, it works (#29649)
karalabe Apr 25, 2024
ad4fb2c
build: drop trusty from PPA builds, EOL and incompatible (#29651)
karalabe Apr 25, 2024
8d42e11
core/state: revert pending storage updates if they revert to original…
karalabe Apr 26, 2024
4253030
core/state: move metrics out of state objects (#29665)
karalabe Apr 26, 2024
4bdbaab
params: clarify consensus engine config `String`s (#29643)
roysc Apr 28, 2024
8c3fc56
p2p/simulations/adapters: use maps.Clone (#29626)
AaronChen0 Apr 29, 2024
fecc8a0
cmd/evm/internal/t8ntool, core: prealloc map sizes where possible (#2…
mask-pp Apr 30, 2024
69f815f
params: print time value instead of pointer in ConfigCompatError (#29…
NathanBSC Apr 30, 2024
c04b8e6
cmd/utils: require TTD and difficulty to be zero at genesis for dev m…
fselmo Apr 30, 2024
f46c878
core/rawdb: implement in-memory freezer (#29135)
rjl493456442 Apr 30, 2024
242b24a
trie/trienode: minor speedup in nodeset merging (#29683)
holiman Apr 30, 2024
ea89f9a
core/vm: remove a redundant zero check in opAddmod (#29672)
AaronChen0 Apr 30, 2024
7c7e3a7
eth/tracers/native: fix flatCallTracer Stop() bug (#29623)
draganm Apr 30, 2024
bd6bc37
core/vm: add subgroup checks for mul/mulexp for G1/G2 (#29637)
MariusVanDerWijden Apr 30, 2024
5e07054
internal/ethapi: listen to ctx cancellation in access list (#29686)
holiman Apr 30, 2024
2e8e35f
all: refactor so `NewBlock`, `WithBody` take `types.Body` (#29482)
lightclient Apr 30, 2024
45baf21
eth/downloader: purge pre-merge sync code (#29281)
jwasinger Apr 30, 2024
f8820f1
accounts, cmd/geth, core: close opened files (#29598)
songzhibin97 Apr 30, 2024
9f96e07
core/rawdb, trie: improve db APIs for accessing trie nodes (#29362)
rjl493456442 Apr 30, 2024
682ee82
core/state: parallelise parts of state commit (#29681)
karalabe May 2, 2024
bc609e8
core/vm: remove redundant error checks (#29692)
AaronChen0 May 2, 2024
fbf6238
params: fix misleading comments (#29684)
NathanBSC May 2, 2024
2c67fab
trie/pathdb: preallocate map capacity (#29690)
mask-pp May 2, 2024
86a1f0c
core/rawdb: fix ancient root folder (#29697)
rjl493456442 May 2, 2024
905e325
p2p/discover/v5wire: add tests for invalid handshake and auth data si…
kiarash8112 May 6, 2024
a09a610
core/tracing: add system call callback when performing `ProcessBeacon…
maoueh May 6, 2024
43cbcd7
core, core/state: move TriesInMemory to state package (#29701)
gballet May 6, 2024
3e896c8
ethdb/pebble: fix pebble metrics registration (#29699)
magicxyyz May 6, 2024
e4b8058
eth/gasprice: add query limit for FeeHistory to defend DDOS attack (#…
NathanBSC May 7, 2024
d6e91e2
eth/gasestimator: include blobs in virtual balance computation (#29703)
nand2 May 7, 2024
71aa15c
travis: use ubuntu noble (24.04) instead of bionic (18.04) (#29723)
holiman May 7, 2024
e96de64
build: upgrade to go 1.22.3 (#29725)
fjl May 7, 2024
9ec5008
core: use in-memory freezer for tests (#29720)
rjl493456442 May 8, 2024
dd4afb9
.travis.yml: fix install of gcc-multilib (#29733)
fjl May 8, 2024
6154f87
.travis.yml: fix apt-get options (#29734)
fjl May 8, 2024
dd09f7e
params: release go-ethereum v1.14.1 stable
fjl May 8, 2024
14f4228
params: begin v1.14.2 release cycle
fjl May 8, 2024
eeb2208
.travis.yml: fix package install on PPA builder
fjl May 8, 2024
35b2d07
params: release go-ethereum v1.14.2 stable
fjl May 8, 2024
a93c773
Merge tag 'v1.14.2' into TS_v1.14.2
tyler-smith May 9, 2024
0b81b11
fix: Restore github.com/tyler-smith/go-bip39.
tyler-smith May 9, 2024
430277e
cleanup: Remove non-updated native tracers.
tyler-smith May 5, 2024
12e8e1b
feature: Update BN tracer to support new Live Tracing system.
tyler-smith May 5, 2024
8c81c88
Add BlockNativeInitHook hook to add evm to tracer.
tyler-smith May 27, 2024
3439d3b
Use BN init hook to fix tracer decoding and blockcontext.
tyler-smith May 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
ethdb/pebble: print warning log if pebble performance degrades (ether…
  • Loading branch information
rjl493456442 authored Apr 17, 2024
commit 27de7dec658839722c8d84963d0a9b0c09a25d25
44 changes: 31 additions & 13 deletions ethdb/pebble/pebble.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,10 @@ const (
// metricsGatheringInterval specifies the interval to retrieve pebble database
// compaction, io and pause stats to report to the user.
metricsGatheringInterval = 3 * time.Second

// degradationWarnInterval specifies how often warning should be printed if the
// leveldb database cannot keep up with requested writes.
degradationWarnInterval = time.Minute
)

// Database is a persistent key-value store based on the pebble storage engine.
Expand Down Expand Up @@ -76,14 +80,16 @@ type Database struct {

log log.Logger // Contextual logger tracking the database path

activeComp int // Current number of active compactions
compStartTime time.Time // The start time of the earliest currently-active compaction
compTime atomic.Int64 // Total time spent in compaction in ns
level0Comp atomic.Uint32 // Total number of level-zero compactions
nonLevel0Comp atomic.Uint32 // Total number of non level-zero compactions
writeDelayStartTime time.Time // The start time of the latest write stall
writeDelayCount atomic.Int64 // Total number of write stall counts
writeDelayTime atomic.Int64 // Total time spent in write stalls
activeComp int // Current number of active compactions
compStartTime time.Time // The start time of the earliest currently-active compaction
compTime atomic.Int64 // Total time spent in compaction in ns
level0Comp atomic.Uint32 // Total number of level-zero compactions
nonLevel0Comp atomic.Uint32 // Total number of non level-zero compactions

writeStalled atomic.Bool // Flag whether the write is stalled
writeDelayStartTime time.Time // The start time of the latest write stall
writeDelayCount atomic.Int64 // Total number of write stall counts
writeDelayTime atomic.Int64 // Total time spent in write stalls

writeOptions *pebble.WriteOptions
}
Expand Down Expand Up @@ -112,10 +118,13 @@ func (d *Database) onCompactionEnd(info pebble.CompactionInfo) {

func (d *Database) onWriteStallBegin(b pebble.WriteStallBeginInfo) {
d.writeDelayStartTime = time.Now()
d.writeDelayCount.Add(1)
d.writeStalled.Store(true)
}

func (d *Database) onWriteStallEnd() {
d.writeDelayTime.Add(int64(time.Since(d.writeDelayStartTime)))
d.writeStalled.Store(false)
}

// panicLogger is just a noop logger to disable Pebble's internal logger.
Expand Down Expand Up @@ -450,13 +459,15 @@ func (d *Database) meter(refresh time.Duration, namespace string) {

// Create storage and warning log tracer for write delay.
var (
compTimes [2]int64
writeDelayTimes [2]int64
writeDelayCounts [2]int64
compWrites [2]int64
compReads [2]int64
compTimes [2]int64
compWrites [2]int64
compReads [2]int64

nWrites [2]int64

writeDelayTimes [2]int64
writeDelayCounts [2]int64
lastWriteStallReport time.Time
)

// Iterate ad infinitum and collect the stats
Expand Down Expand Up @@ -496,6 +507,13 @@ func (d *Database) meter(refresh time.Duration, namespace string) {
if d.writeDelayMeter != nil {
d.writeDelayMeter.Mark(writeDelayTimes[i%2] - writeDelayTimes[(i-1)%2])
}
// Print a warning log if writing has been stalled for a while. The log will
// be printed per minute to avoid overwhelming users.
if d.writeStalled.Load() && writeDelayCounts[i%2] == writeDelayCounts[(i-1)%2] &&
time.Now().After(lastWriteStallReport.Add(degradationWarnInterval)) {
d.log.Warn("Database compacting, degraded performance")
lastWriteStallReport = time.Now()
}
if d.compTimeMeter != nil {
d.compTimeMeter.Mark(compTimes[i%2] - compTimes[(i-1)%2])
}
Expand Down