Skip to content
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

SnapServer using FlatDB Strategy #5887

Closed

Conversation

garyschulte
Copy link
Contributor

@garyschulte garyschulte commented Sep 16, 2023

PR description

PR to implement SnapServer using FlatDB Strategy.

marked Draft until we have code storage by code hash rolled out.

Fixed Issue(s)

#3165

@github-actions
Copy link

  • I thought about documentation and added the doc-change-required label to this PR if updates are required.
  • I thought about the changelog and included a changelog update if required.
  • If my PR includes database changes (e.g. KeyValueSegmentIdentifier) I have thought about compatibility and performed forwards and backwards compatibility tests

@garyschulte garyschulte mentioned this pull request Sep 19, 2023
@garyschulte garyschulte force-pushed the feature/snap-sync-server branch 2 times, most recently from ba392d5 to f0c145b Compare September 22, 2023 05:24
@garyschulte
Copy link
Contributor Author

blocked by #5889

@garyschulte garyschulte force-pushed the feature/snap-sync-server branch 5 times, most recently from a71bac6 to 6790640 Compare September 29, 2023 16:52
@garyschulte garyschulte force-pushed the feature/snap-sync-server branch 4 times, most recently from 05f5fb6 to 7ee0869 Compare October 27, 2023 20:32
@garyschulte garyschulte force-pushed the feature/snap-sync-server branch 7 times, most recently from 1c6d8b0 to 035e23b Compare November 6, 2023 22:32
Signed-off-by: garyschulte <[email protected]>
skeltal implementation of getTrieNodes message

Signed-off-by: garyschulte <[email protected]>
…, add getByteCodes test for SnapServer

Signed-off-by: garyschulte <[email protected]>
…omments for CompactEncoding

bugfix getStorageByRootHash to only return head worldstate if the supplied optional rootHash is empty

Signed-off-by: garyschulte <[email protected]>
rework storage iteration and last key proving
added test for interrupted storage range requests
send proofs without leaf nodes, do not fail single node proofs on ordering.

Signed-off-by: garyschulte <[email protected]>
fix contract test fixtures

Signed-off-by: garyschulte <[email protected]>
warn if snap server is created without reference to sync status
remove proof without leaf value
do not send empty storage ranges, only a left side proof of startkeyhash if the range is empty

Signed-off-by: garyschulte <[email protected]>
* bump max header limit to 512, as 192 was arbitrarily low
* add timings and reponse sizes to debug logs in SnapServer
* fudge factor hack for response size limits in snapserver
* adjust snapserver unit tests, send no keys or proofs if storage range is empty
* prevent potential stampede of worldstate caching from snap server by marking getStorageRootByHash synchronized

Signed-off-by: garyschulte <[email protected]>
Signed-off-by: garyschulte <[email protected]>
Signed-off-by: garyschulte <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants