Commit Graph
34 Commits
Author SHA1 Message Date
Dimitris Apostolou 8fd43c8013 all: fix typos in comments (#28881) 2024-02-05 22:16:32 +01:00
Marius van der Wijden c89a3da7d9 core/state/snapshot: use AddHash/ContainHash instead of Hasher interface (#28849)
This change switches from using the `Hasher` interface to add/query the bloomfilter to implementing it as methods.
This significantly reduces the allocations for Search and Rebloom.
2024-01-23 15:15:48 +01: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
Dan LaineandFelix Lange 154b016b6c core: use slices package for sorting (#27489)
Co-authored-by: Felix Lange <fjl@twurst.com>
2023-06-20 11:58:47 +02:00
rjl493456442 0e5d2c7c53 core/state/snapshot, core/types, eth: move account definition to type (#27323)
* core/state/snapshot, core/types, eth: move account definition to type

* core, eth: revert snapshot Account API change
2023-06-06 11:17:39 +03:00
Martin Holst Swendeandrjl493456442 eb83e7c540 core/state/snapshot: check difflayer staleness early (#27255)
This PR adds a staleness-check to AccountRLP, before checking the bloom-filter and potentially going directly into the disklayer.

---------

Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2023-05-16 09:18:39 -04:00
s7v7nislands fb8a3aaf1e core/state: use atomic.Bool (#26992) 2023-03-28 03:06:50 -04:00
Abirdcfly c394c308e6 all: remove duplicate word in comments (#25618)
Signed-off-by: Abirdcfly <fp544037857@gmail.com>

Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-08-29 11:16:34 +03:00
Marius van der Wijden 86d5477079 core/state/snapshot: fix race condition (#24685)
Fixes three race conditions found through fuzzing by David Theodore
2022-05-06 17:20:41 +02:00
Péter Szilágyi f6891ba40d core/state/snapshot: remove noop map item assignment 2022-04-07 09:36:44 +03:00
Edgar Aroutiounian c79fc209cd core/state/snapshot: fix data race in diff layer (#22540) 2021-04-06 11:57:00 +03:00
Melvin Junhee Woo 04a72260c5 snapshot: merge loops for better performance (#22160) 2021-01-25 14:25:55 +01:00
Martin Holst Swende 93a89b2681 go.mod: use github.com/holiman/bloomfilter/v2 (#22044)
* deps: use improved bloom filter implementation

* eth/handler, trie: use 4 keys for syncbloom + minor fixes

* eth/protocols, trie: revert change on syncbloom method signature
2021-01-12 17:39:31 +01:00
Melvin Junhee Woo d2e1b17f18 snapshot, trie: fixed typos, mostly in snapshot pkg (#22133) 2021-01-07 08:36:21 +02:00
Martin Michlmayr 4f2784b38f all: fix typos in comments (#21118) 2020-05-25 10:21:28 +02:00
gary rong 85944c2561 core/state/snapshot: fix typo (#21037) 2020-05-07 10:07:59 +03:00
Péter Szilágyi 90af6dae6e core/state/snapshot: don't create storage list for non-existing accounts 2020-05-06 17:22:38 +03:00
gary rong 26d271dfbb core/state/snapshot: implement storage iterator (#20971)
* core/state/snapshot: implement storage iterator

* core/state/snapshot, tests: implement helper function

* core/state/snapshot: fix storage issue

If an account is deleted in the tx_1 but recreated in the tx_2,
the it can happen that in this diff layer, both destructedSet
and storageData records this account. In this case, the storage
iterator should be able to iterate the slots belong to new account
but disable further iteration in deeper layers(belong to old account)

* core/state/snapshot: address peter and martin's comment

* core/state: address comments

* core/state/snapshot: fix test
2020-04-29 12:53:08 +03:00
Péter Szilágyi fab0ee3bfa core/state/snapshot: fix various iteration issues due to destruct set 2020-03-04 15:06:04 +02:00
Péter Szilágyi a4cf279494 core/state: extend snapshotter to handle account resurrections 2020-03-03 15:52:00 +02:00
Péter Szilágyi 06d4470b41 core: fix broken tests due to API changes + linter 2020-02-25 12:51:16 +02:00
Martin Holst Swende 19099421dc core/state/snapshot: faster account iteration, CLI integration 2020-02-25 12:51:15 +02:00
Péter Szilágyi 6ddb92a089 core/state/snapshot: full featured account iteration 2020-02-25 12:51:14 +02:00
Péter Szilágyi e567675473 core/state/snapshot: move iterator out into its own files 2020-02-25 12:51:13 +02:00
Martin Holst Swende 7e38996301 core/state/snapshot: implement snapshot layer iteration 2020-02-25 12:51:12 +02:00
Péter Szilágyi 22c494d399 core/state/snapshot: bloom, metrics and prefetcher fixes 2020-02-25 12:51:11 +02:00
Martin Holst Swende 3ad4335acc core/state/snapshot: node behavioural difference on bloom content 2020-02-25 12:51:11 +02:00
Martin Holst Swende d5d7c0c24b core/state/snapshot: fix difflayer origin-initalization after flatten 2020-02-25 12:51:09 +02:00
Péter Szilágyi 351a5903b0 core/rawdb, core/state/snapshot: runtime snapshot generation 2020-02-25 12:51:08 +02:00
Péter Szilágyi d754091a87 core/state/snapshot: unlink snapshots from blocks, quad->linear cleanup 2020-02-25 12:51:07 +02:00
Martin Holst Swende cdf3f016df snapshot: iteration and buffering optimizations 2020-02-25 12:51:06 +02:00
Péter Szilágyi d7d81d7c12 core/state/snapshot: extract and split cap method, cover corners 2020-02-25 12:51:05 +02:00
Martin Holst Swende e146fbe4e7 core/state: lazy sorting, snapshot invalidation 2020-02-25 12:51:05 +02:00
Péter Szilágyi 542df8898e core: initial version of state snapshots 2020-02-25 12:51:04 +02:00