-
Notifications
You must be signed in to change notification settings - Fork 25.4k
Description
Today when index mode is either logsdb and tsdb, then index sorting is used. However when requesting the index.sort.*
setting, then no of the index sort index settings have a value. Even when asking for default index setting values. However index sorting has been configured.
This makes it difficult to figure out how either of the index mode work and confusing whether index sorting is actually active. Especially if index sorting gets customized while using logs index mode.
The fix would be to include the default logsdb and time series index modes' default index sort settings in the get index settings api as default values.
POST /logs-myapp-prod/_doc
{
"@timestamp": "1999-12-31T23:59:59.999Z"
}
GET /logs-myapp-prod/_settings?include_defaults
The last api call doesn't include any values for index.sort.*
index settings:
get index api response
{
".ds-logs-myapp-prod-2025.06.06-000001": {
"settings": {
"index": {
"mapping": {
"total_fields": {
"ignore_dynamic_beyond_limit": "true"
},
"ignore_malformed": "true"
},
"hidden": "true",
"provided_name": ".ds-logs-myapp-prod-2025.06.06-000001",
"creation_date": "1749220646540",
"number_of_replicas": "1",
"uuid": "uSWly65PQky-lnmD7rtT7A",
"version": {
"created": "9028000"
},
"lifecycle": {
"name": "logs"
},
"mode": "logsdb",
"codec": "best_compression",
"routing": {
"allocation": {
"include": {
"_tier_preference": "data_hot"
}
}
},
"number_of_shards": "1",
"logsdb": {
"add_host_name_field": "true",
"sort_on_host_name": "true"
},
"default_pipeline": "logs@default-pipeline"
}
},
"defaults": {
"index": {
"flush_after_merge": "512mb",
"time_series": {
"end_time": "9999-12-31T23:59:59.999Z",
"start_time": "-9999-01-01T00:00:00Z",
"es87tsdb_codec": {
"enabled": "true"
}
},
"final_pipeline": "_none",
"max_inner_result_window": "100",
"unassigned": {
"node_left": {
"delayed_timeout": "1m"
}
},
"max_terms_count": "65536",
"rollup": {
"source": {
"name": "",
"uuid": ""
}
},
"lifecycle": {
"prefer_ilm": "true",
"rollover_alias": "",
"origination_date": "-1",
"parse_origination_date": "false",
"skip": "false",
"step": {
"wait_time_threshold": "12h"
},
"indexing_complete": "false"
},
"routing_partition_size": "1",
"force_memory_term_dictionary": "false",
"max_docvalue_fields_search": "100",
"merge": {
"scheduler": {
"max_thread_count": "4",
"auto_throttle": "true",
"max_merge_count": "9"
},
"policy": {
"merge_factor": "32",
"floor_segment": "2mb",
"max_merge_at_once_explicit": "30",
"max_merge_at_once": "10",
"max_merged_segment": "0b",
"expunge_deletes_allowed": "10.0",
"segments_per_tier": "10.0",
"type": "UNSET",
"deletes_pct_allowed": "20.0"
}
},
"max_refresh_listeners": "1000",
"max_regex_length": "1000",
"load_fixed_bitset_filters_eagerly": "true",
"number_of_routing_shards": "1",
"write": {
"wait_for_active_shards": "1"
},
"seq_no": {
"index_options": "DOC_VALUES_ONLY"
},
"verified_before_close": "false",
"mapping": {
"coerce": "false",
"semantic_text": {
"use_legacy_format": "false"
},
"field_name_length": {
"limit": "9223372036854775807"
},
"total_fields": {
"limit": "1000"
},
"ignore_above": "8191",
"nested_objects": {
"limit": "10000"
},
"source": {
"mode": "SYNTHETIC"
},
"synthetic_source": {
"skip_ignored_source_read": "false",
"skip_ignored_source_write": "false"
},
"nested_fields": {
"limit": "50"
},
"synthetic_source_keep": "arrays",
"depth": {
"limit": "20"
},
"dimension_fields": {
"limit": "32768"
},
"use_doc_values_skipper": "false"
},
"source_only": "false",
"soft_deletes": {
"enabled": "true",
"retention": {
"operations": "0"
},
"retention_lease": {
"period": "12h"
}
},
"max_script_fields": "32",
"query": {
"default_field": [
"*"
],
"parse": {
"allow_unmapped_fields": "true"
}
},
"format": "0",
"sort": {
"missing": [],
"mode": [],
"field": [],
"order": []
},
"priority": "1",
"routing_path": [],
"version": {
"compatibility": "9028000"
},
"dense_vector": {
"hnsw_filter_heuristic": "ACORN"
},
"max_rescore_window": "10000",
"bloom_filter_for_id_field": {
"enabled": "true"
},
"max_adjacency_matrix_filters": "100",
"analyze": {
"max_token_count": "10000"
},
"gc_deletes": "60s",
"top_metrics_max_size": "10",
"failure_store": {
"version": "0"
},
"optimize_auto_generated_id": "true",
"max_ngram_diff": "1",
"translog": {
"flush_threshold_age": "1m",
"generation_threshold_size": "64mb",
"flush_threshold_size": "10gb",
"sync_interval": "5s",
"retention": {
"size": "-1",
"age": "-1"
},
"durability": "REQUEST"
},
"auto_expand_replicas": "false",
"fast_refresh": "false",
"mapper": {
"dynamic": "true"
},
"recovery": {
"type": "",
"use_synthetic_source": "true"
},
"requests": {
"cache": {
"enable": "true"
}
},
"data_path": "",
"highlight": {
"max_analyzed_offset": "1000000",
"weight_matches_mode": {
"enabled": "true"
}
},
"look_back_time": "2h",
"routing": {
"rebalance": {
"enable": "all"
},
"allocation": {
"disk": {
"watermark": {
"ignore": "false"
}
},
"enable": "all",
"total_shards_per_node": "-1"
}
},
"search": {
"slowlog": {
"include": {
"user": "false"
},
"level": "TRACE",
"threshold": {
"fetch": {
"warn": "-1",
"trace": "-1",
"debug": "-1",
"info": "-1"
},
"query": {
"warn": "-1",
"trace": "-1",
"debug": "-1",
"info": "-1"
}
}
},
"idle": {
"after": "30s"
}
},
"fielddata": {
"cache": "node"
},
"look_ahead_time": "30m",
"max_slices_per_scroll": "1024",
"shard": {
"check_on_startup": "false"
},
"xpack": {
"watcher": {
"template": {
"version": ""
}
},
"version": "",
"ccr": {
"following_index": "false"
}
},
"percolator": {
"map_unmapped_fields_as_text": "false"
},
"verified_read_only": "false",
"allocation": {
"max_retries": "5",
"existing_shards_allocator": "gateway_allocator"
},
"refresh_interval": "1s",
"indexing": {
"slowlog": {
"include": {
"user": "false"
},
"reformat": "true",
"threshold": {
"index": {
"warn": "-1",
"trace": "-1",
"debug": "-1",
"info": "-1"
}
},
"source": "1000",
"level": "TRACE"
}
},
"compound_format": "1gb",
"blocks": {
"metadata": "false",
"read": "false",
"read_only_allow_delete": "false",
"read_only": "false",
"write": "false"
},
"esql": {
"stored_fields_sequential_proportion": "0.2"
},
"max_result_window": "10000",
"store": {
"stats_refresh_interval": "10s",
"type": "",
"fs": {
"fs_lock": "native"
},
"preload": [],
"snapshot": {
"snapshot_name": "",
"index_uuid": "",
"cache": {
"prewarm": {
"enabled": "true"
},
"enabled": "true",
"excluded_file_types": []
},
"repository_uuid": "",
"uncached_chunk_size": "-1b",
"delete_searchable_snapshot": "false",
"index_name": "",
"partial": "false",
"blob_cache": {
"metadata_files": {
"max_length": "64kb"
}
},
"repository_name": "",
"snapshot_uuid": ""
}
},
"queries": {
"cache": {
"enabled": "true"
}
},
"shard_limit": {
"group": "normal"
},
"warmer": {
"enabled": "true"
},
"downsample": {
"interval": "",
"source": {
"name": "",
"uuid": ""
},
"origin": {
"name": "",
"uuid": ""
},
"status": "unknown"
},
"logsdb": {
"route_on_sort_fields": "false"
},
"override_write_load_forecast": "0.0",
"max_shingle_diff": "3",
"query_string": {
"lenient": "false"
}
}
}
}
}
The default section contains empty values for the index.sort.*
index setting:
...
"sort": {
"missing": [],
"mode": [],
"field": [],
"order": []
},
...
The fix should include the default values for both logsdb and tsdb.