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
use bonsai updater cache to avoid calling database several times for the same account #4897
Merged
matkt
merged 11 commits into
hyperledger:main
from
matkt:avoid-multiple-read-of-account
Jan 19, 2023
Merged
use bonsai updater cache to avoid calling database several times for the same account #4897
matkt
merged 11 commits into
hyperledger:main
from
matkt:avoid-multiple-read-of-account
Jan 19, 2023
Conversation
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
…the same value Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
matkt
force-pushed
the
avoid-multiple-read-of-account
branch
from
January 16, 2023 15:45
fe9cece
to
a30d34b
Compare
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net>
ahamlat
approved these changes
Jan 17, 2023
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.
LGTM.
I added performances metrics that confirms the performance impovement
siladu
pushed a commit
to jflo/besu
that referenced
this pull request
Feb 7, 2023
…rledger#4897) Use WorldStateBonsaiUpdater accounts cache each time we try to get an account from storage. Currently, we use this cache only in some code paths. Signed-off-by: Karim TAAM <karim.t2am@gmail.com> Co-authored-by: Ameziane H <ameziane.hamlat@consensys.net>
siladu
pushed a commit
to jflo/besu
that referenced
this pull request
Feb 7, 2023
…rledger#4897) Use WorldStateBonsaiUpdater accounts cache each time we try to get an account from storage. Currently, we use this cache only in some code paths. Signed-off-by: Karim TAAM <karim.t2am@gmail.com> Signed-off-by: Simon Dudley <simon.dudley@consensys.net> Co-authored-by: Ameziane H <ameziane.hamlat@consensys.net>
Merged
jflo
added a commit
that referenced
this pull request
Feb 8, 2023
* Fix transaction pool issue (#4964) * Cache empty slots (#4874) * clear after each block and copy during clone * fix transaction pool issue * add block replay * support in-memory snapshots * Keep Worldstate Storage open for Bonsai archive latest layer (#5039) * bonsai layered worldstate subscription * unsubscribe from worldstatestorage on close of BonsaiLayeredWorldState * minor txpool logging improvements * Avoid triggering a calculate root hash when empty slot cache is not empty. * use the updater cache to get an account during block processing (#4897) * Worldstate-only resync behavior (#4875) * use debug rpc endpoint to resync worldstate * Reset transaction pool state every time the initial sync is done * init heal code --------- Signed-off-by: Karim TAAM <karim.t2am@gmail.com> Signed-off-by: garyschulte <garyschulte@gmail.com> Signed-off-by: Justin Florentine <justin+github@florentine.us> Signed-off-by: Ameziane H <ameziane.hamlat@consensys.net> Signed-off-by: ahamlat <ameziane.hamlat@consensys.net> Signed-off-by: Simon Dudley <simon.dudley@consensys.net> Co-authored-by: matkt <karim.t2am@gmail.com> Co-authored-by: garyschulte <garyschulte@gmail.com> Co-authored-by: ahamlat <ameziane.hamlat@consensys.net> Co-authored-by: Simon Dudley <simon.dudley@consensys.net> Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
elenduuche
pushed a commit
to elenduuche/besu
that referenced
this pull request
Aug 16, 2023
…rledger#4897) Use WorldStateBonsaiUpdater accounts cache each time we try to get an account from storage. Currently, we use this cache only in some code paths. Signed-off-by: Karim TAAM <karim.t2am@gmail.com> Co-authored-by: Ameziane H <ameziane.hamlat@consensys.net>
eum602
pushed a commit
to lacchain/besu
that referenced
this pull request
Nov 3, 2023
…rledger#4897) Use WorldStateBonsaiUpdater accounts cache each time we try to get an account from storage. Currently, we use this cache only in some code paths. Signed-off-by: Karim TAAM <karim.t2am@gmail.com> Co-authored-by: Ameziane H <ameziane.hamlat@consensys.net>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Signed-off-by: Karim TAAM karim.t2am@gmail.com
Co-authored-by: Ameziane H ameziane.hamlat@consensys.net
PR description
This PR will use WorldStateBonsaiUpdater accounts' cache each time we try to get an account from storage. Currently, we use this cache only in some code paths.
The profiling before and after this PR shows a real difference in CPU processing, as we use more a Java cache and get less data from RocksDB.
Before this PR
After this PR
If we zoom in one of the calls, we can see that with this PR, in some cases (and it is the case with this 5 minutes CPU profiling), there is no access to the database to get the account
Before this PR
After this PR
Block processing time
We notice around 7 % improvement with this PR
Fixed Issue(s)
Documentation
doc-change-required
label to this PR ifupdates are required.
Changelog