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

Adds ZSTD and ZSTD_NO_DICT codecs to core (out of sandbox) #4421

Merged
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
90e4dcf
documentation for zstd and zstd out of sandbox
sarthakaggarwal97 Jun 29, 2023
969d3fb
Update _api-reference/index-apis/create-index.md
hdhalter Jul 11, 2023
f8bc687
Update _api-reference/index-apis/create-index.md
hdhalter Jul 11, 2023
57c46b0
Update _api-reference/index-apis/create-index.md
hdhalter Jul 13, 2023
6c8c087
Update _api-reference/index-apis/create-index.md
hdhalter Jul 13, 2023
642f364
Update _api-reference/index-apis/create-index.md
hdhalter Jul 13, 2023
2cbdbdb
Update _api-reference/index-apis/create-index.md
hdhalter Jul 13, 2023
0374170
Update _api-reference/index-apis/create-index.md
hdhalter Jul 13, 2023
d79675c
Update _api-reference/index-apis/create-index.md
hdhalter Jul 13, 2023
4908884
Update create-index.md
hdhalter Jul 13, 2023
793db12
Update _api-reference/index-apis/create-index.md
hdhalter Jul 13, 2023
a050110
Update create-index.md
hdhalter Jul 13, 2023
8ae0f2d
Update _api-reference/index-apis/create-index.md
hdhalter Jul 13, 2023
3a0e510
Update create-index.md
hdhalter Jul 13, 2023
a66b865
Update create-index.md
hdhalter Jul 14, 2023
7046371
Update create-index.md
hdhalter Jul 14, 2023
bfc1d32
Update _api-reference/index-apis/create-index.md
hdhalter Jul 14, 2023
ea7964f
Update _api-reference/index-apis/create-index.md
hdhalter Jul 14, 2023
9e4509a
Update _api-reference/index-apis/create-index.md
hdhalter Jul 14, 2023
e4e7846
Update _api-reference/index-apis/create-index.md
hdhalter Jul 14, 2023
988f4df
Update _api-reference/index-apis/create-index.md
hdhalter Jul 14, 2023
c2feee0
Update _api-reference/index-apis/create-index.md
hdhalter Jul 14, 2023
6b4fad4
Update _api-reference/index-apis/create-index.md
hdhalter Jul 14, 2023
3ade466
Update _api-reference/index-apis/create-index.md
hdhalter Jul 17, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion _api-reference/index-apis/create-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,14 @@ Setting | Description
index.number_of_shards | The number of primary shards in the index. Default is 1.
index.number_of_routing_shards | The number of routing shards used to split an index.
index.shard.check_on_startup | Whether the index's shards should be checked for corruption. Available options are `false` (do not check for corruption), `checksum` (check for physical corruption), and `true` (check for both physical and logical corruption). Default is `false`.
index.codec | The compression type to use to compress stored data. Available values are `default` (optimizes for retrieval speed) and `best_compression` (optimizes for better compression at the expense of speed, leading to smaller data sizes on disk). For snapshot distributions built with the sandbox feature enabled, `-Dsandbox.enabled=true`, OpenSearch offers a custom-codecs plugin that supports the value `zstd` for Zstandard compression.
index.codec | Determines how the index’s stored fields are compressed and stored on the disk. This setting impacts the size of the index shards and the performance of the operations on the index. Available values are:
* `default` - This codec employs the 'LZ4' algorithm with a preset dictionary, which prioritizes performance over compression ratio. It offers faster indexing and search operations when compared with 'best_compression', but may result in larger index/shard sizes. If no codec is provided in the index settings, then 'LZ4' is used as default algorithm for compression.
hdhalter marked this conversation as resolved.
Show resolved Hide resolved
* `best_compression` - This codec utilizes 'zlib' as an underlying algorithm for compression. It achieves high compression ratios resulting in smaller index sizes. However, this may incur additional CPU usage during operations on the index and subsequently may result in high indexing and search latencies.
hdhalter marked this conversation as resolved.
Show resolved Hide resolved
* `zstd` - This codec uses the ['Zstandard' compression algorithm](https://github.com/facebook/zstd), which provides a good balance between compression ratio and speed. It provides significant compression comparable to 'best_compression' codec with reasonable CPU usage and improved indexing/search performance comparable to 'default' codec.
hdhalter marked this conversation as resolved.
Show resolved Hide resolved
* `zstd_no_dict` This codec is similar to 'zstd' but excludes the dictionary compression feature. It provides faster indexing and search operations compared to 'zstd' at the expense of a slightly larger index size.
hdhalter marked this conversation as resolved.
Show resolved Hide resolved

'zstd' and 'zstd_no_dict' are the new codecs introduced in OpenSearch v2.9.0. They provide an option to configure the compression level as an index setting 'index.codec.compression_level' which is not available for other codecs.
hdhalter marked this conversation as resolved.
Show resolved Hide resolved
{: .note}
index.routing_partition_size | The number of shards a custom routing value can go to. Routing helps an imbalanced cluster by relocating values to a subset of shards rather than just a single shard. To enable, set this value to greater than 1 but less than `index.number_of_shards`. Default is 1.
index.soft_deletes.retention_lease.period | The maximum amount of time to retain a shard's history of operations. Default is `12h`.
index.load_fixed_bitset_filters_eagerly | Whether OpenSearch should pre-load cached filters. Available options are `true` and `false`. Default is `true`.
Expand Down
15 changes: 0 additions & 15 deletions _install-and-configure/plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -289,21 +289,6 @@ Members of the OpenSearch community have built countless plugins for the service
| store-smb | 1.0.0 |
| transport-nio | 1.0.0 |

### Experimental plugins

OpenSearch offers experimental plugins that may be used in a snapshot distribution that has the [sandbox feature enabled](https://github.com/opensearch-project/OpenSearch/blob/main/sandbox/build.gradle).

| Plugin Name | Description | Earliest Available Version |
| :--- | :--- |
| custom-codecs | Provides additional compression codecs. | 1.0.0 |

Use the following example command to enable the sandbox feature:

```bash
./gradlew assemble -Dsandbox.enabled=true
bin/opensearch-plugin install file:///path/to/plugin-<version>-SNAPSHOT.zip
```

## Related links

- [About Observability]({{site.url}}{{site.baseurl}}/observability-plugin/index/)
Expand Down