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;