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

Avoid blocking state updates on client queries #3722

Open
sug0 opened this issue Aug 29, 2024 · 0 comments
Open

Avoid blocking state updates on client queries #3722

sug0 opened this issue Aug 29, 2024 · 0 comments
Labels
brainstorming client enhancement New feature or request post-mainnet Don't worry about this yet. storage

Comments

@sug0
Copy link
Contributor

sug0 commented Aug 29, 2024

We currently use RocksDB as our database backend. RocksDB has an interesting snapshot feature, which provides read-only access to the database without blocking subsequent writes.

Namada's ABCI Query implementation, as of v0.43.0, blocks on incoming requests, since it exclusively borrows the Shell (an abstraction holding all in-memory/persisted state in Namada).

Perhaps we could leverage RocksDB snapshots to allow up to some configurable number of $n$ queries to execute concurrently, before ultimately blocking on a request (or handling it as a background job without blocking state updating ABCI requests at all).

@sug0 sug0 added enhancement New feature or request storage client brainstorming post-mainnet Don't worry about this yet. labels Aug 29, 2024
@sug0 sug0 added this to the Nice to have and non-breaking milestone Aug 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
brainstorming client enhancement New feature or request post-mainnet Don't worry about this yet. storage
Projects
None yet
Development

No branches or pull requests

1 participant