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

Support different compression types for snapshoting #2192

Open
willyborankin opened this issue Feb 21, 2022 · 4 comments
Open

Support different compression types for snapshoting #2192

willyborankin opened this issue Feb 21, 2022 · 4 comments
Labels
discuss Issues intended to help drive brainstorming and decision making distributed framework enhancement Enhancement or improvement to existing feature or request

Comments

@willyborankin
Copy link
Contributor

willyborankin commented Feb 21, 2022

Is your feature request related to a problem? Please describe.

For now Opensearch supports only deflate compression for snapshoting (compress setting for all Cloud plugins).
It would be great to extend compression to use different compression algorithms like:

  • ZSTD
  • LZ4
    or even more.

Describe the solution you'd like
To support different compression types by
extending the repository settings for compression using such JSON:

{
  ...
   "settings": {
      "compression": {
         "type": "zstd", // could be `deflate`, `xz4` etc.
         "compression_settings": {
              // different compression settings like level and so on
         }
      }
   }
}

In this case it is difficult to keep backward compatibility

Describe alternatives you've considered
Compression type could be set when the repository is created/updated using such JSON:

{
  ...
   "settings": {
      "compress": true,
      "compression_type": "zstd", // `deflate`, `lz4`
   }
}

and add compression settings in opensearch.yml something like:

compression.<propery>: <some_property_value>

In this case it is possible to keep backward compatibility between versions. e.g. deflate is a default type for compression

@willyborankin willyborankin added enhancement Enhancement or improvement to existing feature or request untriaged labels Feb 21, 2022
@CEHENKLE CEHENKLE added distributed framework discuss Issues intended to help drive brainstorming and decision making labels Feb 22, 2022
@CEHENKLE
Copy link
Member

@willyborankin Hey! Thanks for this.

Is this something you're thinking about contributing, or something you'd like to see (regardless of who contributes it)?

Thanks!
/C

@willyborankin
Copy link
Contributor Author

@willyborankin Hey! Thanks for this.

Is this something you're thinking about contributing, or something you'd like to see (regardless of who contributes it)?

Thanks! /C

@CEHENKLE Hey!,
I would say both, to see and implement :-). As a first step ZSTD compression, and after that LZ4, what do you think?
Thanks!

@dblock
Copy link
Member

dblock commented Mar 1, 2022

@willyborankin makes sense to me!

@CEHENKLE
Copy link
Member

CEHENKLE commented Mar 1, 2022

@willyborankin Cool beans! I look forward to seeing the PRs :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss Issues intended to help drive brainstorming and decision making distributed framework enhancement Enhancement or improvement to existing feature or request
Projects
None yet
Development

No branches or pull requests

3 participants