Manav Darji
d95c05b98a
Enable ancient block pruning ( #1216 )
...
* core/state: typo
Signed-off-by: Delweng <delweng@gmail.com>
* core/rawdb: backport from https://github.com/bnb-chain/bsc/pull/543
Signed-off-by: Delweng <delweng@gmail.com>
* eth,ethdb,node,core/state: backport from https://github.com/bnb-chain/bsc/pull/543
Signed-off-by: Delweng <delweng@gmail.com>
* eth,core: backport from https://github.com/bnb-chain/bsc/pull/543
Signed-off-by: Delweng <delweng@gmail.com>
* cmd: open db with freeze disabled
Signed-off-by: Delweng <delweng@gmail.com>
* cli: snapshot prune-block
Signed-off-by: Delweng <delweng@gmail.com>
* fix typo
Signed-off-by: Delweng <delweng@gmail.com>
* cli/snapshot: fix the issue of dup open db error
Signed-off-by: Delweng <delweng@gmail.com>
* cli/snapshot: resolve datadir and ancient before backup
Signed-off-by: Delweng <delweng@gmail.com>
* core: more prune-block log
Signed-off-by: Delweng <delweng@gmail.com>
* core: truncatetail missing f.offset
Signed-off-by: Delweng <delweng@gmail.com>
* core/rawdb: indextx adjust offset of pruned block
Signed-off-by: Delweng <delweng@gmail.com>
* core/rawdb: freezer batch should implement the offset commit, ref https://github.com/bnb-chain/bsc/pull/1005
Signed-off-by: Delweng <delweng@gmail.com>
* core: check of ancientdb, backport https://github.com/bnb-chain/bsc/pull/817
Signed-off-by: Delweng <delweng@gmail.com>
* core/state: read raw borReceipt to backup
Signed-off-by: Delweng <delweng@gmail.com>
* core/rawdb: bor receipt maybe in []Receipt or Receipt RLP format
Signed-off-by: Delweng <delweng@gmail.com>
* core/state: typo and error msg
Signed-off-by: Delweng <delweng@gmail.com>
* core/rawdb: offSet -> offset
Signed-off-by: Delweng <delweng@gmail.com>
* cli/snapshot: comment
Signed-off-by: Delweng <delweng@gmail.com>
* cli/snapshot: add prune-block doc
Signed-off-by: Delweng <delweng@gmail.com>
* docs: add prune-block document
Signed-off-by: Delweng <delweng@gmail.com>
* core/rawdb: print wrong bor-receipt length
Signed-off-by: Delweng <delweng@gmail.com>
* internal/cli: add snapshot prune block tests (referenced from bsc's PR)
* improve errors
* cmd, core, eth, internal: fix lint
* internal/cli: refactor snapshot prune block test
* fix linters in tests
* internal/cli: add inspect-ancient-db command, update docs
* pruner: use a generic function for simplification
* internal/cli: fixes for inspect-db command
* internal/cli: improve pruning tests
* core/rawdb: update end block calculation logic in inspect command
* core/rawdb: improve checks db initialisation
* core/rawdb: remove offset check
* update mocks for span, ethdb and add command in makefile
* docs/cli: update docs with inspect command
* go mod tidy
* refactor and resolve conflicts
* resolve more conflicts
* refactor
* explicitly read node for hash scheme
* add check for hash scheme, fix tests
* fix typo
* update docs and add warning
* raise error if pbss is enabled
* revert read raw bor receipt change
* consensus/bor: handle nil header case in get root hash
* address comments
* core/rawdb: check chain continuity by matching parent hash
* core/rawdb: account for pruned ancient blocks
* go mod tidy
* fix tests
* fix tests
---------
Signed-off-by: Delweng <delweng@gmail.com>
Co-authored-by: Delweng <delweng@gmail.com>
2024-05-09 11:19:34 +05:30
Shivam Sharma
c0bf289a84
fix : testcases
2024-01-10 17:12:37 +05:30
Shivam Sharma
a9fa325b7e
Merge tag 'v1.13.5' of https://github.com/ethereum/go-ethereum into shivam/upstream-geth-1.13.5
2023-12-15 13:55:57 +05:30
rjl493456442
ea2e66a58e
trie/triedb/pathdb: improve dirty node flushing trigger ( #28426 )
...
* trie/triedb/pathdb: improve dirty node flushing trigger
* trie/triedb/pathdb: add tests
* trie/triedb/pathdb: address comment
2023-10-31 11:39:55 +02:00
rjl493456442
3853f50082
trie/triedb/pathdb, core/rawdb: enhance error message in freezer ( #28198 )
...
This PR adds more error message for debugging purpose.
2023-10-23 15:46:39 +02:00
rjl493456442
73f5bcb75b
core, accounts, eth, trie: handle genesis state missing ( #28171 )
...
* core, accounts, eth, trie: handle genesis state missing
* core, eth, trie: polish
* core: manage txpool subscription in mainpool
* eth/backend: fix test
* cmd, eth: fix test
* core/rawdb, trie/triedb/pathdb: address comments
* eth, trie: address comments
* eth: inline the function
* eth: use synced flag
* core/txpool: revert changes in txpool
* core, eth, trie: rename functions
2023-09-28 10:00:53 +03:00
rjl493456442
03c2176a1d
trie/triedb/pathdb: improve error log ( #28177 )
2023-09-22 09:33:17 +03:00
Arpit Temani
cc2c27dbd3
fix linters
2023-09-21 10:50:01 +05:30
Péter Szilágyi
0c6bbeb423
core, eth, trie: expose more detailed dirty ram tracking for diff layers ( #27971 )
2023-08-23 14:08:39 +03:00
Péter Szilágyi
811a674059
all: update golang/x/ext and fix slice sorting fallout ( #27909 )
...
The Go authors updated golang/x/ext to change the function signature of the slices sort method.
It's an entire shitshow now because x/ext is not tagged, so everyone's codebase just
picked a new version that some other dep depends on, causing our code to fail building.
This PR updates the dep on our code too and does all the refactorings to follow upstream...
2023-08-12 00:19:12 +02:00
Péter Szilágyi
be65b47645
all: update golang/x/ext and fix slice sorting fallout ( #27909 )
...
The Go authors updated golang/x/ext to change the function signature of the slices sort method.
It's an entire shitshow now because x/ext is not tagged, so everyone's codebase just
picked a new version that some other dep depends on, causing our code to fail building.
This PR updates the dep on our code too and does all the refactorings to follow upstream...
2023-08-12 00:04:12 +02:00
Péter Szilágyi
0ce331f56a
trie/triedb/pathdb: make shutdown journal log friendlier ( #27905 )
2023-08-11 17:05:35 +03:00
rjl493456442
503f1f7ada
all: activate pbss as experimental feature ( #26274 )
...
* all: activate pbss
* core/rawdb: fix compilation error
* cma, core, eth, les, trie: address comments
* cmd, core, eth, trie: polish code
* core, cmd, eth: address comments
* cmd, core, eth, les, light, tests: address comment
* cmd/utils: shorten log message
* trie/triedb/pathdb: limit node buffer size to 1gb
* cmd/utils: fix opening non-existing db
* cmd/utils: rename flag name
* cmd, core: group chain history flags and fix tests
* core, eth, trie: fix memory leak in snapshot generation
* cmd, eth, internal: deprecate flags
* all: enable state tests for pathdb, fixes
* cmd, core: polish code
* trie/triedb/pathdb: limit the node buffer size to 256mb
---------
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2023-08-10 22:21:36 +03:00
rjl493456442
7de748d3f6
all: implement path-based state scheme ( #25963 )
...
* all: implement path-based state scheme
* all: edits from review
* core/rawdb, trie/triedb/pathdb: review changes
* core, light, trie, eth, tests: reimplement pbss history
* core, trie/triedb/pathdb: track block number in state history
* trie/triedb/pathdb: add history documentation
* core, trie/triedb/pathdb: address comments from Peter's review
Important changes to list:
- Cache trie nodes by path in clean cache
- Remove root->id mappings when history is truncated
* trie/triedb/pathdb: fallback to disk if unexpect node in clean cache
* core/rawdb: fix tests
* trie/triedb/pathdb: rename metrics, change clean cache key
* trie/triedb: manage the clean cache inside of disk layer
* trie/triedb/pathdb: move journal function
* trie/triedb/path: fix tests
* trie/triedb/pathdb: fix journal
* trie/triedb/pathdb: fix history
* trie/triedb/pathdb: try to fix tests on windows
* core, trie: address comments
* trie/triedb/pathdb: fix test issues
---------
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-08-01 15:17:32 +03:00