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

[Feature Request] Optimise File Formats for Snapshots #13289

Open
Bukhtawar opened this issue Apr 18, 2024 · 0 comments
Open

[Feature Request] Optimise File Formats for Snapshots #13289

Bukhtawar opened this issue Apr 18, 2024 · 0 comments
Labels
enhancement Enhancement or improvement to existing feature or request Storage:Snapshots

Comments

@Bukhtawar
Copy link
Collaborator

Is your feature request related to a problem? Please describe

Snapshot uses XContent SMILE format to store snapshot metadata which bloats up due to the fact that there are repeatable keys. Though SMILE back-reference repeated keys it ends up allocating 1 byte for the reference per key which for high number of shards in the cluster ends up bloating memory.

For high number of shards we might need to paginate LIST snapshot calls which would work better if we could have the capability to perform block fetches so that we don't to buffer the entire respone in memory at the same time.

Describe the solution you'd like

Change the storage format to use position offsets that enables us to avoid serialising keys altogether and helps store data in a more compact format, stored in blocks with fixed/variable offsets enabling download of partial data to aid pagination requests

Related component

Storage:Snapshots

Describe alternatives you've considered

No response

Additional context

No response

@Bukhtawar Bukhtawar added enhancement Enhancement or improvement to existing feature or request untriaged and removed untriaged labels Apr 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement or improvement to existing feature or request Storage:Snapshots
Projects
Status: 🆕 New
Development

No branches or pull requests

1 participant