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

State sync: use native DB export - stream - import #10886

Closed
4 tasks done
robert-zaremba opened this issue Jan 5, 2022 · 1 comment
Closed
4 tasks done

State sync: use native DB export - stream - import #10886

robert-zaremba opened this issue Jan 5, 2022 · 1 comment
Assignees
Labels

Comments

@robert-zaremba
Copy link
Collaborator

robert-zaremba commented Jan 5, 2022

Summary

Optimize the state snapshot sync by streaming native DB exports.

Problem Definition

Cosmos apps have massive growth, and the state is getting too big to efficiently sync using a naive iterator, where we:

  • iterate over key-value pairs and stream the over in batches
  • receive and decode key-value pairs and iteratively save them to the store

Proposal

  1. Use native DB export
  2. Use protobuf streaming functionality for streaming DB export bytes
  3. Use native DB import functionality

It should massively improve the performance. The obvious limitation is that only nodes using the same underlying DB can sync. However, our idea is that the nodes in the same network will use the same DB.

Ref: #10194


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@robert-zaremba
Copy link
Collaborator Author

This is not done, why closing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Development

No branches or pull requests

4 participants