# OpenSearch upgrade leftover persistent settings

**URL:** <https://forum.opensearch.org/t/opensearch-upgrade-leftover-persistent-settings/10877>\
**Category:** Index Management\
**Created:** [September 9, 2022, 8:41am UTC](https://forum.opensearch.org/t/opensearch-upgrade-leftover-persistent-settings/10877 "2022-09-09T08:41:37Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![spapadop](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/spapadop/32/950_2.png) [@spapadop](https://forum.opensearch.org/u/spapadop)\
**Post date:** [September 9, 2022, 8:41am UTC](https://forum.opensearch.org/t/opensearch-upgrade-leftover-persistent-settings/10877/1 "2022-09-09T08:41:37Z")

</div>

Hello,

After OpenSearch upgrade we note that these entries have been added to the persistent settings of the clusters:

```auto
{
  "persistent" : {
    "plugins" : {
      "index_state_management" : {
        "metadata_migration" : {
          "status" : "1"
        },
        "template_migration" : {
          "control" : "-1"
        }
      }
    }
...
}

```

I haven’t found any documentation around them but I guess they were used to coordinate the migration. May I delete them now that clusters are happily upgraded? Is there any documentation around these that I missed? Many thanks in advance.

---

<div class="post-metadata">

**Author:** ![faabsen](https://avatars.discourse-cdn.com/v4/letter/f/3bc359/32.png) [@faabsen](https://forum.opensearch.org/u/faabsen)\
**Post date:** [January 19, 2023, 9:45am UTC](https://forum.opensearch.org/t/opensearch-upgrade-leftover-persistent-settings/10877/2 "2023-01-19T09:45:12Z")

</div>

Have the same question, anybody has more information about this?

---

<div class="post-metadata">

**Author:** ![luicir](https://avatars.discourse-cdn.com/v4/letter/l/c0e974/32.png) [@luicir](https://forum.opensearch.org/u/luicir)\
**Post date:** [February 13, 2023, 4:22pm UTC](https://forum.opensearch.org/t/opensearch-upgrade-leftover-persistent-settings/10877/3 "2023-02-13T16:22:07Z")

</div>

following, any updates?

---

<div class="post-metadata">

**Author:** ![mouse](https://avatars.discourse-cdn.com/v4/letter/m/898d66/32.png) [@mouse](https://forum.opensearch.org/u/mouse)\
**Post date:** [March 7, 2023, 3:43am UTC](https://forum.opensearch.org/t/opensearch-upgrade-leftover-persistent-settings/10877/4 "2023-03-07T03:43:23Z")

</div>

Hi,  
I join the question

In a freshly deployed cluster, there is only one option:

```auto
GET _cluster/settings?flat_settings
...
{
   "persistent": {
     "plugins.index_state_management.template_migration.control": "-1"
   },
   "transient": {}
}

```

In the cluster log I constantly see the lines

```auto
[2023-03-07T06:31:48,899][INFO][o.o.a.u.d.DestinationMigrationCoordinator] [node-data201] Detected cluster change event for destination migration
[2023-03-07T06:35:03,630][INFO][o.o.a.u.d.DestinationMigrationCoordinator] [node-data201] Detected cluster change event for destination migration
[2023-03-07T06:35:04,182][INFO][o.o.a.u.d.DestinationMigrationCoordinator] [node-data201] Detected cluster change event for destination migration

```

In existing clusters, two parameters as @spapadop wrote and the same lines in the log, although all nodes have long been updated and work

---

<div class="post-metadata">

**Author:** ![spapadop](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/spapadop/32/950_2.png) [@spapadop](https://forum.opensearch.org/u/spapadop)\
**Post date:** [September 1, 2023, 1:03pm UTC](https://forum.opensearch.org/t/opensearch-upgrade-leftover-persistent-settings/10877/5 "2023-09-01T13:03:58Z")

</div>

Yes, I also tried to remove that setting with:

```auto
PUT _cluster/settings
{
  "persistent": {
    "plugins": {
      "index_state_management": {
        "metadata_migration": {
          "status": null
        },
        "template_migration": {
          "control": null
        }
      }
    }
  }
}

```

And indeed, after a while `plugins.index_state_management.template_migration.control` comes back:

```auto
{
  "persistent": {
    "plugins": {
      "index_state_management": {
        "metadata_migration": {
          "status": "1"
        },
        "template_migration": {
          "control": "-1"
        }
      }
    }
  },
  "transient": {}
}

```

And as @mouse said, these destination migration logs never disappear:

```auto
[2023-09-01T14:58:41,560][INFO][o.o.a.u.d.DestinationMigrationCoordinator] [node1] Detected cluster change event for destination migration
[2023-09-01T14:58:42,054][INFO][o.o.a.u.d.DestinationMigrationCoordinator] [node1] Detected cluster change event for destination migration
[2023-09-01T14:58:42,072][INFO][o.o.a.u.d.DestinationMigrationCoordinator] [node1] Detected cluster change event for destination migration
[2023-09-01T14:59:38,094][INFO][o.o.c.s.ClusterSettings] [node1] updating [plugins.index_state_management.template_migration.control] from [0] to [-1]
[2023-09-01T14:59:38,097][INFO][o.o.a.u.d.DestinationMigrationCoordinator] [node1] Detected cluster change event for destination migration
[2023-09-01T15:01:08,007][INFO][o.o.a.u.d.DestinationMigrationCoordinator] [node1] Detected cluster change event for destination migration
[2023-09-01T15:01:51,324][INFO][o.o.c.s.ClusterSettings] [node1] updating [plugins.index_state_management.template_migration.control] from [-1] to [0]
[2023-09-01T15:01:51,327][INFO][o.o.a.u.d.DestinationMigrationCoordinator] [node1] Detected cluster change event for destination migration

```

---

<div class="post-metadata">

**Author:** ![spapadop](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/spapadop/32/950_2.png) [@spapadop](https://forum.opensearch.org/u/spapadop)\
**Post date:** [October 10, 2023, 12:34pm UTC](https://forum.opensearch.org/t/opensearch-upgrade-leftover-persistent-settings/10877/6 "2023-10-10T12:34:18Z")

</div>

I have opened a [github issue](https://github.com/opensearch-project/alerting/issues/1183) so that this is followed up there.

---

<div class="post-metadata">

**Author:** ![merlinz01](https://avatars.discourse-cdn.com/v4/letter/m/b77776/32.png) [@merlinz01](https://forum.opensearch.org/u/merlinz01)\
**Post date:** [June 25, 2025, 7:58pm UTC](https://forum.opensearch.org/t/opensearch-upgrade-leftover-persistent-settings/10877/7 "2025-06-25T19:58:53Z")

</div>

I’m seeing this on upgrading Opensearch from 2.19 to 3.1.

---

<div class="post-metadata">

**Author:** ![merlinz01](https://avatars.discourse-cdn.com/v4/letter/m/b77776/32.png) [@merlinz01](https://forum.opensearch.org/u/merlinz01)\
**Post date:** [June 25, 2025, 8:03pm UTC](https://forum.opensearch.org/t/opensearch-upgrade-leftover-persistent-settings/10877/8 "2025-06-25T20:03:31Z")

</div>

For a workaround see:

> <https://github.com/opensearch-project/OpenSearch/issues/18515>
>
> \### Describe the bug
> 
> After upgrading our clusters from 2.19.2 to version 3.0.0,… we cannot do any PUT requests to \_cluster/settings as it results with an error message:
> \`\`\`
> {
> "error": {
> "root\_cause": \[
> {
> "type": "settings\_exception",
> "reason": "unknown setting \[archived.plugins.index\_state\_management.metadata\_migration.status\] please check that any required plugins are installed, or check the breaking changes documentation for removed settings",
> "suppressed": \[
> {
> "type": "settings\_exception",
> "reason": "unknown setting \[archived.plugins.index\_state\_management.template\_migration.control\] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"
> }
> \]
> }
> \],
> "type": "settings\_exception",
> "reason": "unknown setting \[archived.plugins.index\_state\_management.metadata\_migration.status\] please check that any required plugins are installed, or check the breaking changes documentation for removed settings",
> "suppressed": \[
> {
> "type": "settings\_exception",
> "reason": "unknown setting \[archived.plugins.index\_state\_management.template\_migration.control\] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"
> }
> \]
> },
> "status": 400
> }
> \`\`\`
> 
> When using GET \_cluster/settings, I can see these archived settings but I cannot remove these settings in any way:
> \`\`\`
> "archived": {
> "plugins": {
> "index\_state\_management": {
> "metadata\_migration": {
> "status": "1"
> },
> "template\_migration": {
> "control": "-1"
> }
> }
> }
> }
> \`\`\`
> 
> Trying to set them to null:
> \`\`\`
> PUT \_cluster/settings
> {
> "persistent":{
> "archived.plugins.index\_state\_management.metadata\_migration.status": null,
> "archived.plugins.index\_state\_management.template\_migration.status": null
> }
> }
> {
> "error": {
> "root\_cause": \[
> {
> "type": "settings\_exception",
> "reason": "unknown setting \[archived.plugins.index\_state\_management.template\_migration.control\] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"
> }
> \],
> "type": "settings\_exception",
> "reason": "unknown setting \[archived.plugins.index\_state\_management.template\_migration.control\] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"
> },
> "status": 400
> }
> \`\`\`
> 
> And now we are stuck as we cannot reinstall opensearch-index-management temporarily to get rid of them. How can we resolve this issue? Would it be possible to make the archived settings validation more lax or offer a way to get rid of these settings?
> 
> \### Related component
> 
> Plugins
> 
> \### To Reproduce
> 
> Not sure how to reproduce exactly - I just know that we had indexes with ISM enabled in 2.19.2, then we upgraded to 3.0.0 (also, migrated from indexes to data streams during the upgrade) and now we cannot change cluster settings due to this bug.
> 
> 
> \### Expected behavior
> 
> Any cluster setting updates/changes are successful.
> 
> \### Additional Details
> 
> \*\*Plugins\*\*
> \[opensearch@opensearch-cluster-master-0 ~\]$ opensearch-plugin list
> opensearch-alerting
> opensearch-anomaly-detection
> opensearch-asynchronous-search
> opensearch-cross-cluster-replication
> opensearch-custom-codecs
> opensearch-flow-framework
> opensearch-geospatial
> opensearch-job-scheduler
> opensearch-knn
> opensearch-ltr
> opensearch-ml
> opensearch-neural-search
> opensearch-notifications
> opensearch-notifications-core
> opensearch-observability
> opensearch-performance-analyzer
> opensearch-reports-scheduler
> opensearch-security
> opensearch-security-analytics
> opensearch-skills
> opensearch-sql
> opensearch-system-templates
> prometheus-exporter
> query-insights
> repository-azure
> 
> \*\*Screenshots\*\*
> 
> 
> \*\*Host/Environment (please complete the following information):\*\*
> - OS: Azure AKS cluster with Ubuntu 22.04.5 LTS nodes
> - Version: 3.0.0
> 
> \*\*Additional context\*\*
> Can provide additional information if needed.
