Dynamic setting of "cluster.routing.allocation.same_shard.host: true" is not working

curl -XPUT http://10.110.9.1:9200/_cluster/settings -d '{ "persistent" : {"cluster.routing.allocation.same_shard.host": "true"}}'

{"acknowledged":true,"persistent":{},"transient":{}}

curl -XGET http://10.110.9.1:9200/_cluster/settings
{"persistent":{"cluster":{"routing":{"allocation":{"cluster_concurrent_rebalance":"16","node_concurrent_recoveries":"16","node_initial_primaries_recoveries":"16"}},"info":{"update":{"interval":"1m"}}},"indices":{"recovery":{"concurrent_streams":"16","translog_size":"4mb","concurrent_small_file_streams":"16","max_bytes_per_sec":"500mb","file_chunk_size":"4mb"}}},"transient":{}}

any ideas?

Same concern here, the PUT succeeds but the settings do now show up in GET

I have the same problem now.

$ curl -XPUT http://192.168.14.104:9200/_cluster/settings -d '
{
"transient" : {
"cluster.routing.allocation.same_shard.host" : "true"
}
}
'

{"acknowledged":true,"persistent":{},"transient":{}}

My ES version is 2.3.5

I found the same question on github, https://github.com/elastic/elasticsearch/issues/17693

it says
"The reason for this is that is "cluster.routing.allocation.same_shard.host" is not a dynamic setting, it needs to be set at startup time currently."