diff --git a/modules/codegen/src/main/java/org/apache/ignite/internal/MessageProcessor.java b/modules/codegen/src/main/java/org/apache/ignite/internal/MessageProcessor.java index 46dbd39dac8f4..901903d47f1d5 100644 --- a/modules/codegen/src/main/java/org/apache/ignite/internal/MessageProcessor.java +++ b/modules/codegen/src/main/java/org/apache/ignite/internal/MessageProcessor.java @@ -18,11 +18,14 @@ package org.apache.ignite.internal; import java.util.ArrayList; +import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; +import java.util.stream.Collectors; import javax.annotation.processing.AbstractProcessor; import javax.annotation.processing.RoundEnvironment; import javax.annotation.processing.SupportedAnnotationTypes; @@ -72,8 +75,12 @@ public class MessageProcessor extends AbstractProcessor { /** Externalizable message. */ static final String MARSHALLABLE_MESSAGE_INTERFACE = "org.apache.ignite.plugin.extensions.communication.MarshallableMessage"; - /** This is the only message with zero fields. A serializer must be generated due to restrictions in our communication process. */ - static final String HANDSHAKE_WAIT_MESSAGE = "org.apache.ignite.spi.communication.tcp.messages.HandshakeWaitMessage"; + /** Messages with no fields. A serializer must be generated due to restrictions in our communication process. */ + static final String[] EMPTY_MESSAGES = { + "org.apache.ignite.spi.communication.tcp.messages.HandshakeWaitMessage", + "org.apache.ignite.spi.discovery.zk.internal.ZkNoServersMessage", + "org.apache.ignite.internal.processors.query.h2.twostep.msg.GridH2Null", + }; /** */ private final Map> enumMappersInUse = new HashMap<>(); @@ -83,7 +90,11 @@ public class MessageProcessor extends AbstractProcessor { */ @Override public boolean process(Set annotations, RoundEnvironment roundEnv) { TypeMirror msgType = processingEnv.getElementUtils().getTypeElement(MESSAGE_INTERFACE).asType(); - TypeMirror handshakeWaitMsgType = processingEnv.getElementUtils().getTypeElement(HANDSHAKE_WAIT_MESSAGE).asType(); + List emptyMsgs = Arrays.stream(EMPTY_MESSAGES) + .map(cls -> processingEnv.getElementUtils().getTypeElement(cls)) + .filter(Objects::nonNull) + .map(Element::asType) + .collect(Collectors.toList()); Map> msgFields = new HashMap<>(); @@ -101,7 +112,7 @@ public class MessageProcessor extends AbstractProcessor { List fields = orderedFields(clazz); - if (!fields.isEmpty() || processingEnv.getTypeUtils().isAssignable(clazz.asType(), handshakeWaitMsgType)) + if (!fields.isEmpty() || emptyMsgs.stream().anyMatch(t -> processingEnv.getTypeUtils().isAssignable(clazz.asType(), t))) msgFields.put(clazz, fields); } 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 84f76d21449f1..315130fe56123 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 @@ -103,6 +103,7 @@ import org.apache.ignite.internal.managers.deployment.GridDeploymentManager; import org.apache.ignite.internal.managers.discovery.DiscoveryLocalJoinData; import org.apache.ignite.internal.managers.discovery.GridDiscoveryManager; +import org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpi; import org.apache.ignite.internal.managers.encryption.GridEncryptionManager; import org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager; import org.apache.ignite.internal.managers.failover.GridFailoverManager; @@ -214,6 +215,7 @@ import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider; import org.apache.ignite.spi.IgniteSpi; import org.apache.ignite.spi.IgniteSpiVersionCheckException; +import org.apache.ignite.spi.discovery.DiscoverySpi; import org.apache.ignite.spi.discovery.isolated.IsolatedDiscoverySpi; import org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryNode; import org.apache.ignite.spi.tracing.TracingConfigurationManager; @@ -1315,9 +1317,6 @@ else if (e instanceof IgniteCheckedException) private void initMessageFactory() throws IgniteCheckedException { MessageFactoryProvider[] msgs = ctx.plugins().extensions(MessageFactoryProvider.class); - if (msgs == null) - msgs = new MessageFactoryProvider[0]; - List compMsgs = new ArrayList<>(); compMsgs.add(new CoreMessagesProvider(ctx.marshaller(), ctx.marshallerContext().jdkMarshaller(), @@ -1330,6 +1329,15 @@ private void initMessageFactory() throws IgniteCheckedException { compMsgs.add(f); } + DiscoverySpi discoSpi = ctx.config().getDiscoverySpi(); + + if (discoSpi instanceof IgniteDiscoverySpi) { + MessageFactoryProvider discoMsgs = ((IgniteDiscoverySpi)discoSpi).messageFactoryProvider(); + + if (discoMsgs != null) + compMsgs.add(discoMsgs); + } + if (!compMsgs.isEmpty()) msgs = F.concat(msgs, compMsgs.toArray(new MessageFactoryProvider[compMsgs.size()])); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/IgniteDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/IgniteDiscoverySpi.java index 54cc67ba98793..f08a653bffb29 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/IgniteDiscoverySpi.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/IgniteDiscoverySpi.java @@ -19,6 +19,7 @@ import java.util.UUID; import org.apache.ignite.cluster.ClusterNode; +import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider; import org.apache.ignite.spi.discovery.DiscoverySpi; /** @@ -57,4 +58,9 @@ public interface IgniteDiscoverySpi extends DiscoverySpi { * @param err Connection error. */ public void resolveCommunicationFailure(ClusterNode node, Exception err); + + /** @return Message factory provider. */ + public default MessageFactoryProvider messageFactoryProvider() { + return null; + } } diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/msg/GridH2Null.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/msg/GridH2Null.java index 90b6bbde5abce..5fcdf6988fc6a 100644 --- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/msg/GridH2Null.java +++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/msg/GridH2Null.java @@ -18,7 +18,6 @@ package org.apache.ignite.internal.processors.query.h2.twostep.msg; import org.apache.ignite.internal.GridKernalContext; -import org.apache.ignite.internal.Order; import org.h2.value.Value; import org.h2.value.ValueNull; @@ -29,10 +28,6 @@ public class GridH2Null extends GridH2ValueMessage { /** */ public static GridH2Null INSTANCE = new GridH2Null(); - /** Dummy field to use codegen serializer. */ - @Order(0) - byte dummy; - /** * Disallow new instance creation. */ @@ -45,7 +40,6 @@ private GridH2Null() { return ValueNull.INSTANCE; } - /** {@inheritDoc} */ @Override public String toString() { return "NULL"; diff --git a/modules/zookeeper/pom.xml b/modules/zookeeper/pom.xml index d49dfd14b4e5e..7f0b6003755cb 100644 --- a/modules/zookeeper/pom.xml +++ b/modules/zookeeper/pom.xml @@ -40,6 +40,12 @@ ignite-core + + ${project.groupId} + ignite-codegen + provided + + org.apache.zookeeper zookeeper diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java index e10799e1b42f7..1d0f2c6811165 100644 --- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java +++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java @@ -39,6 +39,7 @@ import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteBiTuple; import org.apache.ignite.lang.IgniteProductVersion; +import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider; import org.apache.ignite.resources.LoggerResource; import org.apache.ignite.spi.IgniteSpiAdapter; import org.apache.ignite.spi.IgniteSpiConfiguration; @@ -57,6 +58,7 @@ import org.apache.ignite.spi.discovery.DiscoverySpiNodeAuthenticator; import org.apache.ignite.spi.discovery.DiscoverySpiOrderSupport; import org.apache.ignite.spi.discovery.zk.internal.ZkIgnitePaths; +import org.apache.ignite.spi.discovery.zk.internal.ZkMessageFactory; import org.apache.ignite.spi.discovery.zk.internal.ZookeeperClusterNode; import org.apache.ignite.spi.discovery.zk.internal.ZookeeperDiscoveryImpl; import org.apache.ignite.spi.discovery.zk.internal.ZookeeperDiscoveryStatistics; @@ -554,6 +556,11 @@ private ZookeeperClusterNode initLocalNode() { return locNode; } + /** {@inheritDoc} */ + @Override public MessageFactoryProvider messageFactoryProvider() { + return new ZkMessageFactory(); + } + /** {@inheritDoc} */ @Override public String toString() { return S.toString(ZookeeperDiscoverySpi.class, this); diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/DiscoveryMessageParser.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/DiscoveryMessageParser.java index a3944ac917c84..6512c2ac9a42b 100644 --- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/DiscoveryMessageParser.java +++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/DiscoveryMessageParser.java @@ -19,7 +19,6 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; -import java.io.EOFException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -28,8 +27,6 @@ import java.util.zip.InflaterInputStream; import org.apache.ignite.internal.direct.DirectMessageReader; import org.apache.ignite.internal.direct.DirectMessageWriter; -import org.apache.ignite.internal.util.typedef.internal.U; -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.MessageSerializer; @@ -42,25 +39,14 @@ * Class is responsible for serializing discovery messages using RU-ready {@link MessageSerializer} mechanism. */ public class DiscoveryMessageParser { - /** Leading byte for messages use {@link JdkMarshaller} for serialization. */ - // TODO: remove these flags after refactoring all discovery messages. - private static final byte JAVA_SERIALIZATION = (byte)1; - - /** Leading byte for messages use {@link MessageSerializer} for serialization. */ - private static final byte MESSAGE_SERIALIZATION = (byte)2; - /** Size for an intermediate buffer for serializing discovery messages. */ private static final int MSG_BUFFER_SIZE = 100; - /** */ - private final JdkMarshaller jdkMarshaller; - /** */ private final MessageFactory msgFactory; /** */ - public DiscoveryMessageParser(JdkMarshaller jdkMarshaller, MessageFactory msgFactory) { - this.jdkMarshaller = jdkMarshaller; + public DiscoveryMessageParser(MessageFactory msgFactory) { this.msgFactory = msgFactory; } @@ -69,16 +55,7 @@ public byte[] marshalZip(DiscoverySpiCustomMessage msg) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); try (DeflaterOutputStream out = new DeflaterOutputStream(baos)) { - if (msg instanceof Message) { - out.write(MESSAGE_SERIALIZATION); - - serializeMessage((Message)msg, out); - } - else { - out.write(JAVA_SERIALIZATION); - - U.marshal(jdkMarshaller, msg, out); - } + serializeMessage((Message)msg, out); } catch (Exception e) { throw new IgniteSpiException("Failed to serialize message: " + msg, e); @@ -93,14 +70,6 @@ public DiscoverySpiCustomMessage unmarshalZip(byte[] bytes) { ByteArrayInputStream bais = new ByteArrayInputStream(bytes); InflaterInputStream in = new InflaterInputStream(bais) ) { - byte mode = (byte)in.read(); - - if (mode == JAVA_SERIALIZATION) - return U.unmarshal(jdkMarshaller, in, U.gridClassLoader()); - - if (MESSAGE_SERIALIZATION != mode) - throw new IOException("Received unexpected byte while reading discovery message: " + mode); - return (DiscoverySpiCustomMessage)deserializeMessage(in); } catch (Exception e) { @@ -144,14 +113,15 @@ private Message deserializeMessage(InputStream in) throws IOException { do { int read = in.read(msgBuf.array(), msgBuf.position(), msgBuf.remaining()); - if (read == -1) - throw new EOFException("Stream closed before message was fully read."); - - msgBuf.limit(msgBuf.position() + read); - msgBuf.rewind(); + if (read > 0) { + msgBuf.limit(msgBuf.position() + read); + msgBuf.rewind(); + } finished = msgSer.readFrom(msg, msgReader); + assert read != -1 || finished : "Stream closed before message was fully read."; + if (!finished) msgBuf.compact(); } diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkCommunicationErrorResolveFinishMessage.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkCommunicationErrorResolveFinishMessage.java index 1dff2edf88a3f..d78606da464d4 100644 --- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkCommunicationErrorResolveFinishMessage.java +++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkCommunicationErrorResolveFinishMessage.java @@ -18,25 +18,35 @@ package org.apache.ignite.spi.discovery.zk.internal; import java.util.UUID; +import org.apache.ignite.internal.Order; 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; import org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage; import org.jetbrains.annotations.Nullable; /** * */ -class ZkCommunicationErrorResolveFinishMessage implements DiscoverySpiCustomMessage, ZkInternalMessage { +class ZkCommunicationErrorResolveFinishMessage implements DiscoverySpiCustomMessage, ZkInternalMessage, Message { /** */ private static final long serialVersionUID = 0L; /** */ - final UUID futId; + @Order(0) + UUID futId; /** */ - final long topVer; + @Order(1) + long topVer; /** */ - transient ZkCommunicationErrorResolveResult res; + ZkCommunicationErrorResolveResult res; + + /** Constructor for {@link MessageFactory}. */ + public ZkCommunicationErrorResolveFinishMessage() { + // No-op. + } /** * @param futId Future ID. diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkCommunicationErrorResolveStartMessage.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkCommunicationErrorResolveStartMessage.java index 763fe51147bc4..b5b7c046a8318 100644 --- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkCommunicationErrorResolveStartMessage.java +++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkCommunicationErrorResolveStartMessage.java @@ -18,19 +18,28 @@ package org.apache.ignite.spi.discovery.zk.internal; import java.util.UUID; +import org.apache.ignite.internal.Order; 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; import org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage; import org.jetbrains.annotations.Nullable; /** * Zk Communication Error Resolve Start Message. */ -public class ZkCommunicationErrorResolveStartMessage implements DiscoverySpiCustomMessage, ZkInternalMessage { +public class ZkCommunicationErrorResolveStartMessage implements DiscoverySpiCustomMessage, ZkInternalMessage, Message { /** */ private static final long serialVersionUID = 0L; /** */ - final UUID id; + @Order(0) + UUID id; + + /** Constructor for {@link MessageFactory}. */ + public ZkCommunicationErrorResolveStartMessage() { + // No-op. + } /** * @param id Unique ID. diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkForceNodeFailMessage.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkForceNodeFailMessage.java index 060f354bdda5f..3f40be08fc8b1 100644 --- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkForceNodeFailMessage.java +++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkForceNodeFailMessage.java @@ -17,22 +17,32 @@ package org.apache.ignite.spi.discovery.zk.internal; +import org.apache.ignite.internal.Order; 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; import org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage; import org.jetbrains.annotations.Nullable; /** * Zk Force Node Fail Message. */ -public class ZkForceNodeFailMessage implements DiscoverySpiCustomMessage, ZkInternalMessage { +public class ZkForceNodeFailMessage implements DiscoverySpiCustomMessage, ZkInternalMessage, Message { /** */ private static final long serialVersionUID = 0L; /** */ - final long nodeInternalId; + @Order(0) + long nodeInternalId; /** */ - final String warning; + @Order(1) + String warning; + + /** Constructor for {@link MessageFactory}. */ + public ZkForceNodeFailMessage() { + // No-op. + } /** * @param nodeInternalId Node ID. diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkInternalJoinErrorMessage.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkInternalJoinErrorMessage.java index 7e2f9dab12011..fc0a0f7c4bf50 100644 --- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkInternalJoinErrorMessage.java +++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkInternalJoinErrorMessage.java @@ -17,10 +17,12 @@ package org.apache.ignite.spi.discovery.zk.internal; +import java.io.Serializable; + /** * */ -class ZkInternalJoinErrorMessage implements ZkInternalMessage { +class ZkInternalJoinErrorMessage implements ZkInternalMessage, Serializable { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkInternalMessage.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkInternalMessage.java index c1d56f0eedabd..3bb2c09338c8a 100644 --- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkInternalMessage.java +++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkInternalMessage.java @@ -17,11 +17,9 @@ package org.apache.ignite.spi.discovery.zk.internal; -import java.io.Serializable; - /** * */ -interface ZkInternalMessage extends Serializable { +interface ZkInternalMessage { // No-op. } diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkMessageFactory.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkMessageFactory.java new file mode 100644 index 0000000000000..39d89b32af878 --- /dev/null +++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkMessageFactory.java @@ -0,0 +1,32 @@ +/* + * 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.spi.discovery.zk.internal; + +import org.apache.ignite.plugin.extensions.communication.MessageFactory; +import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider; + +/** */ +public class ZkMessageFactory implements MessageFactoryProvider { + /** {@inheritDoc} */ + @Override public void registerAll(MessageFactory factory) { + factory.register(400, ZkCommunicationErrorResolveFinishMessage::new, new ZkCommunicationErrorResolveFinishMessageSerializer()); + factory.register(401, ZkCommunicationErrorResolveStartMessage::new, new ZkCommunicationErrorResolveStartMessageSerializer()); + factory.register(402, ZkForceNodeFailMessage::new, new ZkForceNodeFailMessageSerializer()); + factory.register(403, ZkNoServersMessage::new, new ZkNoServersMessageSerializer()); + } +} diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkNoServersMessage.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkNoServersMessage.java index 82c804de1f256..86fcebb8cbe6b 100644 --- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkNoServersMessage.java +++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkNoServersMessage.java @@ -18,13 +18,14 @@ package org.apache.ignite.spi.discovery.zk.internal; import org.apache.ignite.internal.util.typedef.internal.S; +import org.apache.ignite.plugin.extensions.communication.Message; import org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage; import org.jetbrains.annotations.Nullable; /** * */ -class ZkNoServersMessage implements DiscoverySpiCustomMessage, ZkInternalMessage { +class ZkNoServersMessage implements DiscoverySpiCustomMessage, ZkInternalMessage, Message { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java index e056f1d96a82a..7abe3ddf1ed20 100644 --- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java +++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java @@ -269,7 +269,7 @@ public ZookeeperDiscoveryImpl( this.stats = stats; - msgParser = new DiscoveryMessageParser(jdkMarshaller, msgFactory); + msgParser = new DiscoveryMessageParser(msgFactory); } /**