From c45daf792dfa8eb161e3a94653349f3110dc66bd Mon Sep 17 00:00:00 2001 From: Vladimir Steshin Date: Mon, 4 May 2026 15:19:18 +0300 Subject: [PATCH 1/6] fix ServiceSingleNodeDeploymentResult --- .../SnapshotRestoreOperationResponse.java | 9 +-- .../service/ServiceDeploymentTask.java | 8 +- .../ServiceSingleNodeDeploymentResult.java | 79 +++---------------- 3 files changed, 15 insertions(+), 81 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreOperationResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreOperationResponse.java index 223497a830363..303a121b2f868 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreOperationResponse.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreOperationResponse.java @@ -38,11 +38,8 @@ public class SnapshotRestoreOperationResponse implements MarshallableMessage { byte[] ccfgsBytes; /** Snapshot metadata files on local node. */ - private List metas; - - /** */ @Order(1) - byte[] metasBytes; + List metas; /** Default constructor for {@link MessageFactory}. */ public SnapshotRestoreOperationResponse() { @@ -74,15 +71,11 @@ public List metadata() { /** {@inheritDoc} */ @Override public void prepareMarshal(Marshaller marsh) throws IgniteCheckedException { ccfgsBytes = U.marshal(marsh, ccfgs); - metasBytes = U.marshal(marsh, metas); } /** {@inheritDoc} */ @Override public void finishUnmarshal(Marshaller marsh, ClassLoader clsLdr) throws IgniteCheckedException { if (ccfgsBytes != null) ccfgs = U.unmarshal(marsh, ccfgsBytes, clsLdr); - - if (metasBytes != null) - metas = U.unmarshal(marsh, metasBytes, clsLdr); } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceDeploymentTask.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceDeploymentTask.java index ede3217390b29..3c24df5dc1835 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceDeploymentTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceDeploymentTask.java @@ -383,8 +383,7 @@ private void createAndSendSingleDeploymentsMessage(ServiceDeploymentProcessId de Map results = new HashMap<>(); for (IgniteUuid srvcId : depServicesIds) { - ServiceSingleNodeDeploymentResult depRes = new ServiceSingleNodeDeploymentResult( - srvcProc.localInstancesCount(srvcId), log); + ServiceSingleNodeDeploymentResult depRes = new ServiceSingleNodeDeploymentResult(srvcProc.localInstancesCount(srvcId)); depRes.errors(errors.get(srvcId)); @@ -395,8 +394,7 @@ private void createAndSendSingleDeploymentsMessage(ServiceDeploymentProcessId de if (results.containsKey(srvcId)) return; - ServiceSingleNodeDeploymentResult depRes = new ServiceSingleNodeDeploymentResult( - srvcProc.localInstancesCount(srvcId), log); + ServiceSingleNodeDeploymentResult depRes = new ServiceSingleNodeDeploymentResult(srvcProc.localInstancesCount(srvcId)); depRes.errors(err); @@ -639,7 +637,7 @@ private Collection buildFullDeploymentsResults( if (cnt == 0 && res.errors().isEmpty()) return; - ServiceSingleNodeDeploymentResult singleDepRes = new ServiceSingleNodeDeploymentResult(cnt, log); + ServiceSingleNodeDeploymentResult singleDepRes = new ServiceSingleNodeDeploymentResult(cnt); if (!res.errors().isEmpty()) singleDepRes.errors(res.errors()); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceSingleNodeDeploymentResult.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceSingleNodeDeploymentResult.java index ad92ea54f8ca5..10ceefb8284aa 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceSingleNodeDeploymentResult.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceSingleNodeDeploymentResult.java @@ -18,17 +18,13 @@ package org.apache.ignite.internal.processors.service; import java.io.Serializable; -import java.util.ArrayList; import java.util.Collection; -import org.apache.ignite.IgniteCheckedException; -import org.apache.ignite.IgniteLogger; -import org.apache.ignite.internal.MarshallableMessage; +import java.util.Collections; import org.apache.ignite.internal.Order; +import org.apache.ignite.internal.managers.communication.ErrorMessage; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.S; -import org.apache.ignite.internal.util.typedef.internal.U; -import org.apache.ignite.marshaller.Marshaller; -import org.jetbrains.annotations.NotNull; +import org.apache.ignite.plugin.extensions.communication.Message; import org.jetbrains.annotations.Nullable; /** @@ -36,7 +32,7 @@ *

* Contains count of deployed service instances on single node and deployment errors if exist. */ -public class ServiceSingleNodeDeploymentResult implements MarshallableMessage, Serializable { +public class ServiceSingleNodeDeploymentResult implements Message, Serializable { /** */ private static final long serialVersionUID = 0L; @@ -45,28 +41,21 @@ public class ServiceSingleNodeDeploymentResult implements MarshallableMessage, S int cnt; /** Exceptions. */ - private @Nullable Collection errors; - - /** Serialized {@link #errors}. */ @Order(1) - @Nullable Collection errorsBytes; - - /** Logger. */ - private IgniteLogger log; + @Nullable Collection errors; /** * Empty constructor for marshalling purposes. */ public ServiceSingleNodeDeploymentResult() { + // No-op. } /** * @param cnt Count of service's instances. - * @param log Logger. */ - public ServiceSingleNodeDeploymentResult(int cnt, IgniteLogger log) { + public ServiceSingleNodeDeploymentResult(int cnt) { this.cnt = cnt; - this.log = log; } /** @@ -79,62 +68,16 @@ public int count() { /** * @return Exceptions. */ - public @NotNull Collection errors() { - return F.emptyIfNull(errors); + public Collection errors() { + return F.isEmpty(errors) ? Collections.emptyList() : F.viewReadOnly(errors, em -> ErrorMessage.error(em)); } /** * @param errors Exceptions. */ public void errors(@Nullable Collection errors) { - this.errors = errors; - } - - /** {@inheritDoc} */ - @Override public void prepareMarshal(Marshaller marsh) throws IgniteCheckedException { - if (F.isEmpty(errors)) - return; - - errorsBytes = new ArrayList<>(); - - for (Throwable th : errors) { - try { - errorsBytes.add(U.marshal(marsh, th)); - } - catch (IgniteCheckedException e) { - log.error("Failed to marshal deployment error, err=" + th, e); - - try { - byte[] arr = U.marshal( - marsh, - new IgniteCheckedException("Failed to marshal deployment error, see server logs for details, err=" + th) - ); - - errorsBytes.add(arr); - } - catch (IgniteCheckedException ex) { - log.error("Failed to attach deployment error information to deployment result message", ex); - } - } - } - } - - /** {@inheritDoc} */ - @Override public void finishUnmarshal(Marshaller marsh, ClassLoader clsLdr) throws IgniteCheckedException { - if (errorsBytes != null && errors == null) { - errors = new ArrayList<>(); - - for (byte[] arr : errorsBytes) { - try { - errors.add(U.unmarshal(marsh, arr, clsLdr)); - } - catch (IgniteCheckedException e) { - U.error(null, "Failed to unmarshal deployment error.", e); - - errors.add(new IgniteCheckedException("Failed to unmarshal deployment error, see server logs for details.")); - } - } - } + if (!F.isEmpty(errors)) + this.errors = F.viewReadOnly(errors, ErrorMessage::new); } /** {@inheritDoc} */ From f867ade4848b01c22860be9bc8144db13d60a60a Mon Sep 17 00:00:00 2001 From: Vladimir Steshin Date: Tue, 5 May 2026 11:31:36 +0300 Subject: [PATCH 2/6] minor --- .../snapshot/SnapshotCompressionBasicTest.java | 11 ++++++++++- .../snapshot/SnapshotRestoreOperationResponse.java | 5 +++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/modules/compress/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotCompressionBasicTest.java b/modules/compress/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotCompressionBasicTest.java index ae0c2da94d243..55cffb0c5d6ea 100644 --- a/modules/compress/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotCompressionBasicTest.java +++ b/modules/compress/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotCompressionBasicTest.java @@ -43,6 +43,7 @@ import org.apache.ignite.IgniteException; import org.apache.ignite.cache.QueryEntity; import org.apache.ignite.cache.QueryIndex; +import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction; import org.apache.ignite.cluster.ClusterState; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.DiskPageCompression; @@ -329,6 +330,8 @@ protected void createTestSnapshot() throws Exception { else cfg.setDiskPageCompression(DiskPageCompression.DISABLED); + cfg.setAffinity(new RendezvousAffinityFunction(4, null)); + return cfg; }).toArray(CacheConfiguration[]::new); @@ -434,16 +437,22 @@ protected long directorySize(Path path, String pattern) { return 0; try (Stream walk = Files.walk(path)) { - return walk.filter(Files::isRegularFile) + long res = walk.filter(Files::isRegularFile) .filter(f -> F.isEmpty(pattern) || f.getFileName().toString().matches(pattern)) .mapToLong(p -> { try (FileIO fio = new RandomAccessFileIO(p.toFile(), StandardOpenOption.READ)) { + System.err.println("TEST | fsize, f=" + p.toFile() + ", size = " + fio.getSparseSize()); + return fio.getSparseSize(); } catch (IOException e) { throw new RuntimeException(e); } }).sum(); + + System.err.println("TEST | dirSize, path=" + path + ", size = " + res); + + return res; } catch (IOException e) { throw new IgniteException(e); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreOperationResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreOperationResponse.java index 303a121b2f868..1c2fc5de9c0c0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreOperationResponse.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreOperationResponse.java @@ -75,7 +75,8 @@ public List metadata() { /** {@inheritDoc} */ @Override public void finishUnmarshal(Marshaller marsh, ClassLoader clsLdr) throws IgniteCheckedException { - if (ccfgsBytes != null) - ccfgs = U.unmarshal(marsh, ccfgsBytes, clsLdr); + ccfgs = U.unmarshal(marsh, ccfgsBytes, clsLdr); + + ccfgsBytes = null; } } From 94fe83d54dc23524d4d2d1b1d2b1f6aeacf76424 Mon Sep 17 00:00:00 2001 From: Vladimir Steshin Date: Tue, 5 May 2026 13:56:29 +0300 Subject: [PATCH 3/6] revert service refact. --- .../SnapshotCompressionBasicTest.java | 11 +-- .../snapshot/SnapshotMetadata.java | 9 ++- .../service/ServiceDeploymentTask.java | 8 +- .../ServiceSingleNodeDeploymentResult.java | 79 ++++++++++++++++--- 4 files changed, 79 insertions(+), 28 deletions(-) diff --git a/modules/compress/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotCompressionBasicTest.java b/modules/compress/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotCompressionBasicTest.java index 55cffb0c5d6ea..ae0c2da94d243 100644 --- a/modules/compress/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotCompressionBasicTest.java +++ b/modules/compress/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotCompressionBasicTest.java @@ -43,7 +43,6 @@ import org.apache.ignite.IgniteException; import org.apache.ignite.cache.QueryEntity; import org.apache.ignite.cache.QueryIndex; -import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction; import org.apache.ignite.cluster.ClusterState; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.DiskPageCompression; @@ -330,8 +329,6 @@ protected void createTestSnapshot() throws Exception { else cfg.setDiskPageCompression(DiskPageCompression.DISABLED); - cfg.setAffinity(new RendezvousAffinityFunction(4, null)); - return cfg; }).toArray(CacheConfiguration[]::new); @@ -437,22 +434,16 @@ protected long directorySize(Path path, String pattern) { return 0; try (Stream walk = Files.walk(path)) { - long res = walk.filter(Files::isRegularFile) + return walk.filter(Files::isRegularFile) .filter(f -> F.isEmpty(pattern) || f.getFileName().toString().matches(pattern)) .mapToLong(p -> { try (FileIO fio = new RandomAccessFileIO(p.toFile(), StandardOpenOption.READ)) { - System.err.println("TEST | fsize, f=" + p.toFile() + ", size = " + fio.getSparseSize()); - return fio.getSparseSize(); } catch (IOException e) { throw new RuntimeException(e); } }).sum(); - - System.err.println("TEST | dirSize, path=" + path + ", size = " + res); - - return res; } catch (IOException e) { throw new IgniteException(e); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotMetadata.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotMetadata.java index b07650905b92e..b09d0d798c7cb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotMetadata.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotMetadata.java @@ -125,18 +125,19 @@ public class SnapshotMetadata implements Message, Serializable { @Nullable transient Set comprGrpIds; /** */ - private boolean hasComprGrps; + @Order(14) + boolean hasComprGrps; /** If {@code true} snapshot only primary copies of partitions. */ - @Order(14) + @Order(15) boolean onlyPrimary; /** If {@code true} cache group dump stored. */ - @Order(15) + @Order(16) boolean dump; /** Encryption key. */ - @Order(16) + @Order(17) @Nullable byte[] encKey; /** Empty constructor for a {@link MessageFactory}. */ diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceDeploymentTask.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceDeploymentTask.java index 3c24df5dc1835..ede3217390b29 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceDeploymentTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceDeploymentTask.java @@ -383,7 +383,8 @@ private void createAndSendSingleDeploymentsMessage(ServiceDeploymentProcessId de Map results = new HashMap<>(); for (IgniteUuid srvcId : depServicesIds) { - ServiceSingleNodeDeploymentResult depRes = new ServiceSingleNodeDeploymentResult(srvcProc.localInstancesCount(srvcId)); + ServiceSingleNodeDeploymentResult depRes = new ServiceSingleNodeDeploymentResult( + srvcProc.localInstancesCount(srvcId), log); depRes.errors(errors.get(srvcId)); @@ -394,7 +395,8 @@ private void createAndSendSingleDeploymentsMessage(ServiceDeploymentProcessId de if (results.containsKey(srvcId)) return; - ServiceSingleNodeDeploymentResult depRes = new ServiceSingleNodeDeploymentResult(srvcProc.localInstancesCount(srvcId)); + ServiceSingleNodeDeploymentResult depRes = new ServiceSingleNodeDeploymentResult( + srvcProc.localInstancesCount(srvcId), log); depRes.errors(err); @@ -637,7 +639,7 @@ private Collection buildFullDeploymentsResults( if (cnt == 0 && res.errors().isEmpty()) return; - ServiceSingleNodeDeploymentResult singleDepRes = new ServiceSingleNodeDeploymentResult(cnt); + ServiceSingleNodeDeploymentResult singleDepRes = new ServiceSingleNodeDeploymentResult(cnt, log); if (!res.errors().isEmpty()) singleDepRes.errors(res.errors()); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceSingleNodeDeploymentResult.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceSingleNodeDeploymentResult.java index 10ceefb8284aa..ad92ea54f8ca5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceSingleNodeDeploymentResult.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceSingleNodeDeploymentResult.java @@ -18,13 +18,17 @@ package org.apache.ignite.internal.processors.service; import java.io.Serializable; +import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; +import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.IgniteLogger; +import org.apache.ignite.internal.MarshallableMessage; import org.apache.ignite.internal.Order; -import org.apache.ignite.internal.managers.communication.ErrorMessage; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.S; -import org.apache.ignite.plugin.extensions.communication.Message; +import org.apache.ignite.internal.util.typedef.internal.U; +import org.apache.ignite.marshaller.Marshaller; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** @@ -32,7 +36,7 @@ *

* Contains count of deployed service instances on single node and deployment errors if exist. */ -public class ServiceSingleNodeDeploymentResult implements Message, Serializable { +public class ServiceSingleNodeDeploymentResult implements MarshallableMessage, Serializable { /** */ private static final long serialVersionUID = 0L; @@ -41,21 +45,28 @@ public class ServiceSingleNodeDeploymentResult implements Message, Serializable int cnt; /** Exceptions. */ + private @Nullable Collection errors; + + /** Serialized {@link #errors}. */ @Order(1) - @Nullable Collection errors; + @Nullable Collection errorsBytes; + + /** Logger. */ + private IgniteLogger log; /** * Empty constructor for marshalling purposes. */ public ServiceSingleNodeDeploymentResult() { - // No-op. } /** * @param cnt Count of service's instances. + * @param log Logger. */ - public ServiceSingleNodeDeploymentResult(int cnt) { + public ServiceSingleNodeDeploymentResult(int cnt, IgniteLogger log) { this.cnt = cnt; + this.log = log; } /** @@ -68,16 +79,62 @@ public int count() { /** * @return Exceptions. */ - public Collection errors() { - return F.isEmpty(errors) ? Collections.emptyList() : F.viewReadOnly(errors, em -> ErrorMessage.error(em)); + public @NotNull Collection errors() { + return F.emptyIfNull(errors); } /** * @param errors Exceptions. */ public void errors(@Nullable Collection errors) { - if (!F.isEmpty(errors)) - this.errors = F.viewReadOnly(errors, ErrorMessage::new); + this.errors = errors; + } + + /** {@inheritDoc} */ + @Override public void prepareMarshal(Marshaller marsh) throws IgniteCheckedException { + if (F.isEmpty(errors)) + return; + + errorsBytes = new ArrayList<>(); + + for (Throwable th : errors) { + try { + errorsBytes.add(U.marshal(marsh, th)); + } + catch (IgniteCheckedException e) { + log.error("Failed to marshal deployment error, err=" + th, e); + + try { + byte[] arr = U.marshal( + marsh, + new IgniteCheckedException("Failed to marshal deployment error, see server logs for details, err=" + th) + ); + + errorsBytes.add(arr); + } + catch (IgniteCheckedException ex) { + log.error("Failed to attach deployment error information to deployment result message", ex); + } + } + } + } + + /** {@inheritDoc} */ + @Override public void finishUnmarshal(Marshaller marsh, ClassLoader clsLdr) throws IgniteCheckedException { + if (errorsBytes != null && errors == null) { + errors = new ArrayList<>(); + + for (byte[] arr : errorsBytes) { + try { + errors.add(U.unmarshal(marsh, arr, clsLdr)); + } + catch (IgniteCheckedException e) { + U.error(null, "Failed to unmarshal deployment error.", e); + + errors.add(new IgniteCheckedException("Failed to unmarshal deployment error, see server logs for details.")); + } + } + } } /** {@inheritDoc} */ From eacb7d85abd3ecfa6db6ff05cc1101d92eb3cfac Mon Sep 17 00:00:00 2001 From: Vladimir Steshin Date: Wed, 6 May 2026 01:42:35 +0300 Subject: [PATCH 4/6] fix --- .../cache/persistence/snapshot/SnapshotMetadata.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotMetadata.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotMetadata.java index b09d0d798c7cb..eabab8b503072 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotMetadata.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotMetadata.java @@ -121,23 +121,22 @@ public class SnapshotMetadata implements Message, Serializable { long snapshotTime; /** */ - @Order(13) @Nullable transient Set comprGrpIds; /** */ - @Order(14) + @Order(13) boolean hasComprGrps; /** If {@code true} snapshot only primary copies of partitions. */ - @Order(15) + @Order(14) boolean onlyPrimary; /** If {@code true} cache group dump stored. */ - @Order(16) + @Order(15) boolean dump; /** Encryption key. */ - @Order(17) + @Order(16) @Nullable byte[] encKey; /** Empty constructor for a {@link MessageFactory}. */ From b578a5a5f49f6856638d542f0baa58c23e3ca645 Mon Sep 17 00:00:00 2001 From: Vladimir Steshin Date: Wed, 6 May 2026 13:16:07 +0300 Subject: [PATCH 5/6] fix --- .../cache/persistence/snapshot/SnapshotMetadata.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotMetadata.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotMetadata.java index eabab8b503072..b09d0d798c7cb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotMetadata.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotMetadata.java @@ -121,22 +121,23 @@ public class SnapshotMetadata implements Message, Serializable { long snapshotTime; /** */ + @Order(13) @Nullable transient Set comprGrpIds; /** */ - @Order(13) + @Order(14) boolean hasComprGrps; /** If {@code true} snapshot only primary copies of partitions. */ - @Order(14) + @Order(15) boolean onlyPrimary; /** If {@code true} cache group dump stored. */ - @Order(15) + @Order(16) boolean dump; /** Encryption key. */ - @Order(16) + @Order(17) @Nullable byte[] encKey; /** Empty constructor for a {@link MessageFactory}. */ From 151a6d3564ddc02fcb4237f995670c7a30b6095b Mon Sep 17 00:00:00 2001 From: Vladimir Steshin Date: Thu, 7 May 2026 10:16:32 +0300 Subject: [PATCH 6/6] fix --- .../persistence/snapshot/SnapshotRestoreOperationResponse.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreOperationResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreOperationResponse.java index 1c2fc5de9c0c0..e4948be69b9ef 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreOperationResponse.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/SnapshotRestoreOperationResponse.java @@ -76,7 +76,5 @@ public List metadata() { /** {@inheritDoc} */ @Override public void finishUnmarshal(Marshaller marsh, ClassLoader clsLdr) throws IgniteCheckedException { ccfgs = U.unmarshal(marsh, ccfgsBytes, clsLdr); - - ccfgsBytes = null; } }