-
Notifications
You must be signed in to change notification settings - Fork 880
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
Worldstate-only resync behavior #4875
Worldstate-only resync behavior #4875
Conversation
44a7cec
to
7fd3377
Compare
@shemnon as far as UX for a resync feature, 'touching' a file in the data dir is rather simple to implement and accessible. A debug rpc endpoint may or may not be a good idea for this kind of functionality. What do you think about file vs rpc, file and rpc, or some other command pattern to trigger this behavior? |
I'm not a devops maven, I'd think we should get the UX feedback from someone who manages fleets of nodes. Touching a file feels hacky to me but I've discovered lots of DevOps "best practices" feel hacky to me. |
0a1ffae
to
0346dad
Compare
39aa3a3
to
bf76408
Compare
ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/RpcMethod.java
Show resolved
Hide resolved
I'm no devops but I personally prefer an RPC call or a flag to a file that feels DIY. |
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, just a method that seems unused
public void reset() { | ||
this.badBlocks.invalidateAll(); | ||
this.badHeaders.invalidateAll(); | ||
this.latestValidHashes.invalidateAll(); | ||
} | ||
|
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.
Where is this called?
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.
bf59581
to
ee520db
Compare
As discussed oob, we will use debug namespace
ee520db
to
8bb393e
Compare
Signed-off-by: garyschulte <[email protected]>
Signed-off-by: garyschulte <[email protected]>
…ng on subsequent truncation at snap sync start Signed-off-by: garyschulte <[email protected]>
Signed-off-by: garyschulte <[email protected]>
…ndling during/after resync Signed-off-by: garyschulte <[email protected]>
Signed-off-by: garyschulte <[email protected]>
Signed-off-by: garyschulte <[email protected]>
Signed-off-by: garyschulte <[email protected]>
Signed-off-by: Fabio Di Fabio <[email protected]>
8bb393e
to
d830f2a
Compare
* use debug rpc endpoint to resync worldstate * Reset transaction pool state every time the initial sync is done Signed-off-by: garyschulte <[email protected]> Co-authored-by: Fabio Di Fabio <[email protected]>
* use debug rpc endpoint to resync worldstate * Reset transaction pool state every time the initial sync is done Signed-off-by: garyschulte <[email protected]> Signed-off-by: Simon Dudley <[email protected]> Co-authored-by: Fabio Di Fabio <[email protected]>
* 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 <[email protected]> Signed-off-by: garyschulte <[email protected]> Signed-off-by: Justin Florentine <[email protected]> Signed-off-by: Ameziane H <[email protected]> Signed-off-by: ahamlat <[email protected]> Signed-off-by: Simon Dudley <[email protected]> Co-authored-by: matkt <[email protected]> Co-authored-by: garyschulte <[email protected]> Co-authored-by: ahamlat <[email protected]> Co-authored-by: Simon Dudley <[email protected]> Co-authored-by: Fabio Di Fabio <[email protected]>
* use debug rpc endpoint to resync worldstate * Reset transaction pool state every time the initial sync is done Signed-off-by: garyschulte <[email protected]> Co-authored-by: Fabio Di Fabio <[email protected]>
PR description
Implements a debug rpc endpoint and a behavior to resync just the worldstate.
Fixed Issue(s)
Documentation
doc-change-required
label to this PR ifupdates are required.
Changelog