Skip to content

Include index.sort.* index settings defaults for time_series and logsdb index modes. #129062

@martijnvg

Description

@martijnvg

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.

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