-
Notifications
You must be signed in to change notification settings - Fork 20.5k
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
core/state/snapshot: faster snapshot generation #22504
Merged
+1,369
−209
Merged
Changes from 1 commit
Commits
Show all changes
75 commits
Select commit
Hold shift + click to select a range
4c2c35f
eth/protocols: persist received state segments
rjl493456442 4a7650f
core: initial implementation
rjl493456442 2b65233
core/state/snapshot: add tests
rjl493456442 d74a7f1
core, eth: updates
rjl493456442 5a26f7f
eth/protocols/snapshot: count flat state size
rjl493456442 d21e5a2
core/state: add metrics
rjl493456442 65cee53
core/state/snapshot: skip unnecessary deletion
rjl493456442 557b81c
core/state/snapshot: rename
rjl493456442 45fead8
core/state/snapshot: use the global batch
rjl493456442 a9bea12
core/state/snapshot: add logs and fix wiping
rjl493456442 310db7c
core/state/snapshot: fix
rjl493456442 6102044
core/state/snapshot: save generation progress even if the batch is empty
rjl493456442 dd4ced3
core/state/snapshot: fixes
rjl493456442 5eb07d4
core/state/snapshot: fix initial account range length
rjl493456442 62eb856
core/state/snapshot: fix initial account range
rjl493456442 b2dbe3b
eth/protocols/snap: store flat states during the healing
rjl493456442 529147f
eth/protocols/snap: print logs
rjl493456442 da8f26b
core/state/snapshot: refactor (#4)
holiman 7433151
core, eth: fixes
rjl493456442 7073457
core, eth: fix healing writer
rjl493456442 70c9b32
core, trie, eth: fix paths
rjl493456442 d865c47
eth/protocols/snap: fix encoding
rjl493456442 6e94768
eth, core: add debug log
rjl493456442 afecd67
core/state/generate: release iterator asap (#5)
holiman 9cf7677
core/state/snapshot: optimize stats counter
rjl493456442 13d4b9b
core, eth: add metric
rjl493456442 0cceb3c
core/state/snapshot: update comments
rjl493456442 1f05908
core/state/snapshot: improve tests
rjl493456442 07e3575
core/state/snapshot: replace secure trie with standard trie
rjl493456442 1d3517e
core/state/snapshot: wrap return as the struct
rjl493456442 7c8e43c
core/state/snapshot: skip wiping correct states
rjl493456442 4539a8f
core/state/snapshot: updates
rjl493456442 240e9d6
core/state/snapshot: fixes
rjl493456442 2fd4ce2
core/state/snapshot: fix panic due to reference flaw in closure
holiman b221f1a
core/state/snapshot: fix errors in state generation logic + fix log o…
holiman 6c93d5a
core/state/snapshot: remove an error case
holiman 2cf335c
core/state/snapshot: fix condition-check for exhausted snap state
holiman f25852e
core/state/snapshot: use stackTrie for small tries
holiman dab43b3
core/state/snapshot: don't resolve small storage tries in vain
holiman 2fce60d
core/state/snapshot: properly clean up storage of deleted accounts
holiman 148bde6
core/state/snapshot: avoid RLP-encoding in some cases + minor nitpicks
holiman c24ef63
core/state/snapshot: fix error (+testcase)
holiman 2625274
core/state/snapshot: clean up tests a bit
holiman ac645a1
core/state/snapshot: work in progress on better tests
holiman 823d0c5
core/state/snapshot: polish code
rjl493456442 5a36506
core/state/snapshot: fix trie iteration abortion trigger
rjl493456442 664615f
core/state/snapshot: fixes flaws
rjl493456442 95118e7
core/state/snapshot: remove panic
rjl493456442 bba0f1c
core/state/snapshot: fix abort
rjl493456442 3c64389
core/state/snapshot: more tests (plus failing testcase)
holiman 47bc0ef
core/state/snapshot: more testcases + fix for failing test
holiman 71ea5ad
core/state/snapshot: testcase for malformed data
holiman 63f4998
core/state/snapshot: some test nitpicks
holiman ac8ebf3
core/state/snapshot: improvements to logging
holiman fda1c2a
core/state/snapshot: testcase to demo error in abortion
holiman f58f3c7
core/state/snapshot: fix abortion
rjl493456442 ea540aa
cmd/geth: make verify-state report the root
holiman 37b3426
trie: fix failing test
holiman d172f80
core/state/snapshot: add timer metrics
rjl493456442 3c9073c
core/state/snapshot: fix metrics
rjl493456442 1e42318
core/state/snapshot: udpate tests
rjl493456442 4563da2
eth/protocols/snap: write snapshot account even if code or state is n…
holiman c78f9f4
core/state/snapshot: fix diskmore check
holiman c27ea4f
core/state/snapshot: review fixes
holiman 46fc218
core/state/snapshot: improve error message
rjl493456442 bb149d9
cmd/geth: rename 'error' to 'err' in logs
holiman 78cdadd
core/state/snapshot: fix some review concerns
holiman 1693ca3
core/state/snapshot, eth/protocols/snap: clear snapshot marker when s…
holiman c2e7952
core: add error log
rjl493456442 1cc3ca3
core/state/snapshot: use proper timers for metrics collection
holiman 1a6143f
core/state/snapshot: address some review concerns
holiman 920e2eb
eth/protocols/snap: improved log message
holiman fa8b467
eth/protocols/snap: fix heal logs to condense infos
karalabe 3a54830
core/state/snapshot: wait for generator termination before restarting
karalabe 12a1a85
core/state/snapshot: revert timers to counters to track total time
karalabe File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
core/state/snapshot: add timer metrics
commit d172f808d9af0621512ef9351e684fe707831359
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nitpicks on all the above metrics. If the type is
Gauge
, please call the variableXyzGauge
too, notXyZTimer
. It's a style we've followed throughout the code.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Btw, any particular reason for using gauges?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm open to using whatever.. What do you think we should use?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These metrics are used for counting the total/accumulate time spent on the generation. It's more or less for debugging during the development.