Skip to content

add suport custom inde.codec setting #22048

@macaty

Description

@macaty

Suggestions

  • Enhance the Create Index Set UI to include an index.codec configuration option, allowing users to select from zstd, lz4, best_compression, zlib, etc.
  • Fix the OpenSearch version in Datanode to support zstd compression. OpenSearch officially introduced zstd support in version 2.12, but the current Datanode version does not support it.

Version Check

graylog/graylog-datanode                         6.2.0-beta.1-1    74d9fe2196d2   2 days ago      1.55GB
graylog/graylog                                  6.2.0-beta.1-1    689e4e78d1f6   2 days ago      660MB

root@datanode:/etc/graylog/datanode# curl -k --cert client-cert.crt --key client-cert.key -X GET 'https://datanode:9200' | jq
{
  "name": "datanode",
  "cluster_name": "datanode-cluster",
  "cluster_uuid": "A1M9hRELQKCafl7CzgYS1w",
  "version": {
    "distribution": "opensearch",
    "number": "2.15.0",
    "build_type": "tar",
    "build_hash": "61dbcd0795c9bfe9b81e5762175414bc38bbcadf",
    "build_date": "2024-06-20T03:26:49.193630411Z",
    "build_snapshot": false,
    "lucene_version": "9.10.0",
    "minimum_wire_compatibility_version": "7.10.0",
    "minimum_index_compatibility_version": "7.0.0"
  },
  "tagline": "The OpenSearch Project: https://opensearch.org/"
}

Validation Command

curl -X PUT -k --cert client-cert.crt --key client-cert.key 'https://datanode:9200/_template/nginx_-template' -H 'Content-Type: application/json' -d '
{
  "order": 0,
  "index_patterns": [
    "nginx__*"
  ],
  "settings": {
    "index": {
      "codec": "zstd",
      "analysis": {
        "analyzer": {
          "analyzer_keyword": {
            "filter": "lowercase",
            "tokenizer": "keyword"
          }
        }
      }
    }
  }
}' | jq

Validation Result: zstd Not Supported

{
  "error": {
    "root_cause": [
      {
        "type": "illegal_argument_exception",
        "reason": "unknown value for [index.codec] must be one of [default, lz4, best_compression, zlib] but was: zstd"
      }
    ],
    "type": "illegal_argument_exception",
    "reason": "unknown value for [index.codec] must be one of [default, lz4, best_compression, zlib] but was: zstd"
  },
  "status": 400
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions