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
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
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
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