all: bloom-filter based pruning mechanism (#21724)
* cmd, core, tests: initial state pruner
core: fix db inspector
cmd/geth: add verify-state
cmd/geth: add verification tool
core/rawdb: implement flatdb
cmd, core: fix rebase
core/state: use new contract code layout
core/state/pruner: avoid deleting genesis state
cmd/geth: add helper function
core, cmd: fix extract genesis
core: minor fixes
contracts: remove useless
core/state/snapshot: plugin stacktrie
core: polish
core/state/snapshot: iterate storage concurrently
core/state/snapshot: fix iteration
core: add comments
core/state/snapshot: polish code
core/state: polish
core/state/snapshot: rebase
core/rawdb: add comments
core/rawdb: fix tests
core/rawdb: improve tests
core/state/snapshot: fix concurrent iteration
core/state: run pruning during the recovery
core, trie: implement martin's idea
core, eth: delete flatdb and polish pruner
trie: fix import
core/state/pruner: add log
core/state/pruner: fix issues
core/state/pruner: don't read back
core/state/pruner: fix contract code write
core/state/pruner: check root node presence
cmd, core: polish log
core/state: use HEAD-127 as the target
core/state/snapshot: improve tests
cmd/geth: fix verification tool
cmd/geth: use HEAD as the verification default target
all: replace the bloomfilter with martin's fork
cmd, core: polish code
core, cmd: forcibly delete state root
core/state/pruner: add hash64
core/state/pruner: fix blacklist
core/state: remove blacklist
cmd, core: delete trie clean cache before pruning
cmd, core: fix lint
cmd, core: fix rebase
core/state: fix the special case for clique networks
core/state/snapshot: remove useless code
core/state/pruner: capping the snapshot after pruning
cmd, core, eth: fixes
core/rawdb: update db inspector
cmd/geth: polish code
core/state/pruner: fsync bloom filter
cmd, core: print warning log
core/state/pruner: adjust the parameters for bloom filter
cmd, core: create the bloom filter by size
core: polish
core/state/pruner: sanitize invalid bloomfilter size
cmd: address comments
cmd/geth: address comments
cmd/geth: address comment
core/state/pruner: address comments
core/state/pruner: rename homedir to datadir
cmd, core: address comments
core/state/pruner: address comment
core/state: address comments
core, cmd, tests: address comments
core: address comments
core/state/pruner: release the iterator after each commit
core/state/pruner: improve pruner
cmd, core: adjust bloom paramters
core/state/pruner: fix lint
core/state/pruner: fix tests
core: fix rebase
core/state/pruner: remove atomic rename
core/state/pruner: address comments
all: run go mod tidy
core/state/pruner: avoid false-positive for the middle state roots
core/state/pruner: add checks for middle roots
cmd/geth: replace crit with error
* core/state/pruner: fix lint
* core: drop legacy bloom filter
* core/state/snapshot: improve pruner
* core/state/snapshot: polish concurrent logs to report ETA vs. hashes
* core/state/pruner: add progress report for pruning and compaction too
* core: fix snapshot test API
* core/state: fix some pruning logs
* core/state/pruner: support recovering from bloom flush fail
Co-authored-by:
Péter Szilágyi <peterke@gmail.com>
Showing
- cmd/geth/main.go 3 additions, 0 deletionscmd/geth/main.go
- cmd/geth/snapshot.go 437 additions, 0 deletionscmd/geth/snapshot.go
- cmd/geth/usage.go 1 addition, 0 deletionscmd/geth/usage.go
- cmd/utils/flags.go 5 additions, 0 deletionscmd/utils/flags.go
- core/blockchain.go 1 addition, 1 deletioncore/blockchain.go
- core/blockchain_snapshot_test.go 1 addition, 2 deletionscore/blockchain_snapshot_test.go
- core/genesis.go 0 additions, 4 deletionscore/genesis.go
- core/rawdb/database.go 15 additions, 4 deletionscore/rawdb/database.go
- core/rawdb/schema.go 5 additions, 5 deletionscore/rawdb/schema.go
- core/state/pruner/bloom.go 132 additions, 0 deletionscore/state/pruner/bloom.go
- core/state/pruner/pruner.go 537 additions, 0 deletionscore/state/pruner/pruner.go
- core/state/snapshot/conversion.go 192 additions, 92 deletionscore/state/snapshot/conversion.go
- core/state/snapshot/snapshot.go 73 additions, 5 deletionscore/state/snapshot/snapshot.go
- core/state/snapshot/snapshot_test.go 67 additions, 0 deletionscore/state/snapshot/snapshot_test.go
- eth/backend.go 4 additions, 0 deletionseth/backend.go
- go.mod 3 additions, 13 deletionsgo.mod
- go.sum 3 additions, 8 deletionsgo.sum
- tests/block_test_util.go 1 addition, 2 deletionstests/block_test_util.go
- tests/state_test_util.go 1 addition, 1 deletiontests/state_test_util.go
- trie/stacktrie.go 10 additions, 11 deletionstrie/stacktrie.go
Loading
Please register or sign in to comment