Elasticsearch version : 6.8.11
Plugins installed: []
JVM version : 1.8.0_45
OS version : GNU/Linux
Description of the problem including expected versus actual behavior:
First the cluster version is 5.6.8, then we upgrade the cluster to 6.8.11. If we update cluster settings in the new cluster, it will throw the IllegalArgumentException:
"reason": "unknown setting [archived.indices.ttl.interval] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"
The reason is clear, there exists a setting in the ES5 cluster, which is archived in ES6 cluster. After upgrading to ES6, if we update the cluster setting , ES6 server will validate the archived settings:indices.ttl.interval and not ignore it, which will throw exception.
|
clusterSettings.validate(transientFinalSettings, true); |
As the result:
1.There doesn’t exist api which can be used to delete those cluster settings.
2.I will be unable to update any cluster settings in ES6.
Steps to reproduce:
step 1:
Push the cluster setting to ES5.6.8 cluster:
PUT _cluster/settings/admin/lc_gh_4
{
"persistent": {
"indices.ttl.interval":"6000s"
}
}
step 2:
Upgrade the cluster to 6.8.11
step 3:
Push the cluster setting to the cluster:
PUT _cluster/settings
{
"persistent": {
"cluster": {
"routing": {
"allocation": {
"cluster_concurrent_rebalance": "3"
}
}
}
}
}
ES will throw the exception
"reason": "unknown setting [archived.indices.ttl.interval] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"
Elasticsearch version : 6.8.11
Plugins installed: []
JVM version : 1.8.0_45
OS version : GNU/Linux
Description of the problem including expected versus actual behavior:
First the cluster version is 5.6.8, then we upgrade the cluster to 6.8.11. If we update cluster settings in the new cluster, it will throw the IllegalArgumentException:
The reason is clear, there exists a setting in the ES5 cluster, which is archived in ES6 cluster. After upgrading to ES6, if we update the cluster setting , ES6 server will validate the archived settings:
indices.ttl.intervaland not ignore it, which will throw exception.elasticsearch/server/src/main/java/org/elasticsearch/action/admin/cluster/settings/SettingsUpdater.java
Line 94 in 0f25694
As the result:
1.There doesn’t exist api which can be used to delete those cluster settings.
2.I will be unable to update any cluster settings in ES6.
Steps to reproduce:
step 1:
Push the cluster setting to ES5.6.8 cluster:
step 2:
Upgrade the cluster to 6.8.11
step 3:
Push the cluster setting to the cluster:
ES will throw the exception