Error Migration 8.19.12 -> 9.1.3

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 :wink: But it just doesn’t work

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

[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) ~[?:?]


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.

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.

thanks for the quick reply :slight_smile:

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

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.

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

1 Like

That's indeed documented here: Upgrade your deployment or cluster | Elastic Docs

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.