This is an automated email from the ASF dual-hosted git repository.

anton-vinogradov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 938452eb63a IGNITE-28515 : Use MessageSerializer for QueryIndex 
(#13058)
938452eb63a is described below

commit 938452eb63a7646c9029a16c3e6a52aec2d51012
Author: Vladimir Steshin <[email protected]>
AuthorDate: Thu Apr 23 14:56:24 2026 +0300

    IGNITE-28515 : Use MessageSerializer for QueryIndex (#13058)
---
 .../internal/MessageSerializerGenerator.java       |  4 +-
 .../ignite/internal/CoreMessagesProvider.java      | 20 ++++--
 .../org/apache/ignite/internal/IgniteKernal.java   | 10 ++-
 .../internal/cache/query/QueryIndexMessage.java    | 81 ++++++++++++++++++++++
 ...AbstractMarshallableMessageFactoryProvider.java |  8 ++-
 .../processors/cache/GridCacheIoManager.java       |  2 +-
 .../internal/processors/query/QueryUtils.java      | 18 +++--
 .../operation/SchemaIndexCreateOperation.java      | 37 +++-------
 .../internal/codegen/MessageProcessorTest.java     | 35 ++++++++++
 .../direct/DirectMarshallingMessagesTest.java      |  2 +-
 .../IgniteCoreMessagesSerializationTest.java       |  2 +-
 .../communication/CompressedMessageTest.java       |  2 +-
 ...niteCacheContinuousQueryImmutableEntryTest.java |  2 +-
 .../GridAbstractCommunicationSelfTest.java         |  2 +-
 ...pCommunicationSpiConcurrentConnectSelfTest.java |  2 +-
 .../tcp/GridTcpCommunicationSpiConfigSelfTest.java |  2 +-
 ...idTcpCommunicationSpiMultithreadedSelfTest.java |  2 +-
 ...GridTcpCommunicationSpiRecoveryAckSelfTest.java |  2 +-
 .../GridTcpCommunicationSpiRecoverySelfTest.java   |  2 +-
 ...TcpCommunicationRecoveryAckClosureSelfTest.java |  2 +-
 .../spi/discovery/tcp/TestTcpDiscoverySpi.java     |  2 +-
 .../ignite/testframework/GridSpiTestContext.java   |  2 +-
 .../ignite/testframework/junits/IgniteMock.java    |  2 +-
 ...tMarshallableMessageMarshallableSerializer.java |  4 +-
 24 files changed, 184 insertions(+), 63 deletions(-)

diff --git 
a/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java
 
b/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java
index 893a1ccaa48..7874b5dcd8c 100644
--- 
a/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java
+++ 
b/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java
@@ -296,7 +296,7 @@ public class MessageSerializerGenerator {
 
                 indent++;
 
-                code.add(identedLine("throw new IgniteException(\"Failed to 
marshal object\" + msg.getClass().getSimpleName(), e);"));
+                code.add(identedLine("throw new IgniteException(\"Failed to 
marshal object \" + msg.getClass().getSimpleName(), e);"));
 
                 indent--;
 
@@ -957,7 +957,7 @@ public class MessageSerializerGenerator {
 
             indent++;
 
-            code.add(identedLine("throw new IgniteException(\"Failed to 
unmarshal object\" + msg.getClass().getSimpleName(), e);"));
+            code.add(identedLine("throw new IgniteException(\"Failed to 
unmarshal object \" + msg.getClass().getSimpleName(), e);"));
 
             indent--;
 
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/CoreMessagesProvider.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/CoreMessagesProvider.java
index aa5d1e210cb..ddab45f84d3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/CoreMessagesProvider.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/CoreMessagesProvider.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal;
 
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.internal.binary.BinaryMarshaller;
+import org.apache.ignite.internal.cache.query.QueryIndexMessage;
 import org.apache.ignite.internal.cache.query.index.IndexQueryResultMeta;
 import org.apache.ignite.internal.cache.query.index.sorted.IndexKeyDefinition;
 import 
org.apache.ignite.internal.cache.query.index.sorted.IndexKeyTypeSettings;
@@ -232,6 +233,7 @@ import 
org.apache.ignite.internal.util.distributed.InitMessage;
 import org.apache.ignite.internal.util.distributed.SingleNodeMessage;
 import org.apache.ignite.lang.IgniteProductVersion;
 import org.apache.ignite.marshaller.Marshaller;
+import org.apache.ignite.marshaller.jdk.JdkMarshaller;
 import org.apache.ignite.plugin.extensions.communication.Message;
 import org.apache.ignite.plugin.extensions.communication.MessageFactory;
 import org.apache.ignite.spi.collision.jobstealing.JobStealingRequest;
@@ -296,23 +298,28 @@ public class CoreMessagesProvider extends 
AbstractMarshallableMessageFactoryProv
     /**
      * Default plugin-purposes constructor.
      *
-     * @see #init(Marshaller, ClassLoader)
+     * @see #init(Marshaller, Marshaller, ClassLoader)
      */
     public CoreMessagesProvider() {
         // No-op.
     }
 
     /**
-     * Constructor allowing not to call {@link #init(Marshaller, ClassLoader)}.
+     * Constructor allowing not to call {@link #init(Marshaller, Marshaller, 
ClassLoader)}.
      *
+     * @param dfltMarsh Schema-less marshaller like {@link JdkMarshaller}.
      * @param schemaAwareMarsh Schema-aware marshaller like {@link 
BinaryMarshaller}.
      * @param resolvedClsLdr Resolved (configured) class loader like {@link 
IgniteConfiguration#setClassLoader(ClassLoader)}.
      */
-    public CoreMessagesProvider(Marshaller schemaAwareMarsh, ClassLoader 
resolvedClsLdr) {
-        init(schemaAwareMarsh, resolvedClsLdr);
+    public CoreMessagesProvider(Marshaller dfltMarsh, Marshaller 
schemaAwareMarsh, ClassLoader resolvedClsLdr) {
+        init(dfltMarsh, schemaAwareMarsh, resolvedClsLdr);
     }
 
-    /** The order is important. If wish to remove a message, put 'msgIdx++' on 
its place. */
+    /**
+     * Registers all the messages into {@code factory}.
+     * The listing order is important here. If wish to remove a message, put 
'msgIdx++' on its place. If wish to add,
+     * put it to end of a group.
+     */
     @Override public void registerAll(MessageFactory factory) {
         assert this.factory == null;
 
@@ -532,6 +539,7 @@ public class CoreMessagesProvider extends 
AbstractMarshallableMessageFactoryProv
         withNoSchema(SchemaProposeDiscoveryMessage.class);
         withNoSchema(SchemaFinishDiscoveryMessage.class);
         withNoSchema(QueryField.class);
+        withNoSchema(QueryIndexMessage.class);
         withNoSchema(GridCacheSqlQuery.class);
         withSchema(GridCacheQueryRequest.class);
         withSchema(GridCacheQueryResponse.class);
@@ -649,7 +657,7 @@ public class CoreMessagesProvider extends 
AbstractMarshallableMessageFactoryProv
         register(cls, schemaAwareMarsh, dftlClsLdr);
     }
 
-    /** Registers message using {@link #schemaAwareMarsh} and {@link 
#resolvedClsLdr}. */
+    /** Registers message using {@link #dfltMarsh} and {@link 
#resolvedClsLdr}. */
     private <T extends Message> void withNoSchemaResolvedClassLoader(Class<T> 
cls) {
         register(cls, dfltMarsh, resolvedClsLdr);
     }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index eff029b4dfb..437a9b254a0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -1318,14 +1318,18 @@ public class IgniteKernal implements IgniteEx, 
Externalizable {
 
         List<MessageFactoryProvider> compMsgs = new ArrayList<>();
 
-        compMsgs.add(new CoreMessagesProvider(ctx.marshaller(), 
U.resolveClassLoader(ctx.config())));
+        ClassLoader resolvedClsLdr = U.resolveClassLoader(ctx.config());
+
+        compMsgs.add(new 
CoreMessagesProvider(ctx.marshallerContext().jdkMarshaller(), ctx.marshaller(), 
resolvedClsLdr));
 
         for (IgniteComponentType compType : IgniteComponentType.values()) {
             MessageFactoryProvider f = compType.messageFactory();
 
             if (f != null) {
-                if (f instanceof AbstractMarshallableMessageFactoryProvider)
-                    
((AbstractMarshallableMessageFactoryProvider)f).init(ctx.marshaller(), 
U.resolveClassLoader(ctx.config()));
+                if (f instanceof AbstractMarshallableMessageFactoryProvider) {
+                    
((AbstractMarshallableMessageFactoryProvider)f).init(ctx.marshallerContext().jdkMarshaller(),
+                        ctx.marshaller(), resolvedClsLdr);
+                }
 
                 compMsgs.add(f);
             }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/cache/query/QueryIndexMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/cache/query/QueryIndexMessage.java
new file mode 100644
index 00000000000..c42415be029
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/cache/query/QueryIndexMessage.java
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.cache.query;
+
+import java.io.Serializable;
+import java.util.LinkedHashMap;
+import org.apache.ignite.cache.QueryIndex;
+import org.apache.ignite.cache.QueryIndexType;
+import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.util.tostring.GridToStringInclude;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.plugin.extensions.communication.Message;
+import org.apache.ignite.plugin.extensions.communication.MessageFactory;
+
+/** Message for {@link QueryIndex}. */
+public class QueryIndexMessage implements Serializable, Message {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /** Index name. */
+    @Order(0)
+    public String name;
+
+    /** */
+    @GridToStringInclude
+    @Order(1)
+    public LinkedHashMap<String, Boolean> fields;
+
+    /** */
+    @Order(2)
+    QueryIndexType type;
+
+    /** */
+    @Order(3)
+    int inlineSize;
+
+    /** Empty constructor for {@link MessageFactory}. */
+    public QueryIndexMessage() {
+        // No-op.
+    }
+
+    /** Copies {@code idx}. */
+    public QueryIndexMessage(QueryIndex idx) {
+        name = idx.getName();
+        fields = idx.getFields();
+        type = idx.getIndexType();
+        inlineSize = idx.getInlineSize();
+    }
+
+    /** @return Copy of {@code msg} as {@link QueryIndex}. */
+    public static QueryIndex queryIndex(QueryIndexMessage msg) {
+        QueryIndex res = new QueryIndex();
+
+        res.setName(msg.name);
+        res.setFields(msg.fields);
+        res.setIndexType(msg.type);
+        res.setInlineSize(msg.inlineSize);
+
+        return res;
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(QueryIndexMessage.class, this);
+    }
+}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/plugin/AbstractMarshallableMessageFactoryProvider.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/plugin/AbstractMarshallableMessageFactoryProvider.java
index 03a65b95b6e..5ac1f247299 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/plugin/AbstractMarshallableMessageFactoryProvider.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/plugin/AbstractMarshallableMessageFactoryProvider.java
@@ -24,7 +24,7 @@ import org.apache.ignite.internal.MarshallableMessage;
 import org.apache.ignite.internal.binary.BinaryMarshaller;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.marshaller.Marshaller;
-import org.apache.ignite.marshaller.Marshallers;
+import org.apache.ignite.marshaller.jdk.JdkMarshaller;
 import org.apache.ignite.plugin.extensions.communication.Message;
 import org.apache.ignite.plugin.extensions.communication.MessageFactory;
 import 
org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
@@ -36,7 +36,7 @@ import 
org.apache.ignite.plugin.extensions.communication.MessageSerializer;
  */
 public abstract class AbstractMarshallableMessageFactoryProvider implements 
MessageFactoryProvider {
     /** Default schema-less marshaller. */
-    protected final Marshaller dfltMarsh = Marshallers.jdk();
+    protected Marshaller dfltMarsh;
 
     /** Default class loader. */
     protected final ClassLoader dftlClsLdr = U.gridClassLoader();
@@ -48,10 +48,12 @@ public abstract class 
AbstractMarshallableMessageFactoryProvider implements Mess
     protected ClassLoader resolvedClsLdr;
 
     /**
+     * @param dfltMarsh Default schema-less marshaller like {@link 
JdkMarshaller}.
      * @param schemaAwareMarsh Schema-aware marshaller like {@link 
BinaryMarshaller}.
      * @param resolvedClsLdr Resolved (configured) class loader like {@link 
IgniteConfiguration#setClassLoader(ClassLoader)}.
      */
-    public void init(Marshaller schemaAwareMarsh, ClassLoader resolvedClsLdr) {
+    public void init(Marshaller dfltMarsh, Marshaller schemaAwareMarsh, 
ClassLoader resolvedClsLdr) {
+        this.dfltMarsh = dfltMarsh;
         this.schemaAwareMarsh = schemaAwareMarsh;
         this.resolvedClsLdr = resolvedClsLdr;
     }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
index 8d0ffbb168f..5c639d08b25 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
@@ -917,7 +917,7 @@ public class GridCacheIoManager extends 
GridCacheSharedManagerAdapter {
 
             break;
 
-            case 10910: {
+            case 10911: {
                 GridCacheQueryRequest req = (GridCacheQueryRequest)msg;
 
                 GridCacheQueryResponse res = new GridCacheQueryResponse(
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryUtils.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryUtils.java
index a815c4ce450..e2f829b5187 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryUtils.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryUtils.java
@@ -227,12 +227,22 @@ public class QueryUtils {
      * @return Index name.
      */
     public static String indexName(String tblName, QueryIndex idx) {
-        String res = idx.getName();
+        return indexName(tblName, idx.getName(), idx.getFields());
+    }
 
-        if (res == null) {
+    /**
+     * Get index name.
+     *
+     * @param tblName Table name.
+     * @param name Index name.
+     * @param fields Fields.
+     * @return Index name.
+     */
+    public static String indexName(String tblName, @Nullable String name, 
Map<String, Boolean> fields) {
+        if (name == null) {
             StringBuilder idxName = new StringBuilder(tblName + "_");
 
-            for (Map.Entry<String, Boolean> field : 
idx.getFields().entrySet()) {
+            for (Map.Entry<String, Boolean> field : fields.entrySet()) {
                 idxName.append(field.getKey());
 
                 idxName.append('_');
@@ -253,7 +263,7 @@ public class QueryUtils {
             return idxName.toString();
         }
 
-        return res;
+        return name;
     }
 
     /**
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/schema/operation/SchemaIndexCreateOperation.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/schema/operation/SchemaIndexCreateOperation.java
index bf044295e61..056ccaae028 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/schema/operation/SchemaIndexCreateOperation.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/schema/operation/SchemaIndexCreateOperation.java
@@ -18,20 +18,17 @@
 package org.apache.ignite.internal.processors.query.schema.operation;
 
 import java.util.UUID;
-import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.cache.QueryIndex;
-import org.apache.ignite.internal.MarshallableMessage;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.cache.query.QueryIndexMessage;
 import org.apache.ignite.internal.processors.query.QueryUtils;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.marshaller.Marshaller;
 
 /**
  * Schema index create operation.
  */
-public class SchemaIndexCreateOperation extends SchemaIndexAbstractOperation 
implements MarshallableMessage {
+public class SchemaIndexCreateOperation extends SchemaIndexAbstractOperation {
     /** */
     private static final long serialVersionUID = 0L;
 
@@ -41,11 +38,8 @@ public class SchemaIndexCreateOperation extends 
SchemaIndexAbstractOperation imp
 
     /** Index. */
     @GridToStringInclude
-    private QueryIndex idx;
-
-    /** Serialized form of 'query index'. */
     @Order(1)
-    transient byte[] qryIdxBytes;
+    QueryIndexMessage idxMsg;
 
     /** Ignore operation if index exists. */
     @Order(2)
@@ -56,7 +50,9 @@ public class SchemaIndexCreateOperation extends 
SchemaIndexAbstractOperation imp
     int parallel;
 
     /** */
-    public SchemaIndexCreateOperation() {}
+    public SchemaIndexCreateOperation() {
+        // No-op.
+    }
 
     /**
      * Constructor.
@@ -74,14 +70,14 @@ public class SchemaIndexCreateOperation extends 
SchemaIndexAbstractOperation imp
         super(opId, cacheName, schemaName);
 
         this.tblName = tblName;
-        this.idx = idx;
+        this.idxMsg = new QueryIndexMessage(idx);
         this.ifNotExists = ifNotExists;
         this.parallel = parallel;
     }
 
     /** {@inheritDoc} */
     @Override public String indexName() {
-        return QueryUtils.indexName(tblName, idx);
+        return QueryUtils.indexName(tblName, idxMsg.name, idxMsg.fields);
     }
 
     /**
@@ -95,7 +91,7 @@ public class SchemaIndexCreateOperation extends 
SchemaIndexAbstractOperation imp
      * @return Index params.
      */
     public QueryIndex index() {
-        return idx;
+        return QueryIndexMessage.queryIndex(idxMsg);
     }
 
     /**
@@ -114,21 +110,6 @@ public class SchemaIndexCreateOperation extends 
SchemaIndexAbstractOperation imp
         return parallel;
     }
 
-    /** {@inheritDoc} */
-    @Override public void prepareMarshal(Marshaller marsh) throws 
IgniteCheckedException {
-        if (idx != null)
-            qryIdxBytes = U.marshal(marsh, idx);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void finishUnmarshal(Marshaller marsh, ClassLoader 
clsLdr) throws IgniteCheckedException {
-        if (qryIdxBytes != null) {
-            idx = U.unmarshal(marsh, qryIdxBytes, clsLdr);
-
-            qryIdxBytes = null;
-        }
-    }
-
     /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(SchemaIndexCreateOperation.class, this, "parent", 
super.toString());
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java
index ee30d719dcc..e1e2e38dbbf 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java
@@ -18,16 +18,23 @@
 package org.apache.ignite.internal.codegen;
 
 import java.io.File;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
 import java.net.URI;
 import java.util.ArrayList;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 import javax.annotation.processing.Processor;
 import javax.tools.JavaFileObject;
 import com.google.testing.compile.Compilation;
 import com.google.testing.compile.Compiler;
 import com.google.testing.compile.JavaFileObjects;
+import org.apache.ignite.cache.QueryIndex;
+import org.apache.ignite.cache.QueryIndexType;
 import org.apache.ignite.internal.MessageProcessor;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.cache.query.QueryIndexMessage;
 import org.apache.ignite.internal.util.CommonUtils;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.lang.IgniteUuid;
@@ -165,6 +172,34 @@ public class MessageProcessorTest {
         assertThat(compilation).failed();
     }
 
+    /** Tests {@link QueryIndexMessage} that copies {@link QueryIndex}. */
+    @Test
+    public void testQueryIndex() {
+        Field[] fields0 = QueryIndex.class.getDeclaredFields();
+
+        Map<String, Field> fields = CommonUtils.newHashMap(fields0.length);
+
+        for (Field f : fields0) {
+            if (!Modifier.isStatic(f.getModifiers()))
+                fields.put(f.getName(), f);
+        }
+
+        assertEquals(4, fields.size());
+
+        assertEquals(String.class, fields.get("name").getType());
+        assertEquals(LinkedHashMap.class, fields.get("fields").getType());
+        assertEquals(QueryIndexType.class, fields.get("type").getType());
+        assertEquals(int.class, fields.get("inlineSize").getType());
+
+        QueryIndex idx = new QueryIndex("fld0", QueryIndexType.GEOSPATIAL, 
false, "testIdx");
+
+        QueryIndexMessage msg = new QueryIndexMessage(idx);
+
+        QueryIndex idx1 = QueryIndexMessage.queryIndex(msg);
+
+        assertEquals(idx, idx1);
+    }
+
     /** */
     @Test
     public void testExceptionFailed() {
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/direct/DirectMarshallingMessagesTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/direct/DirectMarshallingMessagesTest.java
index a4c91643889..ea37b6abe45 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/direct/DirectMarshallingMessagesTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/direct/DirectMarshallingMessagesTest.java
@@ -46,7 +46,7 @@ public class DirectMarshallingMessagesTest extends 
GridCommonAbstractTest {
     /** Message factory. */
     private final MessageFactory msgFactory =
         new IgniteMessageFactoryImpl(new MessageFactoryProvider[] {
-            new CoreMessagesProvider(jdk(), U.gridClassLoader()),
+            new CoreMessagesProvider(jdk(), jdk(), U.gridClassLoader()),
             factory -> factory.register(
                 TestNestedContainersMessage.TYPE,
                 TestNestedContainersMessage::new,
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/managers/IgniteCoreMessagesSerializationTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/managers/IgniteCoreMessagesSerializationTest.java
index 74f1c90b998..21f22330814 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/managers/IgniteCoreMessagesSerializationTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/managers/IgniteCoreMessagesSerializationTest.java
@@ -34,7 +34,7 @@ import static org.apache.ignite.marshaller.Marshallers.jdk;
 public class IgniteCoreMessagesSerializationTest extends 
AbstractMessageSerializationTest {
     /** {@inheritDoc} */
     @Override protected MessageFactoryProvider messageFactory() {
-        return new CoreMessagesProvider(jdk(), U.gridClassLoader());
+        return new CoreMessagesProvider(jdk(), jdk(), U.gridClassLoader());
     }
 
     /** {@inheritDoc} */
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/CompressedMessageTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/CompressedMessageTest.java
index f124eb98228..53fa342460b 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/CompressedMessageTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/CompressedMessageTest.java
@@ -46,7 +46,7 @@ public class CompressedMessageTest {
     @Test
     public void testWriteReadHugeMessage() {
         MessageFactory msgFactory = new IgniteMessageFactoryImpl(new 
MessageFactoryProvider[]{
-            new CoreMessagesProvider(jdk(), U.gridClassLoader())});
+            new CoreMessagesProvider(jdk(), jdk(), U.gridClassLoader())});
 
         DirectMessageWriter writer = new DirectMessageWriter(msgFactory);
 
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/IgniteCacheContinuousQueryImmutableEntryTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/IgniteCacheContinuousQueryImmutableEntryTest.java
index 15ddd54040c..a41490c0e40 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/IgniteCacheContinuousQueryImmutableEntryTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/IgniteCacheContinuousQueryImmutableEntryTest.java
@@ -150,7 +150,7 @@ public class IgniteCacheContinuousQueryImmutableEntryTest 
extends GridCommonAbst
         e0.markFiltered();
 
         IgniteMessageFactoryImpl msgFactory =
-            new IgniteMessageFactoryImpl(new MessageFactoryProvider[]{new 
CoreMessagesProvider(jdk(), U.gridClassLoader())});
+            new IgniteMessageFactoryImpl(new MessageFactoryProvider[]{new 
CoreMessagesProvider(jdk(), jdk(), U.gridClassLoader())});
 
         ByteBuffer buf = ByteBuffer.allocate(4096);
         DirectMessageWriter writer = new DirectMessageWriter(msgFactory);
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/GridAbstractCommunicationSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/GridAbstractCommunicationSelfTest.java
index f82c844bda9..1ca7217b67d 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/GridAbstractCommunicationSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/GridAbstractCommunicationSelfTest.java
@@ -154,7 +154,7 @@ public abstract class GridAbstractCommunicationSelfTest<T 
extends CommunicationS
             GridSpiTestContext ctx = initSpiContext();
 
             ctx.messageFactory(new IgniteMessageFactoryImpl(new 
MessageFactoryProvider[] {
-                new CoreMessagesProvider(jdk(), U.gridClassLoader()), 
customMessageFactory()}));
+                new CoreMessagesProvider(jdk(), jdk(), U.gridClassLoader()), 
customMessageFactory()}));
 
             ctx.setLocalNode(node);
 
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConcurrentConnectSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConcurrentConnectSelfTest.java
index 1bc2358cc7e..997d5b59fd4 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConcurrentConnectSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConcurrentConnectSelfTest.java
@@ -434,7 +434,7 @@ public class 
GridTcpCommunicationSpiConcurrentConnectSelfTest<T extends Communic
             GridSpiTestContext ctx = initSpiContext();
 
             ctx.messageFactory(new IgniteMessageFactoryImpl(
-                new MessageFactoryProvider[] {new CoreMessagesProvider(jdk(), 
U.gridClassLoader()), GRID_TEST_MESSAGE_FACTORY})
+                new MessageFactoryProvider[] {new CoreMessagesProvider(jdk(), 
jdk(), U.gridClassLoader()), GRID_TEST_MESSAGE_FACTORY})
             );
 
             ctx.setLocalNode(node);
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConfigSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConfigSelfTest.java
index a604da0edb7..3f2d90924bf 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConfigSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConfigSelfTest.java
@@ -252,7 +252,7 @@ public class GridTcpCommunicationSpiConfigSelfTest extends 
GridSpiAbstractConfig
         node.setId(rsrcs.getNodeId());
 
         ctx.messageFactory(new IgniteMessageFactoryImpl(new 
MessageFactoryProvider[]{
-            new CoreMessagesProvider(jdk(), U.gridClassLoader()), 
GRID_TEST_MESSAGE_FACTORY}));
+            new CoreMessagesProvider(jdk(), jdk(), U.gridClassLoader()), 
GRID_TEST_MESSAGE_FACTORY}));
 
         ctx.setLocalNode(node);
 
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java
index 6a5d26eb266..c043c068fc4 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java
@@ -468,7 +468,7 @@ public class GridTcpCommunicationSpiMultithreadedSelfTest 
extends GridSpiAbstrac
             GridSpiTestContext ctx = initSpiContext();
 
             ctx.messageFactory(new IgniteMessageFactoryImpl(
-                    new MessageFactoryProvider[] {new 
CoreMessagesProvider(jdk(), U.gridClassLoader()), GRID_TEST_MESSAGE_FACTORY})
+                    new MessageFactoryProvider[] {new 
CoreMessagesProvider(jdk(), jdk(), U.gridClassLoader()), 
GRID_TEST_MESSAGE_FACTORY})
             );
 
             ctx.timeoutProcessor(timeoutProcessor);
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryAckSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryAckSelfTest.java
index de46f4b674a..56c6daceca5 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryAckSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoveryAckSelfTest.java
@@ -400,7 +400,7 @@ public class GridTcpCommunicationSpiRecoveryAckSelfTest<T 
extends CommunicationS
             GridSpiTestContext ctx = initSpiContext();
 
             ctx.messageFactory(new IgniteMessageFactoryImpl(
-                    new MessageFactoryProvider[] {new 
CoreMessagesProvider(jdk(), U.gridClassLoader()), GRID_TEST_MESSAGE_FACTORY})
+                    new MessageFactoryProvider[] {new 
CoreMessagesProvider(jdk(), jdk(), U.gridClassLoader()), 
GRID_TEST_MESSAGE_FACTORY})
             );
 
             ctx.setLocalNode(node);
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java
index 633bd332eaf..d4f00e425a4 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java
@@ -729,7 +729,7 @@ public class GridTcpCommunicationSpiRecoverySelfTest<T 
extends CommunicationSpi<
             GridSpiTestContext ctx = initSpiContext();
 
             ctx.messageFactory(new IgniteMessageFactoryImpl(
-                new MessageFactoryProvider[] {new CoreMessagesProvider(jdk(), 
U.gridClassLoader()), GRID_TEST_MESSAGE_FACTORY})
+                new MessageFactoryProvider[] {new CoreMessagesProvider(jdk(), 
jdk(), U.gridClassLoader()), GRID_TEST_MESSAGE_FACTORY})
             );
 
             ctx.setLocalNode(node);
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationRecoveryAckClosureSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationRecoveryAckClosureSelfTest.java
index 06d657a8a3b..58a321e21c8 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationRecoveryAckClosureSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteTcpCommunicationRecoveryAckClosureSelfTest.java
@@ -453,7 +453,7 @@ public class 
IgniteTcpCommunicationRecoveryAckClosureSelfTest<T extends Communic
             GridSpiTestContext ctx = initSpiContext();
 
             ctx.messageFactory(new IgniteMessageFactoryImpl(
-                new MessageFactoryProvider[] {new CoreMessagesProvider(jdk(), 
U.gridClassLoader()), GRID_TEST_MESSAGE_FACTORY})
+                new MessageFactoryProvider[] {new CoreMessagesProvider(jdk(), 
jdk(), U.gridClassLoader()), GRID_TEST_MESSAGE_FACTORY})
             );
 
             ctx.setLocalNode(node);
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TestTcpDiscoverySpi.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TestTcpDiscoverySpi.java
index decf2bf4b5c..2aaabee1aeb 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TestTcpDiscoverySpi.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TestTcpDiscoverySpi.java
@@ -121,7 +121,7 @@ public class TestTcpDiscoverySpi extends TcpDiscoverySpi 
implements IgniteDiscov
         assert !started();
 
         this.msgFactory = new IgniteMessageFactoryImpl(new 
MessageFactoryProvider[] {
-            new CoreMessagesProvider(jdk(), 
U.resolveClassLoader(ignite().configuration())),
+            new CoreMessagesProvider(jdk(), jdk(), 
U.resolveClassLoader(ignite().configuration())),
             msgFactoryProvider
         });
     }
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
index b5c5035b7d0..8d55fa55bc6 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/GridSpiTestContext.java
@@ -554,7 +554,7 @@ public class GridSpiTestContext implements IgniteSpiContext 
{
     /** {@inheritDoc} */
     @Override public MessageFactory messageFactory() {
         if (factory == null)
-            factory = new IgniteMessageFactoryImpl(new 
MessageFactoryProvider[]{new CoreMessagesProvider(jdk(), 
+            factory = new IgniteMessageFactoryImpl(new 
MessageFactoryProvider[]{new CoreMessagesProvider(jdk(), jdk(), 
                 U.gridClassLoader())});
 
         return factory;
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
index e6638d4e112..152b209a533 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
@@ -155,7 +155,7 @@ public class IgniteMock implements IgniteEx {
         ClassLoader lrd = staticCfg == null ? U.gridClassLoader() : 
U.resolveClassLoader(staticCfg);
 
         msgFactory = new IgniteMessageFactoryImpl(new MessageFactoryProvider[] 
{
-            new CoreMessagesProvider(marshaller, lrd)});
+            new CoreMessagesProvider(marshaller, marshaller, lrd)});
 
         try {
             kernalCtx = new StandaloneGridKernalContext(new 
GridTestLog4jLogger(), null) {
diff --git 
a/modules/core/src/test/resources/codegen/TestMarshallableMessageMarshallableSerializer.java
 
b/modules/core/src/test/resources/codegen/TestMarshallableMessageMarshallableSerializer.java
index 97aef08f2f0..011985a05f0 100644
--- 
a/modules/core/src/test/resources/codegen/TestMarshallableMessageMarshallableSerializer.java
+++ 
b/modules/core/src/test/resources/codegen/TestMarshallableMessageMarshallableSerializer.java
@@ -51,7 +51,7 @@ public class TestMarshallableMessageMarshallableSerializer 
implements MessageSer
                 msg.prepareMarshal(marshaller);
             }
             catch (IgniteCheckedException e) {
-                throw new IgniteException("Failed to marshal object" + 
msg.getClass().getSimpleName(), e);
+                throw new IgniteException("Failed to marshal object " + 
msg.getClass().getSimpleName(), e);
             }
 
             writer.onHeaderWritten();
@@ -112,7 +112,7 @@ public class TestMarshallableMessageMarshallableSerializer 
implements MessageSer
             msg.finishUnmarshal(marshaller, clsLdr);
         }
         catch (IgniteCheckedException e) {
-            throw new IgniteException("Failed to unmarshal object" + 
msg.getClass().getSimpleName(), e);
+            throw new IgniteException("Failed to unmarshal object " + 
msg.getClass().getSimpleName(), e);
         }
 
         return true;


Reply via email to