# Problem with upgrading to 9.0.0, index compability

**URL:** <https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614>\
**Category:** Elasticsearch\
**Created:** [April 29, 2025, 12:15pm UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614 "2025-04-29T12:15:49Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![mbooh](https://avatars.discourse-cdn.com/v4/letter/m/e495f1/32.png) [@mbooh](https://discuss.elastic.co/u/mbooh)\
**Post date:** [April 29, 2025, 12:15pm UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614/1 "2025-04-29T12:15:49Z")

</div>

Hi!

I'm trying to upgrade from 8.18 to 9.0 but I get a lot of these:

```auto
[2025-04-29T14:05:28,627][ERROR][o.e.b.Elasticsearch] [STHLM-KLARA-03] fatal exception while booting Elasticsearch
java.lang.IllegalStateException: The index [.kibana_task_manager_7.16.2_001/hz6nUaOdQLSrCSyNV8BdJQ] created in version [7.16.2] with current compatibility version [7.16.2] must be marked as read-only using the setting [index.blocks.write] set to [true] before upgrading to 9.0.0.
	at org.elasticsearch.cluster.metadata.IndexMetadataVerifier.isReadOnlySupportedVersion(IndexMetadataVerifier.java:180) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.cluster.metadata.IndexMetadataVerifier.checkSupportedVersion(IndexMetadataVerifier.java:126) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.cluster.metadata.IndexMetadataVerifier.verifyIndexMetadata(IndexMetadataVerifier.java:98) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.gateway.GatewayMetaState.upgradeMetadata(GatewayMetaState.java:298) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.gateway.GatewayMetaState.upgradeMetadataForNode(GatewayMetaState.java:285) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.gateway.GatewayMetaState.createOnDiskPersistedState(GatewayMetaState.java:193) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.gateway.GatewayMetaState.createPersistedState(GatewayMetaState.java:147) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.gateway.GatewayMetaState.start(GatewayMetaState.java:105) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.node.Node.start(Node.java:315) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.bootstrap.Elasticsearch.start(Elasticsearch.java:647) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.bootstrap.Elasticsearch.initPhase3(Elasticsearch.java:444) ~[elasticsearch-9.0.0.jar:?]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:101) ~[elasticsearch-9.0.0.jar:?]

```

Running this:

```auto
GET _cat/indices/.kibana_task_manager_7.16.2_001
DELETE /.kibana_task_manager_7.16.2_001

```

Gets me

```auto
 "type": "index_not_found_exception",
    "reason": "no such index [.kibana_task_manager_7.16.2_001]",

```

So it seems that there is no index but still the service won't start.  
How can I get Elastic to just skip these?

These are old indices that can be ignored.

Thanks!

/Kristoffer

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [April 29, 2025, 12:41pm UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614/2 "2025-04-29T12:41:53Z")

</div>

Did you run the [upgrade assistant](https://www.elastic.co/docs/deploy-manage/upgrade/prepare-to-upgrade/upgrade-assistant) before upgrading?

> The Upgrade Assistant also helps resolve issues with older indices created before version 8.0.0, providing options to reindex older indices or mark them as read-only.

---

<div class="post-metadata">

**Author:** ![mbooh](https://avatars.discourse-cdn.com/v4/letter/m/e495f1/32.png) [@mbooh](https://discuss.elastic.co/u/mbooh)\
**Post date:** [April 29, 2025, 1:03pm UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614/3 "2025-04-29T13:03:10Z")

</div>

Hi!

I looked at it but only found some issues about [xpack.monitoring.collection.enabled] will be removed. Nothing about incomaptible indexes. Should that be shown there?

If I create a snapshot of an old index, can that be restored after upgrade?

/Kristoffer

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [April 29, 2025, 1:18pm UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614/4 "2025-04-29T13:18:37Z")

</div>

> [@mbooh](#):
>
> Should that be shown there?

I guess it should, according to the documentation 😉

> If I create a snapshot of an old index, can that be restored after upgrade?

I think you can run an [update by query](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-update-by-query) in place so that will rewrite all documents using a recent version of Lucene.  
Then you can backup your index and restore it into your new cluster.

A reindex from remote would work as well if you have both clusters running at the same time.

---

<div class="post-metadata">

**Author:** ![elasticforme](https://avatars.discourse-cdn.com/v4/letter/e/f05b48/32.png) [@elasticforme](https://discuss.elastic.co/u/elasticforme)\
**Post date:** [April 29, 2025, 7:55pm UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614/5 "2025-04-29T19:55:37Z")

</div>

upgrade assistant is not showing this. I have 8.16 and it does not show anything. even though I have old .kibana index in cluster.

---

<div class="post-metadata">

**Author:** ![TimV](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/timv/32/13162_2.png) [@TimV](https://discuss.elastic.co/u/TimV)\
**Post date:** [April 30, 2025, 5:28am UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614/6 "2025-04-30T05:28:45Z")

</div>

> [@elasticforme](#):
>
> I have 8.16

You need to upgrade to 8.18 first and run the upgrade assistant from there. Upgrading from 8.16 directly to 9.0 is not supported.

---

<div class="post-metadata">

**Author:** ![Dheeraj\_Gupta](https://avatars.discourse-cdn.com/v4/letter/d/49beb7/32.png) [@Dheeraj\_Gupta](https://discuss.elastic.co/u/Dheeraj_Gupta)\
**Post date:** [May 19, 2025, 5:15am UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614/8 "2025-05-19T05:15:23Z")

</div>

Hi,

I have upgraded to 8.18.1 and Assistant does not show any problems.

But the upgrade to 9.0.0 fails because 2 legacy indexes were created with older versions.  
Once one node has been shut down and upgraded, setting those indexes to read-only has no effect, neither does deleting them. The node that was upgraded refuses to start up giving the above error (even though the indexes have been deleted).

Any ideas how to proceed?

---

<div class="post-metadata">

**Author:** ![Dheeraj\_Gupta](https://avatars.discourse-cdn.com/v4/letter/d/49beb7/32.png) [@Dheeraj\_Gupta](https://discuss.elastic.co/u/Dheeraj_Gupta)\
**Post date:** [May 19, 2025, 5:54am UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614/9 "2025-05-19T05:54:32Z")

</div>

OK, I think I have found the solution.

If you shut-down a node (for upgrade), then update the cluster (delete an index or set an index to read-only), and finally upgrade the shutdown node to 9.0, the shut-down node does not fetch fresh state from master on restart but tries to re-use whatever state it had for bootstrapping. This probably causes the errors to remain even though indices have been deleted from the cluster.

I fixed this by downgrading the node back to 8.18.1 and then restarting it. Once recovery is complete, you can start the rolling upgrade process again without any problem.

---

<div class="post-metadata">

**Author:** ![focus\_zheng](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/focus_zheng/32/110912_2.png) [@focus\_zheng](https://discuss.elastic.co/u/focus_zheng)\
**Post date:** [November 21, 2025, 8:40am UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614/10 "2025-11-21T08:40:26Z")

</div>

how did you fix the index compability issue?

---

<div class="post-metadata">

**Author:** ![Dheeraj\_Gupta](https://avatars.discourse-cdn.com/v4/letter/d/49beb7/32.png) [@Dheeraj\_Gupta](https://discuss.elastic.co/u/Dheeraj_Gupta)\
**Post date:** [November 21, 2025, 9:37am UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614/11 "2025-11-21T09:37:29Z")

</div>

Hi,

If I remember correctly, I just deleted the offending indexes as tose were old indexes and not in use.

---

<div class="post-metadata">

**Author:** ![mbooh](https://avatars.discourse-cdn.com/v4/letter/m/e495f1/32.png) [@mbooh](https://discuss.elastic.co/u/mbooh)\
**Post date:** [November 21, 2025, 9:58am UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614/12 "2025-11-21T09:58:08Z")

</div>

Yes, same for me. I needed to delete all old indexes

---

<div class="post-metadata">

**Author:** ![focus\_zheng](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/focus_zheng/32/110912_2.png) [@focus\_zheng](https://discuss.elastic.co/u/focus_zheng)\
**Post date:** [December 1, 2025, 8:30am UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614/13 "2025-12-01T08:30:20Z")

</div>

It is not acceptable for me to delete the old indices as they are useful in our applications

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [December 1, 2025, 8:34am UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614/14 "2025-12-01T08:34:32Z")

</div>

Which version are you upgrading from?

Which version of Elasticsearch were the indices you want to keep created under?

> [@focus\_zheng](#):
>
> It is not acceptable for me to delete the old indices as they are useful in our applications

Are you referring to system or custom indices?

---

<div class="post-metadata">

**Author:** ![RainTown](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/raintown/32/140206_2.png) [@RainTown](https://discuss.elastic.co/u/RainTown)\
**Post date:** [December 1, 2025, 10:22am UTC](https://discuss.elastic.co/t/problem-with-upgrading-to-9-0-0-index-compability/377614/15 "2025-12-01T10:22:57Z")

</div>

similar topic was covered in [this](https://discuss.elastic.co/t/cluster-will-not-start-after-upgrade-from-8-x-to-9-x/383690) thread

Are you 100% sure you have migrated or re-indexed all indices from 7.x or earlier? As was discussed in the thread, its easy-ish to miss things the Upgrade Assistant is telling you need done.

In the above thread there’s a long one liner that will show you the ES version the index was created with, for all indices.
