# Error Migration 8.19.12 -\> 9.1.3

**URL:** <https://discuss.elastic.co/t/error-migration-8-19-12-9-1-3/385410>\
**Category:** Elasticsearch\
**Tags:** migration, snapshot-and-restore\
**Created:** [March 11, 2026, 9:35am UTC](https://discuss.elastic.co/t/error-migration-8-19-12-9-1-3/385410 "2026-03-11T09:35:20Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![M1ghty1](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/m1ghty1/32/146893_2.png) [@M1ghty1](https://discuss.elastic.co/u/M1ghty1)\
**Post date:** [March 11, 2026, 9:35am UTC](https://discuss.elastic.co/t/error-migration-8-19-12-9-1-3/385410/1 "2026-03-11T09:35:20Z")

</div>

I am currently migrating from elasticsearch 8.19.12 to 9.1.3.

I fixed the issues in upgrade assistant in 8.19.12, created a snapshot which is valid (status = SUCCESS). But when i try to import the snapshot in 9.1.3 i get this error:

I’ve tried almost everything claude told me 😉 But it just doesn’t work

Is this maybe a known bug? What can i to?

```auto
[2026-03-11T10:15:49,980][WARN][o.e.s.RestoreService] [XXXXXXX] [FlowRepo:snapshot_8_19_12_manual_new] failed to restore snapshot 

org.elasticsearch.gateway.CorruptStateException: checksums do not match read [3900765404] but expected [1685756181] 

            at org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat$DeserializeMetaBlobInputStream.verifyFooter(ChecksumBlobStoreFormat.java:295) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.deserialize(ChecksumBlobStoreFormat.java:190) ~[elasticsearch-9.1.3.jar: ?]

            at org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.read(ChecksumBlobStoreFormat.java:125) ~[elasticsearch-9.1.3.jar :?]

            at org.elasticsearch.repositories.blobstore.BlobStoreRepository.getSnapshotIndexMetaData(BlobStoreRepository.java:2054) ~[elasticsearch-9.1.3.ja r:?]

            at org.elasticsearch.snapshots.RestoreService.startRestore(RestoreService.java:494) ~[elasticsearch-9.1.3.j ar:?]

            at org.elasticsearch.snapshots.RestoreService.lambda$restoreSnapshot$8(RestoreService.java:312) ~[elasticsearch-9.1.3. jar:?]

            at org.elasticsearch.action.ActionListenerImplementations$ResponseWrappingActionListener.onResponse(ActionListenerImplementations.java:261) ~[elasticsearch-9.1.3 .jar:?]

            at org.elasticsearch.action.support.SubscribableListener$SuccessResult.complete(SubscribableListener.java:403) ~[elasticsearch-9.1. 3.jar:?]

            at org.elasticsearch.action.support.SubscribableListener.tryComplete(SubscribableListener.java:323) ~[elasticsearch-9.1 .3.jar:?]

            at org.elasticsearch.action.support.SubscribableListener.setResult(SubscribableListener.java:352) ~[elasticsearch-9. 1.3.jar:?]

            at org.elasticsearch.action.support.SubscribableListener.onResponse(SubscribableListener.java:259) ~[elasticsearch-9 .1.3.jar:?]

            at org.elasticsearch.repositories.Repository.lambda$getSnapshotInfo$1(Repository.java:124) ~[elasticsearch- 9.1.3.jar:?]

            at org.elasticsearch.repositories.blobstore.BlobStoreRepository.lambda$getSnapshotInfo$26(BlobStoreRepository.java:1983) ~[elasticsearch -9.1.3.jar:?]

            at org.elasticsearch.repositories.blobstore.GetSnapshotInfoContext.onResponse(GetSnapshotInfoContext.java:111) ~[elasticsearc h-9.1.3.jar:?]

            at org.elasticsearch.repositories.blobstore.BlobStoreRepository.lambda$getOneSnapshotInfo$27(BlobStoreRepository.java:2034) ~[elasticsear ch-9.1.3.jar:?]

            at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:977) ~[elasticsea rch-9.1.3.jar:?]

            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor. java:1095) ~[?:?]

            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecuto r.java:619) ~[?:?]

            at java.lang.Thread.run(Threa d.java:1447) ~[?:?]

            Suppressed: java.lang.IllegalArgumentException: Unexpected field [transport_version]

                        at org.elasticsearch.cluster.metadata.IndexMetadata$Builder.fromXContent(IndexMetadata.java:2779) ~[elast icsearch-9.1.3.jar:?]

                        at org.elasticsearch.cluster.metadata.IndexMetadata$Builder.fromXContent(IndexMetadata.java:2633) ~[elas ticsearch-9.1.3.jar:?]

                        at org.elasticsearch.cluster.metadata.IndexMetadata.fromXContent(IndexMetadata.java:1537) ~[ela sticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.blobstore.BlobStoreRepository.lambda$static$2(BlobStoreRepository.java:378) ~[el asticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.deserialize(ChecksumBlobStoreFormat.java:168) ~[e lasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.read(ChecksumBlobStoreFormat.java:125) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.blobstore.BlobStoreRepository.getSnapshotIndexMetaData(BlobStoreRepository.java:2054) ~ [elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.snapshots.RestoreService.startRestore(RestoreService.java:494) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.snapshots.RestoreService.lambda$restoreSnapshot$8(RestoreService.java:312) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.action.ActionListenerImplementations$ResponseWrappingActionListener.onResponse(ActionListenerImplementations.java:261 ) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.action.support.SubscribableListener$SuccessResult.complete(SubscribableListener.java:40 3) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.action.support.SubscribableListener.tryComplete(SubscribableListener.java:3 23) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.action.support.SubscribableListener.setResult(SubscribableListener.java: 352) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.action.support.SubscribableListener.onResponse(SubscribableListener.java :259) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.Repository.lambda$getSnapshotInfo$1(Repository.jav a:124) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.blobstore.BlobStoreRepository.lambda$getSnapshotInfo$26(BlobStoreRepository.jav a:1983) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.blobstore.GetSnapshotInfoContext.onResponse(GetSnapshotInfoContext.j ava:111) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.blobstore.BlobStoreRepository.lambda$getOneSnapshotInfo$27(BlobStoreRepository.j ava:2034) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext .java:977) ~[elasticsearch-9.1.3.jar:?]

                        at java.util.concurrent.ThreadPoolExecutor.runWor ker(ThreadPoolExecutor.java:1095) ~[?:?]

                        at java.util.concurrent.ThreadPoolExecutor$Worke r.run(ThreadPoolExecutor.java:619) ~[?:?]

                        at jav a.lang.Thread.run(Thread.java:1447) ~[?:?]

[2026-03-11T10:15:49,986][WARN][r.suppressed] [XXXXXXX] path: /_snapshot/FlowRepo/snapshot_8_19_12_manual_new/_restore, params: {repository=FlowRepo, snapsho t=snapshot_8_19_12_manual_new}, status: 500

org.elasticsearch.gateway.CorruptStateException: checksums do not match read [3900765404] but expected [1685756181]

            at org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat$DeserializeMetaBlobInputStream.verifyFooter(ChecksumBlobStore Format.java:295) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.deserialize(ChecksumBlobStor eFormat.java:190) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.read(ChecksumBlobSto reFormat.java:125) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.repositories.blobstore.BlobStoreRepository.getSnapshotIndexMetaData(BlobStoreRe pository.java:2054) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.snapshots.RestoreService.startRestore(Rest oreService.java:494) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.snapshots.RestoreService.lambda$restoreSnapshot$8(Res toreService.java:312) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.action.ActionListenerImplementations$ResponseWrappingActionListener.onResponse(ActionListenerImp lementations.java:261) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.action.support.SubscribableListener$SuccessResult.complete(Subscri bableListener.java:403) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.action.support.SubscribableListener.tryComplete(Subscr ibableListener.java:323) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.action.support.SubscribableListener.setResult(Subsc ribableListener.java:352) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.action.support.SubscribableListener.onResponse(Subs cribableListener.java:259) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.repositories.Repository.lambda$getSnapshot Info$1(Repository.java:124) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.repositories.blobstore.BlobStoreRepository.lambda$getSnapshotInfo$26(Bl obStoreRepository.java:1983) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.repositories.blobstore.GetSnapshotInfoContext.onResponse(Get SnapshotInfoContext.java:111) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.repositories.blobstore.BlobStoreRepository.lambda$getOneSnapshotInfo$27( BlobStoreRepository.java:2034) ~[elasticsearch-9.1.3.jar:?]

            at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunna ble.run(ThreadContext.java:977) ~[elasticsearch-9.1.3.jar:?]

            at java.util.concurrent.Thre adPoolExecutor.runWorker(ThreadPoolExecutor.java:1095) ~[?:?]

            at java.util.concurrent.Thr eadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619) ~[?:?] 

            at java.lang.Thread.run(Thread.java:1447) ~[?:?]

            Suppressed: java.lan g.IllegalArgumentException: Unexpected field [transport_version]

                        at org.elasticsearch.cluster.metadata.IndexMetadata$Builder.f romXContent(IndexMetadata.java:2779) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.cluster.metadata.IndexMetadata$Builder. fromXContent(IndexMetadata.java:2633) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.cluster.metadata.IndexMetadata .fromXContent(IndexMetadata.java:1537) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.blobstore.BlobStoreRepository.lambda $static$2(BlobStoreRepository.java:378) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.deser ialize(ChecksumBlobStoreFormat.java:168) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.blobstore.ChecksumBlobStoreForm at.read(ChecksumBlobStoreFormat.java:125) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.blobstore.BlobStoreRepository.getSnapshotIn dexMetaData(BlobStoreRepository.java:2054) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.snapshots.RestoreSe rvice.startRestore(RestoreService.java:494) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.snapshots.RestoreService.lambd a$restoreSnapshot$8(RestoreService.java:312) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.action.ActionListenerImplementations$ResponseWrappingActionListener.onRes ponse(ActionListenerImplementations.java:261) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.action.support.SubscribableListener$Success Result.complete(SubscribableListener.java:403) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.action.support.SubscribableList ener.tryComplete(SubscribableListener.java:323) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.action.support.SubscribableL istener.setResult(SubscribableListener.java:352) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.action.support.SubscribableL istener.onResponse(SubscribableListener.java:259) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.Reposi tory.lambda$getSnapshotInfo$1(Repository.java:124) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.blobstore.BlobStoreRepository.lambd a$getSnapshotInfo$26(BlobStoreRepository.java:1983) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.blobstore.GetSnapshotInf oContext.onResponse(GetSnapshotInfoContext.java:111) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.repositories.blobstore.BlobStoreRepository.lambda $getOneSnapshotInfo$27(BlobStoreRepository.java:2034) ~[elasticsearch-9.1.3.jar:?]

                        at org.elasticsearch.common.util.concurrent.ThreadContext $ContextPreservingRunnable.run(ThreadContext.java:977) ~[elasticsearch-9.1.3.jar:?]

                        at ja va.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095) ~[?:?]

                        at j ava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6 19) ~[?:?]

                        at java.lang.Thread.run(Thread.java:1447) ~[?:?]

```

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [March 11, 2026, 10:30am UTC](https://discuss.elastic.co/t/error-migration-8-19-12-9-1-3/385410/2 "2026-03-11T10:30:45Z")

</div>

8.19.12 was released `2026-02-26` but 9.1.3 was released `2025-08-28` so that’s essentially a downgrade and not expected to work. You need to upgrade to a chronologically-later version.

---

<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:** [March 11, 2026, 11:27am UTC](https://discuss.elastic.co/t/error-migration-8-19-12-9-1-3/385410/3 "2026-03-11T11:27:28Z")

</div>

This means that users should always upgrade from the latest n-1 version to the latest version, right?  
Here upgrading to 9.3.1 would work.

---

<div class="post-metadata">

**Author:** ![M1ghty1](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/m1ghty1/32/146893_2.png) [@M1ghty1](https://discuss.elastic.co/u/M1ghty1)\
**Post date:** [March 11, 2026, 11:43am UTC](https://discuss.elastic.co/t/error-migration-8-19-12-9-1-3/385410/4 "2026-03-11T11:43:15Z")

</div>

thanks for the quick reply 🙂

Would it also be possible to downgrade first to 8.19.3 e.g. and then migrate to 9.1.3? I have a software that depends on 9.1.3

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [March 11, 2026, 12:04pm UTC](https://discuss.elastic.co/t/error-migration-8-19-12-9-1-3/385410/5 "2026-03-11T12:04:29Z")

</div>

> [@dadoonet](#):
>
> This means that users should always upgrade from the latest n-1 version to the latest version, right?

That’s certainly the simplest strategy yes, but in theory we might release a new 8.19 version with the corresponding 9.x version following some time later (typically only a few hours unless something goes awry during the release) so it’s best to check the dates.

> [@M1ghty1](#):
>
> Would it also be possible to downgrade first

No, downgrades don’t work. If your software works with 9.1.3 then it should also work with newer 9.x versions.

---

<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:** [March 11, 2026, 12:24pm UTC](https://discuss.elastic.co/t/error-migration-8-19-12-9-1-3/385410/6 "2026-03-11T12:24:55Z")

</div>

> [@DavidTurner](#):
>
> That’s certainly the simplest strategy yes, but in theory we might release a new 8.19 version with the corresponding 9.x version following some time later (typically only a few hours unless something goes awry during the release) so it’s best to check the dates.

That's indeed documented here: [Upgrade your deployment or cluster | Elastic Docs](https://www.elastic.co/docs/deploy-manage/upgrade/deployment-or-cluster#out-of-order-releases)

> Elastic maintains several minor versions of Elasticsearch at the same time. This means releases do not always happen in order of their version numbers. You can only upgrade to 9.3.1 if the version you are currently running meets both of these conditions:
> 
> - Has a lower version number than 9.3.1
> - Has an earlier release date than 9.3.1
> 
> If you are currently running a version with a lower version number but a later release date than 9.3.1, wait for a newer release before upgrading.
