Description
Describe the bug
Number of routing shards is a user definable setting which is used during splitting of shard to determine valid splits and number of splits possible. The setting itself is persisted in the IndexMetadata
.
Although, we can get the value from _cluster/state
under the index's metadata as routing_num_shards
field, but, it isn't listed while calling GET {index}/_settings
. Naturally, users expect it to be present in the output of GET {index}/_settings
.
Related component
Indexing
To Reproduce
Click to see detailed steps:
Checkout 4c25257
from opensearch:main
.
# create index
http PUT :9200/sample-idx 'settings:={"number_of_replicas":1, "number_of_shards": 1, "number_of_routing_shards": 512}'
HTTP/1.1 200 OK
X-OpenSearch-Version: OpenSearch/3.0.0-SNAPSHOT (opensearch)
content-encoding: gzip
content-length: 77
content-type: application/json; charset=UTF-8
{
"acknowledged": true,
"index": "sample-idx",
"shards_acknowledged": true
}
# get index settings
http :9200/sample-idx/_settings
HTTP/1.1 200 OK
X-OpenSearch-Version: OpenSearch/3.0.0-SNAPSHOT (opensearch)
content-encoding: gzip
content-length: 203
content-type: application/json; charset=UTF-8
{
"sample-idx": {
"settings": {
"index": {
"creation_date": "1718143398625",
"number_of_replicas": "1",
"number_of_shards": "1",
"provided_name": "sample-idx", <-- not listed in {index}/_settings
"replication": {
"type": "DOCUMENT"
},
"uuid": "KOvdS229RXS7FeQ2ltLJ6g",
"version": {
"created": "137217827"
}
}
}
}
}
# get cluster state
http :9200/_cluster/state
HTTP/1.1 200 OK
X-OpenSearch-Version: OpenSearch/3.0.0-SNAPSHOT (opensearch)
content-encoding: gzip
content-length: 876
content-type: application/json; charset=UTF-8
{
"blocks": {},
"cluster_manager_node": "fBwVW6GOQUCG4ZtiV2kJqw",
"cluster_name": "runTask",
"cluster_uuid": "N14cN9NDSOqNuiwuq7uQNQ",
"master_node": "fBwVW6GOQUCG4ZtiV2kJqw",
"metadata": {
"cluster_coordination": {
... snip ...
"indices": {
"sample-idx": {
"aliases": [],
"aliases_version": 1,
"in_sync_allocations": {
"0": [
"ONEQ3Wc2RAOtb6h4c74Nag"
]
},
"mapping_version": 1,
"mappings": {},
"primary_terms": {
"0": 1
},
"rollover_info": {},
"routing_num_shards": 512, <-- visible here
... snip ...
Expected behavior
User should not delve into the _cluster/state
to figure out routing_num_shards
information. Instead index.routing_number_of_shards
should be listed in the {index}/_settings
response.
Additional Details
Plugins
N/A
Screenshots
N/A
Host/Environment (please complete the following information):
- OS: MacOS Sonoma
Additional context
N/A
Activity