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

nizhikov 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 e330af5355a IGNITE-28929 Move marshaller info into Messages classes 
(#13410)
e330af5355a is described below

commit e330af5355a5927133d14704d6a24143d1c3109b
Author: Nikolay <[email protected]>
AuthorDate: Thu Jul 30 11:10:16 2026 +0300

    IGNITE-28929 Move marshaller info into Messages classes (#13410)
---
 .../calcite/message/CalciteMessageFactory.java     | 24 ++++++++--------
 .../query/calcite/message/GenericValueMessage.java |  2 ++
 .../query/calcite/message/QueryStartRequest.java   |  2 ++
 .../ignite/internal/CoreMessagesProvider.java      | 13 +++++----
 .../ignite/internal/GridJobExecuteRequest.java     |  1 +
 .../ignite/internal/GridJobExecuteResponse.java    |  1 +
 .../ignite/internal/GridJobSiblingsResponse.java   |  1 +
 .../ignite/internal/GridTaskSessionRequest.java    |  1 +
 .../apache/ignite/internal/GridTopicMessage.java   |  1 +
 .../ignite/internal/IgniteDiagnosticRequest.java   |  1 +
 .../org/apache/ignite/internal/TxEntriesInfo.java  |  1 +
 ...tsDataBagItem.java => UseBinaryMarshaller.java} | 32 ++++++++++++----------
 .../managers/communication/GridIoUserMessage.java  |  2 ++
 .../communication/SessionChannelMessage.java       |  2 --
 .../managers/eventstorage/EventsDataBagItem.java   |  2 ++
 .../eventstorage/GridEventStorageMessage.java      |  2 ++
 ...AbstractMarshallableMessageFactoryProvider.java | 14 +++++++---
 .../cache/CacheEntryPredicateAdapter.java          |  2 ++
 .../processors/cache/CacheEvictionEntry.java       |  2 ++
 .../processors/cache/CacheInvokeDirectResult.java  |  2 ++
 .../processors/cache/GridCacheEntryInfo.java       |  2 ++
 .../internal/processors/cache/GridCacheReturn.java |  2 ++
 .../cache/binary/BinaryMetadataVersionInfo.java    |  2 ++
 .../distributed/GridCacheTtlUpdateRequest.java     |  2 ++
 .../distributed/GridDistributedLockRequest.java    |  2 ++
 .../distributed/GridDistributedLockResponse.java   |  2 ++
 .../GridDistributedTxPrepareRequest.java           |  2 ++
 .../cache/distributed/GridNearUnlockRequest.java   |  2 ++
 .../cache/distributed/dht/GridDhtLockRequest.java  |  2 ++
 .../cache/distributed/dht/GridDhtLockResponse.java |  2 ++
 .../distributed/dht/GridDhtTxFinishResponse.java   |  2 ++
 .../distributed/dht/GridDhtTxPrepareRequest.java   |  2 ++
 .../distributed/dht/GridDhtTxPrepareResponse.java  |  2 ++
 .../distributed/dht/GridDhtUnlockRequest.java      |  2 ++
 .../dht/TransactionAttributesAwareRequest.java     |  2 ++
 .../AtomicApplicationAttributesAwareRequest.java   |  2 ++
 .../atomic/GridDhtAtomicSingleUpdateRequest.java   |  2 ++
 .../dht/atomic/GridDhtAtomicUpdateRequest.java     |  2 ++
 .../dht/atomic/GridDhtAtomicUpdateResponse.java    |  2 ++
 .../atomic/GridNearAtomicFullUpdateRequest.java    |  2 ++
 .../GridNearAtomicSingleUpdateFilterRequest.java   |  2 ++
 .../GridNearAtomicSingleUpdateInvokeRequest.java   |  2 ++
 .../atomic/GridNearAtomicSingleUpdateRequest.java  |  2 ++
 .../dht/atomic/GridNearAtomicUpdateResponse.java   |  2 ++
 .../distributed/dht/atomic/NearCacheUpdates.java   |  2 ++
 .../cache/distributed/dht/atomic/UpdateErrors.java |  2 ++
 .../dht/preloader/GridDhtForceKeysRequest.java     |  2 ++
 .../dht/preloader/GridDhtForceKeysResponse.java    |  2 ++
 .../preloader/GridDhtPartitionSupplyMessage.java   |  2 ++
 .../cache/distributed/near/GridNearGetRequest.java |  2 ++
 .../distributed/near/GridNearGetResponse.java      |  2 ++
 .../distributed/near/GridNearSingleGetRequest.java |  2 ++
 .../near/GridNearSingleGetResponse.java            |  2 ++
 .../near/GridNearTxPrepareResponse.java            |  2 ++
 .../cache/query/GridCacheQueryRequest.java         |  2 ++
 .../cache/query/GridCacheQueryResponse.java        |  2 ++
 .../continuous/CacheContinuousQueryEntry.java      |  2 ++
 .../cache/transactions/IgniteTxEntry.java          |  2 ++
 .../processors/cache/transactions/IgniteTxKey.java |  2 ++
 .../cache/transactions/TxEntryValueHolder.java     |  2 ++
 .../cache/transactions/TxLocksRequest.java         |  2 ++
 .../cache/transactions/TxLocksResponse.java        |  2 ++
 .../processors/datastreamer/DataStreamerEntry.java |  2 ++
 .../datastreamer/DataStreamerResponse.java         |  1 -
 .../rest/handlers/task/GridTaskResultResponse.java |  2 ++
 .../service/ServiceSingleNodeDeploymentResult.java |  2 ++
 .../TcpInverseConnectionResponseMessage.java       |  1 -
 .../discovery/zk/internal/ZkMessageFactory.java    | 15 ++++------
 68 files changed, 165 insertions(+), 50 deletions(-)

diff --git 
a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/message/CalciteMessageFactory.java
 
b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/message/CalciteMessageFactory.java
index 7febd5a44fe..dafc92a558b 100644
--- 
a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/message/CalciteMessageFactory.java
+++ 
b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/message/CalciteMessageFactory.java
@@ -36,18 +36,18 @@ public class CalciteMessageFactory extends 
AbstractMarshallableMessageFactoryPro
 
     /** {@inheritDoc} */
     @Override public void registerAll(IgniteMessageFactory factory) {
-        register(factory, QueryStartRequest.class, (short)300, 
QueryStartRequest::new, schemaAwareMarsh);
-        register(factory, QueryStartResponse.class, (short)301, 
QueryStartResponse::new, dfltMarsh);
-        register(factory, CalciteErrorMessage.class, (short)302, 
CalciteErrorMessage::new, dfltMarsh);
-        register(factory, QueryBatchMessage.class, (short)303, 
QueryBatchMessage::new, dfltMarsh);
-        register(factory, QueryBatchAcknowledgeMessage.class, (short)304, 
QueryBatchAcknowledgeMessage::new, dfltMarsh);
-        register(factory, QueryInboxCloseMessage.class, (short)305, 
QueryInboxCloseMessage::new, dfltMarsh);
-        register(factory, QueryCloseMessage.class, (short)306, 
QueryCloseMessage::new, dfltMarsh);
-        register(factory, GenericValueMessage.class, (short)307, 
GenericValueMessage::new, schemaAwareMarsh);
-        register(factory, FragmentMapping.class, (short)308, 
FragmentMapping::new, dfltMarsh);
-        register(factory, ColocationGroup.class, (short)309, 
ColocationGroup::new, dfltMarsh);
-        register(factory, FragmentDescription.class, (short)310, 
FragmentDescription::new, dfltMarsh);
-        register(factory, QueryTxEntry.class, (short)311, QueryTxEntry::new, 
dfltMarsh);
+        register(factory, QueryStartRequest.class, (short)300);
+        register(factory, QueryStartResponse.class, (short)301);
+        register(factory, CalciteErrorMessage.class, (short)302);
+        register(factory, QueryBatchMessage.class, (short)303);
+        register(factory, QueryBatchAcknowledgeMessage.class, (short)304);
+        register(factory, QueryInboxCloseMessage.class, (short)305);
+        register(factory, QueryCloseMessage.class, (short)306);
+        register(factory, GenericValueMessage.class, (short)307);
+        register(factory, FragmentMapping.class, (short)308);
+        register(factory, ColocationGroup.class, (short)309);
+        register(factory, FragmentDescription.class, (short)310);
+        register(factory, QueryTxEntry.class, (short)311);
     }
 
     /** */
diff --git 
a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/message/GenericValueMessage.java
 
b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/message/GenericValueMessage.java
index 1f1c6b356e8..774a89106e9 100644
--- 
a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/message/GenericValueMessage.java
+++ 
b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/message/GenericValueMessage.java
@@ -20,10 +20,12 @@ package 
org.apache.ignite.internal.processors.query.calcite.message;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.MarshallableMessage;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.marshaller.Marshaller;
 
 /** */
+@UseBinaryMarshaller
 public final class GenericValueMessage implements MarshallableMessage {
     /** */
     private Object val;
diff --git 
a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/message/QueryStartRequest.java
 
b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/message/QueryStartRequest.java
index f3c6e5b9109..8f35d8877fe 100644
--- 
a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/message/QueryStartRequest.java
+++ 
b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/message/QueryStartRequest.java
@@ -24,6 +24,7 @@ import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.DeferredUnmarshalMessage;
 import org.apache.ignite.internal.MarshallableMessage;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import 
org.apache.ignite.internal.processors.query.calcite.metadata.FragmentDescription;
 import org.apache.ignite.internal.util.typedef.internal.U;
@@ -31,6 +32,7 @@ import org.apache.ignite.marshaller.Marshaller;
 import org.jetbrains.annotations.Nullable;
 
 /** Message sent to remote nodes to start a query fragment execution. */
+@UseBinaryMarshaller
 public class QueryStartRequest implements MarshallableMessage, 
DeferredUnmarshalMessage, ExecutionContextAware {
     /** */
     @Order(0)
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 9cd8a97159d..ad61d016b8c 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
@@ -725,16 +725,17 @@ public class CoreMessagesProvider extends 
AbstractMarshallableMessageFactoryProv
 
     /** Registers message using {@link #dfltMarsh}. */
     private <T extends Message> void withNoSchema(Class<T> cls) {
-        register(cls, dfltMarsh);
+        assert cls.getAnnotation(UseBinaryMarshaller.class) == null :
+            "Remove @" + UseBinaryMarshaller.class.getSimpleName() + " for 
class: " + cls.getSimpleName();
+
+        register(factory, cls, msgIdx++);
     }
 
     /** Registers message using {@link #schemaAwareMarsh}. */
     private <T extends Message> void withSchema(Class<T> cls) {
-        register(cls, schemaAwareMarsh);
-    }
+        assert cls.getAnnotation(UseBinaryMarshaller.class) != null :
+            "Add @" + UseBinaryMarshaller.class.getSimpleName() + " for class: 
" + cls.getSimpleName();
 
-    /** Registers message using incrementing {@link #msgIdx} as the message 
id/type. */
-    private <T extends Message> void register(Class<T> cls, Marshaller marsh) {
-        register(factory, cls, msgIdx++, marsh);
+        register(factory, cls, msgIdx++);
     }
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridJobExecuteRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/GridJobExecuteRequest.java
index 376d05db9db..f08584b10d7 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridJobExecuteRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridJobExecuteRequest.java
@@ -40,6 +40,7 @@ import org.jetbrains.annotations.Nullable;
  * Job execution request.
  */
 @SuppressWarnings({"AssignmentOrReturnOfFieldWithMutableType", 
"NullableProblems"})
+@UseBinaryMarshaller
 public class GridJobExecuteRequest implements ExecutorAwareMessage {
     /** */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridJobExecuteResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/GridJobExecuteResponse.java
index f97b781de7e..0f24d1effc5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridJobExecuteResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridJobExecuteResponse.java
@@ -36,6 +36,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * Job execution response.
  */
+@UseBinaryMarshaller
 public class GridJobExecuteResponse implements Message {
     /** */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridJobSiblingsResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/GridJobSiblingsResponse.java
index d31c9fff4ae..d998cdcc156 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridJobSiblingsResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridJobSiblingsResponse.java
@@ -26,6 +26,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * Job siblings response.
  */
+@UseBinaryMarshaller
 public class GridJobSiblingsResponse implements Message {
     /** */
     @Marshalled("siblingsBytes")
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridTaskSessionRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/GridTaskSessionRequest.java
index 57fdbac05b5..1392ed8b179 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridTaskSessionRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridTaskSessionRequest.java
@@ -28,6 +28,7 @@ import 
org.apache.ignite.plugin.extensions.communication.Message;
 /**
  * Task session request.
  */
+@UseBinaryMarshaller
 public class GridTaskSessionRequest implements Message {
     /** Task session ID. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridTopicMessage.java 
b/modules/core/src/main/java/org/apache/ignite/internal/GridTopicMessage.java
index 71251ddd84b..0f8bc1d5236 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridTopicMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridTopicMessage.java
@@ -24,6 +24,7 @@ import org.apache.ignite.marshaller.Marshaller;
 import org.jetbrains.annotations.Nullable;
 
 /** Message wrapper for grid topic. */
+@UseBinaryMarshaller
 public class GridTopicMessage implements MarshallableMessage {
     /** Topic. */
     private Object topic;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteDiagnosticRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteDiagnosticRequest.java
index 57a240b11fb..9e4a915dc7b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteDiagnosticRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteDiagnosticRequest.java
@@ -31,6 +31,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  *
  */
+@UseBinaryMarshaller
 public class IgniteDiagnosticRequest implements Message {
     /** */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/TxEntriesInfo.java 
b/modules/core/src/main/java/org/apache/ignite/internal/TxEntriesInfo.java
index d2999ac6b45..074ad98ef36 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/TxEntriesInfo.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/TxEntriesInfo.java
@@ -30,6 +30,7 @@ import 
org.apache.ignite.plugin.extensions.communication.CacheIdAware;
  * Diagnostic info block that dumps the state of cache entries for the given 
keys. Requested when a transaction
  * lock future waits for a remote node's response for too long.
  */
+@UseBinaryMarshaller
 public final class TxEntriesInfo extends 
IgniteDiagnosticRequest.DiagnosticBaseInfo implements CacheIdAware {
     /** */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/EventsDataBagItem.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/UseBinaryMarshaller.java
similarity index 53%
copy from 
modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/EventsDataBagItem.java
copy to 
modules/core/src/main/java/org/apache/ignite/internal/UseBinaryMarshaller.java
index da409dc0d58..3228f48aa26 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/EventsDataBagItem.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/UseBinaryMarshaller.java
@@ -14,23 +14,25 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.ignite.internal;
 
-package org.apache.ignite.internal.managers.eventstorage;
-
-import org.apache.ignite.internal.Order;
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+import org.apache.ignite.internal.binary.BinaryMarshaller;
 import org.apache.ignite.plugin.extensions.communication.Message;
 
-/** */
-public class EventsDataBagItem implements Message {
-    /** */
-    @Order(0)
-    int[] enabledEvts;
-
-    /** */
-    public EventsDataBagItem() { }
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
-    /** @param enabledEvts Enabled events. */
-    public EventsDataBagItem(int[] enabledEvts) {
-        this.enabledEvts = enabledEvts;
-    }
+/**
+ * In case message CAN contain user provided classes it must be marshalled 
with the {@link BinaryMarshaller}.
+ * {@link BinaryMarshaller} is able to process user classes using schema 
tansfering protocol through Discovery.
+ * Mark {@link Message} class with annotation to serialize it with {@link 
BinaryMarshaller}.
+ */
+@Documented
+@Target(value = TYPE)
+@Retention(RUNTIME)
+public @interface UseBinaryMarshaller {
+    // No-op.
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoUserMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoUserMessage.java
index e38784037f5..afe4db51c2b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoUserMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoUserMessage.java
@@ -22,6 +22,7 @@ import java.util.Map;
 import java.util.UUID;
 import org.apache.ignite.configuration.DeploymentMode;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.managers.deployment.GridDeployment;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.internal.S;
@@ -32,6 +33,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * User message wrapper.
  */
+@UseBinaryMarshaller
 public class GridIoUserMessage implements Message {
     /** Message body. */
     private Object body;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/SessionChannelMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/SessionChannelMessage.java
index 92fce631d80..0b503766b0d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/SessionChannelMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/SessionChannelMessage.java
@@ -53,10 +53,8 @@ public class SessionChannelMessage implements Message {
         return sesId;
     }
 
-
     /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(SessionChannelMessage.class, this);
     }
-
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/EventsDataBagItem.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/EventsDataBagItem.java
index da409dc0d58..e1d033df696 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/EventsDataBagItem.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/EventsDataBagItem.java
@@ -18,9 +18,11 @@
 package org.apache.ignite.internal.managers.eventstorage;
 
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.plugin.extensions.communication.Message;
 
 /** */
+@UseBinaryMarshaller
 public class EventsDataBagItem implements Message {
     /** */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageMessage.java
index ec7c9f079c9..7ba5215611e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageMessage.java
@@ -28,6 +28,7 @@ import org.apache.ignite.internal.GridTopicMessage;
 import org.apache.ignite.internal.MarshallableMessage;
 import org.apache.ignite.internal.Marshalled;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.managers.communication.ErrorMessage;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.internal.S;
@@ -40,6 +41,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * Event storage message.
  */
+@UseBinaryMarshaller
 public class GridEventStorageMessage implements MarshallableMessage {
     /** */
     @Order(0)
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 eb43166ebf6..94b3457133f 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
@@ -21,6 +21,7 @@ import java.lang.reflect.Constructor;
 import java.util.function.Supplier;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.internal.MarshallableMessage;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.binary.BinaryMarshaller;
 import org.apache.ignite.internal.managers.communication.IgniteMessageFactory;
 import org.apache.ignite.internal.processors.cache.GridCacheMessage;
@@ -61,8 +62,8 @@ public abstract class 
AbstractMarshallableMessageFactoryProvider implements Mess
         this.schemaAwareMarsh = schemaAwareMarsh;
     }
 
-    /** Registers a message with its generated serializer, marshaller (if 
marshallable), and deployer (if any). */
-    protected static <T extends Message> void register(IgniteMessageFactory 
factory, Class<T> cls, short id, Marshaller marsh) {
+    /** Register a message with a caller-provided {@code id}. */
+    protected <T extends Message> void register(IgniteMessageFactory factory, 
Class<T> cls, short id) {
         Constructor<T> ctor;
 
         try {
@@ -79,7 +80,7 @@ public abstract class 
AbstractMarshallableMessageFactoryProvider implements Mess
             catch (Exception e) {
                 throw new IgniteException("Failed to create message of type " 
+ cls.getSimpleName(), e);
             }
-        }, marsh);
+        });
     }
 
     /**
@@ -87,7 +88,12 @@ public abstract class 
AbstractMarshallableMessageFactoryProvider implements Mess
      * marshallable), and deployer (if any). Use this overload when {@code 
cls} is package-private and so cannot be
      * instantiated by reflection from this package — pass an in-package 
{@code ::new} reference as {@code supplier}.
      */
-    protected static <T extends Message> void register(IgniteMessageFactory 
factory, Class<T> cls, short id,
+    protected <T extends Message> void register(IgniteMessageFactory factory, 
Class<T> cls, short id, Supplier<Message> supplier) {
+        register(factory, cls, id, supplier, 
cls.getAnnotation(UseBinaryMarshaller.class) != null ? schemaAwareMarsh : 
dfltMarsh);
+    }
+
+    /** */
+    private static <T extends Message> void register(IgniteMessageFactory 
factory, Class<T> cls, short id,
         Supplier<Message> supplier, Marshaller marsh) {
         MessageSerializer<T> serializer = requireGenerated(cls, "Serializer", 
marsh);
 
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateAdapter.java
index d41a3da341e..211aaf800a8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateAdapter.java
@@ -20,11 +20,13 @@ package org.apache.ignite.internal.processors.cache;
 import java.util.Objects;
 import org.apache.ignite.binary.BinaryObject;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.internal.CU;
 import org.jetbrains.annotations.Nullable;
 
 /** A unified container for common, typical cache entry predicates. */
+@UseBinaryMarshaller
 public class CacheEntryPredicateAdapter implements CacheEntryPredicate {
     /** */
     private static final long serialVersionUID = 4647110502545358709L;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictionEntry.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictionEntry.java
index 9425dadae58..d5a1a1b8b3f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictionEntry.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictionEntry.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.processors.cache;
 
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.plugin.extensions.communication.Message;
@@ -25,6 +26,7 @@ import 
org.apache.ignite.plugin.extensions.communication.Message;
 /**
  *
  */
+@UseBinaryMarshaller
 public class CacheEvictionEntry implements Message {
     /** */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheInvokeDirectResult.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheInvokeDirectResult.java
index 4490be4c1df..bce9bb96325 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheInvokeDirectResult.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheInvokeDirectResult.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.processors.cache;
 import javax.cache.processor.EntryProcessor;
 import javax.cache.processor.MutableEntry;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.managers.communication.ErrorMessage;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.internal.S;
@@ -29,6 +30,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  *
  */
+@UseBinaryMarshaller
 public class CacheInvokeDirectResult implements Message {
     /** Cache key. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryInfo.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryInfo.java
index 5841a8a06af..3d5c2fe4d5a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryInfo.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryInfo.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.processors.cache;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.MarshallableMessage;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.internal.S;
@@ -30,6 +31,7 @@ import 
org.apache.ignite.plugin.extensions.communication.CacheIdAware;
 /**
  * Entry information that gets passed over wire.
  */
+@UseBinaryMarshaller
 public class GridCacheEntryInfo implements MarshallableMessage, CacheIdAware {
     /** */
     private static final int SIZE_OVERHEAD = 3 * 8 /* reference */ + 4 /* int 
*/ + 2 * 8 /* long */ + 32 /* version */;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheReturn.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheReturn.java
index 20203b5d8bb..d6cde719e83 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheReturn.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheReturn.java
@@ -26,6 +26,7 @@ import org.apache.ignite.binary.BinaryObject;
 import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.UnregisteredBinaryTypeException;
 import org.apache.ignite.internal.UnregisteredClassException;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.internal.CU;
 import org.apache.ignite.internal.util.typedef.internal.S;
@@ -37,6 +38,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * Return value for cases where both, value and success flag need to be 
returned.
  */
+@UseBinaryMarshaller
 public class GridCacheReturn implements Message, CacheIdAware {
     /** Value. */
     @GridToStringInclude(sensitive = true)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/BinaryMetadataVersionInfo.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/BinaryMetadataVersionInfo.java
index ca112d9f877..d9333b3ee30 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/BinaryMetadataVersionInfo.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/BinaryMetadataVersionInfo.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.cache.binary;
 import java.io.Serializable;
 import org.apache.ignite.internal.Marshalled;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.binary.BinaryMetadata;
 import org.apache.ignite.plugin.extensions.communication.Message;
 
@@ -28,6 +29,7 @@ import 
org.apache.ignite.plugin.extensions.communication.Message;
  * The version refers solely to the internal protocol for updating 
BinaryMetadata and is unknown externally.
  * It can be updated dynamically from different nodes and threads on the same 
node.
  */
+@UseBinaryMarshaller
 public final class BinaryMetadataVersionInfo implements Serializable, Message {
     /** */
     private static final long serialVersionUID = 0L;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTtlUpdateRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTtlUpdateRequest.java
index 306b2f6d901..ce8cae2187d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTtlUpdateRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTtlUpdateRequest.java
@@ -20,6 +20,7 @@ package 
org.apache.ignite.internal.processors.cache.distributed;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.GridCacheIdMessage;
 import org.apache.ignite.internal.processors.cache.KeyCacheObject;
@@ -31,6 +32,7 @@ import org.apache.ignite.internal.util.typedef.internal.S;
 /**
  *
  */
+@UseBinaryMarshaller
 public class GridCacheTtlUpdateRequest extends GridCacheIdMessage {
     /** Entries keys. */
     @GridToStringInclude
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java
index a488669cb0d..2da8b4dd3cc 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockRequest.java
@@ -22,6 +22,7 @@ import java.util.List;
 import java.util.UUID;
 import org.apache.ignite.IgniteLogger;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
 import org.apache.ignite.internal.processors.cache.KeyCacheObject;
 import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
@@ -34,6 +35,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * Lock request message.
  */
+@UseBinaryMarshaller
 public class GridDistributedLockRequest extends GridDistributedBaseMessage {
     /** Skip store flag bit mask. */
     private static final int SKIP_STORE_FLAG_MASK = 0x01;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java
index 04a4c67b5a8..0a2ef4800c0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
 import java.util.List;
 import org.apache.ignite.IgniteLogger;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.managers.communication.ErrorMessage;
 import org.apache.ignite.internal.processors.cache.CacheObject;
 import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
@@ -35,6 +36,7 @@ import org.jetbrains.annotations.Nullable;
  * Lock response message.
  */
 @SuppressWarnings("AssignmentOrReturnOfFieldWithMutableType")
+@UseBinaryMarshaller
 public class GridDistributedLockResponse extends GridDistributedBaseMessage {
     /** Future ID. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
index 53a45d8b325..9d04dd9ff26 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
@@ -25,6 +25,7 @@ import java.util.UUID;
 import org.apache.ignite.IgniteLogger;
 import org.apache.ignite.internal.Marshalled;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
 import 
org.apache.ignite.internal.processors.cache.transactions.IgniteInternalTx;
 import org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry;
@@ -43,6 +44,7 @@ import org.jetbrains.annotations.Nullable;
  * Transaction prepare request for optimistic and eventually consistent
  * transactions.
  */
+@UseBinaryMarshaller
 public class GridDistributedTxPrepareRequest extends 
GridDistributedBaseMessage implements IgniteTxStateAware {
     /** */
     private static final int NEED_RETURN_VALUE_FLAG_MASK = 0x01;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridNearUnlockRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridNearUnlockRequest.java
index 268b923232f..bf4a795c85b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridNearUnlockRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridNearUnlockRequest.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
 import java.util.List;
 import org.apache.ignite.IgniteLogger;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
 import org.apache.ignite.internal.processors.cache.KeyCacheObject;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
@@ -29,6 +30,7 @@ import org.apache.ignite.internal.util.typedef.internal.S;
 /**
  * Lock request message.
  */
+@UseBinaryMarshaller
 public class GridNearUnlockRequest extends GridDistributedBaseMessage {
     /** Keys. */
     @GridToStringInclude
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java
index 3d20269b8d9..641af413b01 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockRequest.java
@@ -20,6 +20,7 @@ package 
org.apache.ignite.internal.processors.cache.distributed.dht;
 import java.util.BitSet;
 import java.util.UUID;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.KeyCacheObject;
 import 
org.apache.ignite.internal.processors.cache.distributed.GridDistributedLockRequest;
@@ -33,6 +34,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * DHT lock request.
  */
+@UseBinaryMarshaller
 public class GridDhtLockRequest extends GridDistributedLockRequest {
     /** Invalidate reader flags. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockResponse.java
index cf0b9b06801..d3f2bde4dc4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockResponse.java
@@ -23,6 +23,7 @@ import java.util.HashSet;
 import java.util.List;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.DeployableMessage;
 import org.apache.ignite.internal.processors.cache.GridCacheContext;
 import org.apache.ignite.internal.processors.cache.GridCacheEntryInfo;
@@ -37,6 +38,7 @@ import org.apache.ignite.lang.IgniteUuid;
  * DHT cache lock response.
  */
 @SuppressWarnings("AssignmentOrReturnOfFieldWithMutableType")
+@UseBinaryMarshaller
 public class GridDhtLockResponse extends GridDistributedLockResponse 
implements DeployableMessage {
     /** Mini future ID. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishResponse.java
index 62c327c8d7c..770c5dd313e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishResponse.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.processors.cache.distributed.dht;
 
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.managers.communication.ErrorMessage;
 import org.apache.ignite.internal.processors.cache.GridCacheReturn;
 import 
org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxFinishResponse;
@@ -29,6 +30,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * DHT transaction finish response.
  */
+@UseBinaryMarshaller
 public final class GridDhtTxFinishResponse extends 
GridDistributedTxFinishResponse {
     /** Mini future ID. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
index 452e64978b9..03b6f2532db 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
@@ -25,6 +25,7 @@ import java.util.UUID;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.Marshalled;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.DeployableMessage;
 import org.apache.ignite.internal.processors.cache.GridCacheContext;
@@ -43,6 +44,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * DHT prepare request.
  */
+@UseBinaryMarshaller
 public class GridDhtTxPrepareRequest extends GridDistributedTxPrepareRequest 
implements DeployableMessage {
     /** Max order. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java
index f4ad3faa6bd..b2adf1bdd24 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java
@@ -22,6 +22,7 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.GridCacheEntryInfo;
 import 
org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxPrepareResponse;
 import org.apache.ignite.internal.processors.cache.transactions.IgniteTxKey;
@@ -34,6 +35,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * DHT transaction prepare response.
  */
+@UseBinaryMarshaller
 public class GridDhtTxPrepareResponse extends GridDistributedTxPrepareResponse 
{
     /** Evicted readers. */
     @GridToStringInclude
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtUnlockRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtUnlockRequest.java
index 609e319171a..3a489132343 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtUnlockRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtUnlockRequest.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
 import java.util.List;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.KeyCacheObject;
 import 
org.apache.ignite.internal.processors.cache.distributed.GridNearUnlockRequest;
 import org.apache.ignite.internal.util.typedef.internal.S;
@@ -28,6 +29,7 @@ import org.apache.ignite.internal.util.typedef.internal.S;
 /**
  * DHT cache unlock request.
  */
+@UseBinaryMarshaller
 public class GridDhtUnlockRequest extends GridNearUnlockRequest {
     /** Near keys. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/TransactionAttributesAwareRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/TransactionAttributesAwareRequest.java
index e24d5c0d418..c1a23f39ee1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/TransactionAttributesAwareRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/TransactionAttributesAwareRequest.java
@@ -19,10 +19,12 @@ package 
org.apache.ignite.internal.processors.cache.distributed.dht;
 
 import java.util.Map;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.GridCacheMessage;
 import 
org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxPrepareRequest;
 
 /** Wraps transaction prepare request with application attributes. */
+@UseBinaryMarshaller
 public class TransactionAttributesAwareRequest extends GridCacheMessage {
     /** Original transaction prepare message. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/AtomicApplicationAttributesAwareRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/AtomicApplicationAttributesAwareRequest.java
index 49bdc531a30..3f7aa4f7ed4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/AtomicApplicationAttributesAwareRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/AtomicApplicationAttributesAwareRequest.java
@@ -19,9 +19,11 @@ package 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic;
 
 import java.util.Map;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.GridCacheIdMessage;
 
 /** Wraps atomic updates with application attributes. */
+@UseBinaryMarshaller
 public class AtomicApplicationAttributesAwareRequest extends 
GridCacheIdMessage {
     /** Original update message. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicSingleUpdateRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicSingleUpdateRequest.java
index 667fb0dd0d7..d2787580889 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicSingleUpdateRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicSingleUpdateRequest.java
@@ -20,6 +20,7 @@ package 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic;
 import java.util.UUID;
 import javax.cache.processor.EntryProcessor;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.CacheObject;
 import org.apache.ignite.internal.processors.cache.GridCacheOperation;
@@ -36,6 +37,7 @@ import static 
org.apache.ignite.internal.processors.cache.GridCacheOperation.TRA
 /**
  *
  */
+@UseBinaryMarshaller
 public class GridDhtAtomicSingleUpdateRequest extends 
GridDhtAtomicAbstractUpdateRequest {
     /** Key to update. */
     @GridToStringInclude
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
index ad2e7bcc5e3..33b14d14d09 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
@@ -24,6 +24,7 @@ import javax.cache.processor.EntryProcessor;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.MarshallableMessage;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.CacheObject;
 import org.apache.ignite.internal.processors.cache.DeployableMessage;
@@ -44,6 +45,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * Lite dht cache backup update request.
  */
+@UseBinaryMarshaller
 public class GridDhtAtomicUpdateRequest extends 
GridDhtAtomicAbstractUpdateRequest implements MarshallableMessage, 
DeployableMessage {
     /** Keys to update. */
     @GridToStringInclude
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateResponse.java
index 451a3c26ae2..26ae00ce793 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateResponse.java
@@ -22,6 +22,7 @@ import java.util.List;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteLogger;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.GridCacheDeployable;
 import org.apache.ignite.internal.processors.cache.GridCacheIdMessage;
 import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
@@ -32,6 +33,7 @@ import org.apache.ignite.internal.util.typedef.internal.S;
 /**
  * DHT atomic cache backup update response.
  */
+@UseBinaryMarshaller
 public class GridDhtAtomicUpdateResponse extends GridCacheIdMessage implements 
GridCacheDeployable {
     /** Message index. */
     public static final int CACHE_MSG_IDX = nextIndexId();
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicFullUpdateRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicFullUpdateRequest.java
index 8e24a81240d..ac095f09b0d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicFullUpdateRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicFullUpdateRequest.java
@@ -27,6 +27,7 @@ import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.cache.CacheWriteSynchronizationMode;
 import org.apache.ignite.internal.MarshallableMessage;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.CacheEntryPredicate;
 import org.apache.ignite.internal.processors.cache.CacheObject;
@@ -54,6 +55,7 @@ import static 
org.apache.ignite.internal.processors.cache.GridCacheOperation.UPD
 /**
  * Lite DHT cache update request sent from near node to primary node.
  */
+@UseBinaryMarshaller
 public class GridNearAtomicFullUpdateRequest extends 
GridNearAtomicAbstractUpdateRequest implements MarshallableMessage, 
DeployableMessage {
     /** Keys to update. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java
index d5bdab4971d..e8586321f07 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFilterRequest.java
@@ -21,6 +21,7 @@ import java.util.Arrays;
 import java.util.UUID;
 import org.apache.ignite.cache.CacheWriteSynchronizationMode;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.CacheEntryPredicate;
 import org.apache.ignite.internal.processors.cache.GridCacheOperation;
@@ -31,6 +32,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  *
  */
+@UseBinaryMarshaller
 public class GridNearAtomicSingleUpdateFilterRequest extends 
GridNearAtomicSingleUpdateRequest {
     /** Filter. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java
index a346a140c0a..5d3dc581b28 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateInvokeRequest.java
@@ -26,6 +26,7 @@ import org.apache.ignite.cache.CacheWriteSynchronizationMode;
 import org.apache.ignite.internal.MarshallableMessage;
 import org.apache.ignite.internal.Marshalled;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.CacheObject;
 import org.apache.ignite.internal.processors.cache.DeployableMessage;
@@ -45,6 +46,7 @@ import static 
org.apache.ignite.internal.processors.cache.GridCacheOperation.TRA
 /**
  *
  */
+@UseBinaryMarshaller
 public class GridNearAtomicSingleUpdateInvokeRequest extends 
GridNearAtomicSingleUpdateRequest
     implements MarshallableMessage, DeployableMessage {
     /** Optional arguments for entry processor. */
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
index 80b8d0b2f0e..963df4d0c76 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateRequest.java
@@ -24,6 +24,7 @@ import javax.cache.expiry.ExpiryPolicy;
 import javax.cache.processor.EntryProcessor;
 import org.apache.ignite.cache.CacheWriteSynchronizationMode;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.CacheEntryPredicate;
 import org.apache.ignite.internal.processors.cache.CacheObject;
@@ -43,6 +44,7 @@ import static 
org.apache.ignite.internal.processors.cache.GridCacheOperation.TRA
 /**
  *
  */
+@UseBinaryMarshaller
 public class GridNearAtomicSingleUpdateRequest extends 
GridNearAtomicAbstractUpdateRequest {
     /** Key to update. */
     @GridToStringInclude
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
index 066ba444f0f..a4b049a7ab0 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
@@ -23,6 +23,7 @@ import java.util.UUID;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteLogger;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.CacheObject;
 import org.apache.ignite.internal.processors.cache.DeployableMessage;
@@ -40,6 +41,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * DHT atomic cache near update response.
  */
+@UseBinaryMarshaller
 public class GridNearAtomicUpdateResponse extends GridCacheIdMessage 
implements GridCacheDeployable, DeployableMessage {
     /** Cache message index. */
     public static final int CACHE_MSG_IDX = nextIndexId();
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/NearCacheUpdates.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/NearCacheUpdates.java
index 2c04599558b..380a1c80e62 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/NearCacheUpdates.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/NearCacheUpdates.java
@@ -20,6 +20,7 @@ package 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.CacheObject;
 import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
 import org.apache.ignite.internal.util.GridLongList;
@@ -31,6 +32,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  *
  */
+@UseBinaryMarshaller
 public class NearCacheUpdates implements Message {
     /** Indexes of keys for which values were generated on primary node (used 
if originating node has near cache). */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/UpdateErrors.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/UpdateErrors.java
index 820b5d7b4d1..2f79462e788 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/UpdateErrors.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/UpdateErrors.java
@@ -22,6 +22,7 @@ import java.util.Collection;
 import java.util.List;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.managers.communication.ErrorMessage;
 import org.apache.ignite.internal.processors.cache.KeyCacheObject;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
@@ -32,6 +33,7 @@ import 
org.apache.ignite.plugin.extensions.communication.Message;
  *
  */
 @SuppressWarnings("AssignmentOrReturnOfFieldWithMutableType")
+@UseBinaryMarshaller
 public class UpdateErrors implements Message {
     /** Failed keys. */
     @GridToStringInclude
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysRequest.java
index 36e74d86c20..c151c491c08 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysRequest.java
@@ -19,6 +19,7 @@ package 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader;
 
 import java.util.Collection;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.GridCacheDeployable;
 import org.apache.ignite.internal.processors.cache.GridCacheIdMessage;
@@ -32,6 +33,7 @@ import org.apache.ignite.lang.IgniteUuid;
  * Force keys request. This message is sent by node while preloading to force 
another node to put given keys into the
  * next batch of transmitting entries.
  */
+@UseBinaryMarshaller
 public class GridDhtForceKeysRequest extends GridCacheIdMessage implements 
GridCacheDeployable {
     /** Future ID. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysResponse.java
index 09afa95023c..e07880f1e7c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysResponse.java
@@ -22,6 +22,7 @@ import java.util.Collection;
 import java.util.List;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.managers.communication.ErrorMessage;
 import org.apache.ignite.internal.processors.cache.GridCacheDeployable;
 import org.apache.ignite.internal.processors.cache.GridCacheEntryInfo;
@@ -36,6 +37,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * Force keys response. Contains absent keys.
  */
+@UseBinaryMarshaller
 public class GridDhtForceKeysResponse extends GridCacheIdMessage implements 
GridCacheDeployable {
     /** Future ID. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyMessage.java
index 8b85ce7913a..efdb4c5f328 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyMessage.java
@@ -25,6 +25,7 @@ import java.util.List;
 import java.util.Map;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.managers.communication.ErrorMessage;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.CacheObjectContext;
@@ -40,6 +41,7 @@ import org.jetbrains.annotations.Nullable;
  * Partition supply message.
  */
 @SuppressWarnings("AssignmentOrReturnOfFieldWithMutableType")
+@UseBinaryMarshaller
 public class GridDhtPartitionSupplyMessage extends GridCacheGroupIdMessage 
implements GridCacheDeployable {
     /** An unique (per demander) rebalance id. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java
index 972aa6f0ebe..ef0e33772fc 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetRequest.java
@@ -23,6 +23,7 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.GridCacheDeployable;
 import org.apache.ignite.internal.processors.cache.GridCacheIdMessage;
@@ -40,6 +41,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * Get request. Responsible for obtaining entry from primary node. 'Near' 
means 'Initiating node' here, not 'Near Cache'.
  */
+@UseBinaryMarshaller
 public class GridNearGetRequest extends GridCacheIdMessage implements 
GridCacheDeployable, GridCacheVersionable {
     /** */
     private static final int READ_THROUGH_FLAG_MASK = 0x01;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetResponse.java
index c8a8c84b6b1..1a59f19dd32 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetResponse.java
@@ -20,6 +20,7 @@ package 
org.apache.ignite.internal.processors.cache.distributed.near;
 import java.util.Collection;
 import java.util.Collections;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.managers.communication.ErrorMessage;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.GridCacheDeployable;
@@ -37,6 +38,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * Get response.
  */
+@UseBinaryMarshaller
 public class GridNearGetResponse extends GridCacheIdMessage implements 
GridCacheDeployable, GridCacheVersionable {
     /** Future ID. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearSingleGetRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearSingleGetRequest.java
index 45bb7739bf4..ba8496e2b69 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearSingleGetRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearSingleGetRequest.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.processors.cache.distributed.near;
 
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.GridCacheDeployable;
 import org.apache.ignite.internal.processors.cache.GridCacheIdMessage;
@@ -29,6 +30,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  *
  */
+@UseBinaryMarshaller
 public class GridNearSingleGetRequest extends GridCacheIdMessage implements 
GridCacheDeployable {
     /** */
     private static final int READ_THROUGH_FLAG_MASK = 0x01;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearSingleGetResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearSingleGetResponse.java
index fcccd4494ac..97dee5aea40 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearSingleGetResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearSingleGetResponse.java
@@ -19,6 +19,7 @@ package 
org.apache.ignite.internal.processors.cache.distributed.near;
 
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.managers.communication.ErrorMessage;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.CacheObject;
@@ -34,6 +35,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  *
  */
+@UseBinaryMarshaller
 public class GridNearSingleGetResponse extends GridCacheIdMessage implements 
GridCacheDeployable, DeployableMessage {
     /** */
     public static final int INVALID_PART_FLAG_MASK = 0x1;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
index 2642f25d130..0150ee99cd5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
@@ -23,6 +23,7 @@ import java.util.HashMap;
 import java.util.Map;
 import org.apache.ignite.internal.Marshalled;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.CacheObject;
 import org.apache.ignite.internal.processors.cache.GridCacheReturn;
@@ -38,6 +39,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * Near cache prepare response.
  */
+@UseBinaryMarshaller
 public class GridNearTxPrepareResponse extends 
GridDistributedTxPrepareResponse {
     /** Versions that are less than lock version ({@link #version()}). */
     @GridToStringInclude
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java
index 3f21d760df6..11ae812ad4a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryRequest.java
@@ -21,6 +21,7 @@ import java.util.Collection;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.Marshalled;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.DeployableMessage;
 import org.apache.ignite.internal.processors.cache.GridCacheContext;
@@ -45,6 +46,7 @@ import static 
org.apache.ignite.internal.processors.cache.query.GridCacheQueryTy
 /**
  * Query request.
  */
+@UseBinaryMarshaller
 public class GridCacheQueryRequest extends GridCacheIdMessage implements 
GridCacheDeployable, DeployableMessage {
     /** */
     private static final int FLAG_DATA_PAGE_SCAN_DFLT = 0b00;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
index 902921726f8..051181d7888 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryResponse.java
@@ -22,6 +22,7 @@ import java.util.Map;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.Marshalled;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.cache.query.index.IndexQueryResultMeta;
 import org.apache.ignite.internal.managers.communication.ErrorMessage;
 import org.apache.ignite.internal.processors.cache.DeployableMessage;
@@ -36,6 +37,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * Page of cache query response.
  */
+@UseBinaryMarshaller
 public class GridCacheQueryResponse extends GridCacheIdMessage implements 
GridCacheDeployable, DeployableMessage {
     /** */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEntry.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEntry.java
index 3614a580aa1..85bb7840402 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEntry.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEntry.java
@@ -21,6 +21,7 @@ import javax.cache.event.EventType;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.MarshallableMessage;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.managers.deployment.GridDeploymentInfo;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.CacheObject;
@@ -36,6 +37,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * Continuous query entry.
  */
+@UseBinaryMarshaller
 public class CacheContinuousQueryEntry implements GridCacheDeployable, 
MarshallableMessage, CacheIdAware {
     /** */
     private static final byte BACKUP_ENTRY = 0b0001;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java
index a2d36d76d8c..635524f1e09 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java
@@ -28,6 +28,7 @@ import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.MarshallableMessage;
 import org.apache.ignite.internal.Marshalled;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.cache.CacheEntryPredicate;
 import org.apache.ignite.internal.processors.cache.CacheInvalidStateException;
@@ -61,6 +62,7 @@ import static 
org.apache.ignite.internal.processors.cache.GridCacheOperation.TRA
  * {@link #equals(Object)} method, as transaction entries should use 
referential
  * equality.
  */
+@UseBinaryMarshaller
 public class IgniteTxEntry implements GridPeerDeployAware, 
MarshallableMessage, CacheIdAware {
     /** */
     private static final long serialVersionUID = 0L;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxKey.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxKey.java
index b428069ae48..2fa78225904 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxKey.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxKey.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.processors.cache.transactions;
 
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.KeyCacheObject;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.internal.S;
@@ -28,6 +29,7 @@ import 
org.apache.ignite.plugin.extensions.communication.Message;
  * Cache transaction key. This wrapper is needed because same keys may be 
enlisted in the same transaction
  * for multiple caches.
  */
+@UseBinaryMarshaller
 public class IgniteTxKey implements Message, CacheIdAware {
     /** Key. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxEntryValueHolder.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxEntryValueHolder.java
index 425e4d88cdf..0531bc4d8f8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxEntryValueHolder.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxEntryValueHolder.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.processors.cache.transactions;
 
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.CacheObject;
 import org.apache.ignite.internal.processors.cache.GridCacheOperation;
 import org.apache.ignite.internal.util.tostring.GridToStringExclude;
@@ -35,6 +36,7 @@ import static 
org.apache.ignite.internal.processors.cache.GridCacheOperation.UPD
 /**
  * Auxiliary class to hold value, value-has-been-set flag, value update 
operation, value bytes.
  */
+@UseBinaryMarshaller
 public class TxEntryValueHolder implements Message {
     /** Stored value. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxLocksRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxLocksRequest.java
index 1f20e21d608..9cc72fa97a7 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxLocksRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxLocksRequest.java
@@ -20,6 +20,7 @@ package 
org.apache.ignite.internal.processors.cache.transactions;
 import java.util.Set;
 import org.apache.ignite.internal.Marshalled;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.GridCacheMessage;
 import org.apache.ignite.internal.util.tostring.GridToStringExclude;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
@@ -29,6 +30,7 @@ import org.apache.ignite.internal.util.typedef.internal.S;
 /**
  * Transactions lock list request.
  */
+@UseBinaryMarshaller
 public class TxLocksRequest extends GridCacheMessage {
     /** Future ID. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxLocksResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxLocksResponse.java
index b022b0d8e70..f01414aecd4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxLocksResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TxLocksResponse.java
@@ -25,6 +25,7 @@ import java.util.Map;
 import java.util.Set;
 import org.apache.ignite.internal.Marshalled;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.GridCacheMessage;
 import org.apache.ignite.internal.util.tostring.GridToStringExclude;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
@@ -33,6 +34,7 @@ import org.apache.ignite.internal.util.typedef.internal.S;
 /**
  * Transactions lock list response.
  */
+@UseBinaryMarshaller
 public class TxLocksResponse extends GridCacheMessage {
     /** Future ID. */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerEntry.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerEntry.java
index 17353206c0a..a9497cd1884 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerEntry.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerEntry.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.datastreamer;
 
 import java.util.Map;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.processors.cache.CacheObject;
 import org.apache.ignite.internal.processors.cache.GridCacheContext;
 import org.apache.ignite.internal.processors.cache.KeyCacheObject;
@@ -29,6 +30,7 @@ import 
org.apache.ignite.plugin.extensions.communication.Message;
 /**
  *
  */
+@UseBinaryMarshaller
 public class DataStreamerEntry implements Map.Entry<KeyCacheObject, 
CacheObject>, Message {
     /** */
     @Order(0)
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerResponse.java
index 1704e73330f..a13f8c6ea7b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerResponse.java
@@ -71,5 +71,4 @@ public class DataStreamerResponse implements Message {
     @Override public String toString() {
         return S.toString(DataStreamerResponse.class, this);
     }
-
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskResultResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskResultResponse.java
index 32b6ef00ba5..3cc04906fdb 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskResultResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/task/GridTaskResultResponse.java
@@ -19,12 +19,14 @@ package 
org.apache.ignite.internal.processors.rest.handlers.task;
 
 import org.apache.ignite.internal.Marshalled;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.plugin.extensions.communication.Message;
 import org.jetbrains.annotations.Nullable;
 
 /**
  * Task result response.
  */
+@UseBinaryMarshaller
 public class GridTaskResultResponse implements Message {
     /** Result. */
     @Marshalled("resBytes")
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceSingleNodeDeploymentResult.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceSingleNodeDeploymentResult.java
index f2b55d3e223..9ac79f614e7 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceSingleNodeDeploymentResult.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/ServiceSingleNodeDeploymentResult.java
@@ -21,6 +21,7 @@ import java.io.Serializable;
 import java.util.Collection;
 import java.util.Collections;
 import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.UseBinaryMarshaller;
 import org.apache.ignite.internal.managers.communication.ErrorMessage;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.internal.S;
@@ -32,6 +33,7 @@ import org.jetbrains.annotations.Nullable;
  * <p/>
  * Contains count of deployed service instances on single node and deployment 
errors if exist.
  */
+@UseBinaryMarshaller
 public class ServiceSingleNodeDeploymentResult implements Message, 
Serializable {
     /** */
     private static final long serialVersionUID = 0L;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpInverseConnectionResponseMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpInverseConnectionResponseMessage.java
index 6b5e9579d96..6ba4939c8ae 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpInverseConnectionResponseMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpInverseConnectionResponseMessage.java
@@ -46,7 +46,6 @@ public class TcpInverseConnectionResponseMessage implements 
TcpConnectionIndexAw
         return connIdx;
     }
 
-
     /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(TcpInverseConnectionResponseMessage.class, this);
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
index f6153ab8b9a..a121b807863 100644
--- 
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
@@ -24,14 +24,11 @@ import 
org.apache.ignite.internal.plugin.AbstractMarshallableMessageFactoryProvi
 public class ZkMessageFactory extends 
AbstractMarshallableMessageFactoryProvider {
     /** {@inheritDoc} */
     @Override public void registerAll(IgniteMessageFactory factory) {
-        register(factory, ZkCommunicationErrorResolveFinishMessage.class, 
(short)400, 
-            ZkCommunicationErrorResolveFinishMessage::new, dfltMarsh);
-        register(factory, ZkCommunicationErrorResolveStartMessage.class, 
(short)401, 
-            ZkCommunicationErrorResolveStartMessage::new, dfltMarsh);
-        register(factory, ZkForceNodeFailMessage.class, (short)402, 
ZkForceNodeFailMessage::new, dfltMarsh);
-        register(factory, ZkNoServersMessage.class, (short)403, 
ZkNoServersMessage::new, dfltMarsh);
-        register(factory, ZkDiscoDataBagWrapper.class, (short)404, 
ZkDiscoDataBagWrapper::new, dfltMarsh);
-        register(factory, ZkOperationContextAwareCustomMessage.class, 
(short)405,
-            ZkOperationContextAwareCustomMessage::new, dfltMarsh);
+        register(factory, ZkCommunicationErrorResolveFinishMessage.class, 
(short)400, ZkCommunicationErrorResolveFinishMessage::new);
+        register(factory, ZkCommunicationErrorResolveStartMessage.class, 
(short)401, ZkCommunicationErrorResolveStartMessage::new);
+        register(factory, ZkForceNodeFailMessage.class, (short)402, 
ZkForceNodeFailMessage::new);
+        register(factory, ZkNoServersMessage.class, (short)403, 
ZkNoServersMessage::new);
+        register(factory, ZkDiscoDataBagWrapper.class, (short)404, 
ZkDiscoDataBagWrapper::new);
+        register(factory, ZkOperationContextAwareCustomMessage.class, 
(short)405, ZkOperationContextAwareCustomMessage::new);
     }
 }

Reply via email to