You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/08/24 14:04:53 UTC
[30/50] [abbrv] ignite git commit: IGNITE-2649 -
Ignition.localIgnite() unreliable under Gateways and cause wrong components
deserialization.
IGNITE-2649 - Ignition.localIgnite() unreliable under Gateways and cause wrong components deserialization.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/97ce8fbb
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/97ce8fbb
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/97ce8fbb
Branch: refs/heads/ignite-2649
Commit: 97ce8fbbce3ccdf99d05d5e36899fe0a54deb5e7
Parents: 71ef652
Author: dkarachentsev <dk...@gridgain.com>
Authored: Wed Aug 3 13:26:39 2016 +0300
Committer: dkarachentsev <dk...@gridgain.com>
Committed: Wed Aug 3 13:26:40 2016 +0300
----------------------------------------------------------------------
.../socket/WordsSocketStreamerServer.java | 3 +-
.../rest/protocols/tcp/MockNioSession.java | 7 +
.../rendezvous/RendezvousAffinityFunction.java | 5 +-
.../cache/store/jdbc/CacheJdbcBlobStore.java | 5 +-
.../internal/GridEventConsumeHandler.java | 30 +--
.../internal/GridJobSiblingsResponse.java | 6 +-
.../internal/GridMessageListenHandler.java | 14 +-
.../org/apache/ignite/internal/IgnitionEx.java | 30 ++-
.../internal/binary/BinaryEnumObjectImpl.java | 3 +-
.../internal/binary/BinaryObjectImpl.java | 18 +-
.../ignite/internal/binary/BinaryUtils.java | 4 +-
.../internal/binary/BinaryWriterExImpl.java | 3 +-
.../client/GridClientConfiguration.java | 1 -
.../connection/GridClientNioTcpConnection.java | 4 +-
.../router/impl/GridTcpRouterNioParser.java | 3 +-
.../checkpoint/GridCheckpointManager.java | 11 +-
.../managers/communication/GridIoManager.java | 17 +-
.../deployment/GridDeploymentCommunication.java | 6 +-
.../eventstorage/GridEventStorageManager.java | 26 +-
.../swapspace/GridSwapSpaceManager.java | 5 +-
.../processors/affinity/GridAffinityUtils.java | 7 +-
.../cache/CacheEntrySerializablePredicate.java | 6 +-
.../cache/CacheInvokeDirectResult.java | 9 +-
.../processors/cache/GridCacheMessage.java | 13 +-
.../processors/cache/GridCacheProcessor.java | 7 +-
.../processors/cache/GridCacheUtils.java | 3 +-
.../GridDistributedLockResponse.java | 9 +-
.../GridDistributedTxPrepareRequest.java | 6 +-
.../GridDistributedTxPrepareResponse.java | 9 +-
.../dht/GridDhtAffinityAssignmentResponse.java | 6 +-
.../dht/GridDhtTxFinishResponse.java | 9 +-
.../dht/atomic/GridDhtAtomicUpdateResponse.java | 6 +-
.../dht/atomic/GridNearAtomicUpdateRequest.java | 9 +-
.../atomic/GridNearAtomicUpdateResponse.java | 9 +-
.../dht/preloader/GridDhtForceKeysResponse.java | 9 +-
.../GridDhtPartitionDemandMessage.java | 9 +-
.../preloader/GridDhtPartitionsFullMessage.java | 17 +-
.../GridDhtPartitionsSingleMessage.java | 17 +-
.../distributed/near/GridNearGetResponse.java | 9 +-
.../near/GridNearSingleGetResponse.java | 9 +-
.../near/GridNearTxFinishResponse.java | 9 +-
.../cache/query/GridCacheLocalQueryFuture.java | 13 +-
.../cache/query/GridCacheQueryRequest.java | 31 ++-
.../cache/query/GridCacheQueryResponse.java | 9 +-
.../cache/query/GridCacheSqlQuery.java | 9 +-
.../continuous/CacheContinuousQueryHandler.java | 6 +-
.../jdbc/GridCacheQueryJdbcMetadataTask.java | 5 +-
.../query/jdbc/GridCacheQueryJdbcTask.java | 8 +-
.../cache/transactions/IgniteTxEntry.java | 11 +-
.../version/GridCacheRawVersionedEntry.java | 11 +-
.../IgniteCacheObjectProcessorImpl.java | 5 +-
.../closure/GridClosureProcessor.java | 9 +-
.../continuous/GridContinuousProcessor.java | 13 +-
.../processors/continuous/StartRequestData.java | 13 +-
.../datastreamer/DataStreamProcessor.java | 13 +-
.../datastreamer/DataStreamerImpl.java | 10 +-
.../processors/igfs/IgfsAckMessage.java | 15 +-
.../igfs/IgfsCommunicationMessage.java | 8 +-
.../internal/processors/igfs/IgfsContext.java | 4 +-
.../processors/igfs/IgfsDataManager.java | 2 +-
.../processors/igfs/IgfsDeleteMessage.java | 16 +-
.../igfs/IgfsFragmentizerManager.java | 2 +-
.../internal/processors/igfs/IgfsImpl.java | 2 +-
.../internal/processors/igfs/IgfsPaths.java | 7 +-
.../processors/job/GridJobProcessor.java | 34 +--
.../internal/processors/job/GridJobWorker.java | 10 +-
.../offheap/GridOffHeapProcessor.java | 5 +-
.../handlers/task/GridTaskCommandHandler.java | 13 +-
.../rest/protocols/tcp/GridTcpRestParser.java | 33 ++-
.../service/GridServiceProcessor.java | 11 +-
.../processors/task/GridTaskProcessor.java | 12 +-
.../processors/task/GridTaskWorker.java | 21 +-
.../internal/util/ipc/IpcToNioAdapter.java | 7 +-
.../ignite/internal/util/nio/GridNioServer.java | 12 +-
.../internal/util/nio/GridNioSession.java | 7 +
.../internal/util/nio/GridNioSessionImpl.java | 14 +-
.../util/nio/GridSelectorNioSessionImpl.java | 7 +-
.../ignite/marshaller/MarshallerUtils.java | 241 +++++++++++++++++++
.../sharedfs/SharedFsCheckpointSpi.java | 6 +-
.../sharedfs/SharedFsTimeoutTask.java | 10 +-
.../spi/checkpoint/sharedfs/SharedFsUtils.java | 13 +-
.../communication/tcp/TcpCommunicationSpi.java | 1 +
.../ignite/spi/discovery/tcp/ClientImpl.java | 15 +-
.../ignite/spi/discovery/tcp/ServerImpl.java | 47 ++--
.../spi/discovery/tcp/TcpDiscoverySpi.java | 14 +-
.../TcpDiscoveryMulticastIpFinder.java | 38 ++-
.../TcpDiscoveryCustomEventMessage.java | 23 +-
.../spi/swapspace/file/FileSwapSpaceSpi.java | 3 +-
.../stream/socket/SocketMessageConverter.java | 5 +-
.../ignite/stream/socket/SocketStreamer.java | 8 +-
.../GridBinaryCacheSerializationTest.java | 113 +++++++++
.../nio/impl/GridNioFilterChainSelfTest.java | 6 +
.../spi/discovery/tcp/TcpDiscoverySelfTest.java | 2 +-
.../stream/socket/SocketStreamerSelfTest.java | 4 +-
.../HadoopExternalCommunication.java | 5 +
.../communication/HadoopIpcToNioAdapter.java | 6 +-
.../communication/HadoopMarshallerFilter.java | 6 +-
.../processors/query/h2/IgniteH2Indexing.java | 5 +-
.../h2/twostep/GridReduceQueryExecutor.java | 2 +-
.../cache/websession/WebSessionFilter.java | 12 +-
.../ignite/cache/websession/WebSessionV2.java | 13 +-
101 files changed, 1038 insertions(+), 356 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/examples/src/main/java/org/apache/ignite/examples/streaming/wordcount/socket/WordsSocketStreamerServer.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/apache/ignite/examples/streaming/wordcount/socket/WordsSocketStreamerServer.java b/examples/src/main/java/org/apache/ignite/examples/streaming/wordcount/socket/WordsSocketStreamerServer.java
index 814d235..c1727a55 100644
--- a/examples/src/main/java/org/apache/ignite/examples/streaming/wordcount/socket/WordsSocketStreamerServer.java
+++ b/examples/src/main/java/org/apache/ignite/examples/streaming/wordcount/socket/WordsSocketStreamerServer.java
@@ -35,6 +35,7 @@ import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.stream.StreamSingleTupleExtractor;
import org.apache.ignite.stream.socket.SocketMessageConverter;
import org.apache.ignite.stream.socket.SocketStreamer;
+import org.apache.ignite.configuration.IgniteConfiguration;
/**
* Example demonstrates streaming of data from external components into Ignite cache.
@@ -99,7 +100,7 @@ public class WordsSocketStreamerServer {
// Converter from zero-terminated string to Java strings.
sockStmr.setConverter(new SocketMessageConverter<String>() {
- @Override public String convert(byte[] msg) {
+ @Override public String convert(byte[] msg, IgniteConfiguration cfg) {
try {
return new String(msg, "ASCII");
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/MockNioSession.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/MockNioSession.java b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/MockNioSession.java
index c82c73e..e4efc78 100644
--- a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/MockNioSession.java
+++ b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/MockNioSession.java
@@ -18,6 +18,8 @@
package org.apache.ignite.internal.processors.rest.protocols.tcp;
import java.net.InetSocketAddress;
+
+import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.util.lang.GridMetadataAwareAdapter;
import org.apache.ignite.internal.util.nio.GridNioFinishedFuture;
import org.apache.ignite.internal.util.nio.GridNioFuture;
@@ -139,4 +141,9 @@ public class MockNioSession extends GridMetadataAwareAdapter implements GridNioS
@Nullable @Override public GridNioRecoveryDescriptor recoveryDescriptor() {
return null;
}
+
+ /** {@inheritDoc} */
+ @Override public IgniteConfiguration igniteConfiguration() {
+ return null;
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java b/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java
index 37258d4..8a84e9f 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/affinity/rendezvous/RendezvousAffinityFunction.java
@@ -42,6 +42,7 @@ import org.apache.ignite.cache.affinity.AffinityNodeHashResolver;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.GridKernalContextImpl;
import org.apache.ignite.internal.processors.cache.GridCacheUtils;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.A;
@@ -49,6 +50,7 @@ import org.apache.ignite.internal.util.typedef.internal.LT;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiPredicate;
import org.apache.ignite.lang.IgniteBiTuple;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.resources.IgniteInstanceResource;
import org.apache.ignite.resources.LoggerResource;
import org.jetbrains.annotations.Nullable;
@@ -335,7 +337,8 @@ public class RendezvousAffinityFunction implements AffinityFunction, Externaliza
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
- byte[] nodeHashBytes = ignite.configuration().getMarshaller().marshal(nodeHash);
+ byte[] nodeHashBytes = MarshallerUtils.marshal(
+ ignite.configuration().getMarshaller(), nodeHash, ignite.configuration());
out.write(U.intToBytes(part), 0, 4); // Avoid IOException.
out.write(nodeHashBytes, 0, nodeHashBytes.length); // Avoid IOException.
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcBlobStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcBlobStore.java b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcBlobStore.java
index 147f6c9..d34adda 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcBlobStore.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheJdbcBlobStore.java
@@ -44,6 +44,7 @@ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.marshaller.Marshaller;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.marshaller.jdk.JdkMarshaller;
import org.apache.ignite.resources.CacheStoreSessionResource;
import org.apache.ignite.resources.IgniteInstanceResource;
@@ -560,7 +561,7 @@ public class CacheJdbcBlobStore<K, V> extends CacheStoreAdapter<K, V> {
* @throws IgniteCheckedException If failed to convert.
*/
protected byte[] toBytes(Object obj) throws IgniteCheckedException {
- return marsh.marshal(obj);
+ return MarshallerUtils.marshal(marsh, obj, ignite.configuration());
}
/**
@@ -575,7 +576,7 @@ public class CacheJdbcBlobStore<K, V> extends CacheStoreAdapter<K, V> {
if (bytes == null || bytes.length == 0)
return null;
- return marsh.unmarshal(bytes, getClass().getClassLoader());
+ return MarshallerUtils.unmarshal(marsh, bytes, getClass().getClassLoader(), ignite.configuration());
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/GridEventConsumeHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridEventConsumeHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/GridEventConsumeHandler.java
index 19bf1a7..e99c2af 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridEventConsumeHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridEventConsumeHandler.java
@@ -51,6 +51,7 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiPredicate;
import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.marshaller.Marshaller;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.jetbrains.annotations.Nullable;
import static org.apache.ignite.events.EventType.EVTS_ALL;
@@ -219,7 +220,7 @@ class GridEventConsumeHandler implements GridContinuousHandler {
if (cctx.deploymentEnabled() &&
ctx.discovery().cacheNode(node, cacheName)) {
- wrapper.p2pMarshal(ctx.config().getMarshaller());
+ wrapper.p2pMarshal(ctx);
wrapper.cacheName = cacheName;
@@ -338,7 +339,7 @@ class GridEventConsumeHandler implements GridContinuousHandler {
}
try {
- wrapper.p2pUnmarshal(ctx.config().getMarshaller(), U.resolveClassLoader(ldr, ctx.config()));
+ wrapper.p2pUnmarshal(ctx, U.resolveClassLoader(ldr, ctx.config()));
}
catch (IgniteCheckedException e) {
U.error(ctx.log(getClass()), "Failed to unmarshal event.", e);
@@ -370,7 +371,7 @@ class GridEventConsumeHandler implements GridContinuousHandler {
depInfo = new GridDeploymentInfoBean(dep);
- filterBytes = ctx.config().getMarshaller().marshal(filter);
+ filterBytes = MarshallerUtils.marshal(ctx.config().getMarshaller(), filter, ctx.gridName());
}
}
@@ -387,7 +388,8 @@ class GridEventConsumeHandler implements GridContinuousHandler {
if (dep == null)
throw new IgniteDeploymentCheckedException("Failed to obtain deployment for class: " + clsName);
- filter = ctx.config().getMarshaller().unmarshal(filterBytes, U.resolveClassLoader(dep.classLoader(), ctx.config()));
+ filter = MarshallerUtils.unmarshal(ctx.config().getMarshaller(), filterBytes,
+ U.resolveClassLoader(dep.classLoader(), ctx.config()), ctx.gridName());
}
}
@@ -484,27 +486,27 @@ class GridEventConsumeHandler implements GridContinuousHandler {
}
/**
- * @param marsh Marshaller.
- * @throws IgniteCheckedException In case of error.
+ * @param ctx Kernal context.
+ * @throws IgniteCheckedException
*/
- void p2pMarshal(Marshaller marsh) throws IgniteCheckedException {
- assert marsh != null;
+ void p2pMarshal(final GridKernalContext ctx) throws IgniteCheckedException {
+ assert ctx.config().getMarshaller() != null;
- bytes = marsh.marshal(evt);
+ bytes = MarshallerUtils.marshal(ctx.config().getMarshaller(), evt, ctx.gridName());
}
/**
- * @param marsh Marshaller.
+ * @param ctx Kernal context.
* @param ldr Class loader.
- * @throws IgniteCheckedException In case of error.
+ * @throws IgniteCheckedException
*/
- void p2pUnmarshal(Marshaller marsh, @Nullable ClassLoader ldr) throws IgniteCheckedException {
- assert marsh != null;
+ void p2pUnmarshal(final GridKernalContext ctx, @Nullable ClassLoader ldr) throws IgniteCheckedException {
+ assert ctx.config().getMarshaller() != null;
assert evt == null;
assert bytes != null;
- evt = marsh.unmarshal(bytes, ldr);
+ evt = MarshallerUtils.unmarshal(ctx.config().getMarshaller(), bytes, ldr, ctx.gridName());
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/GridJobSiblingsResponse.java
----------------------------------------------------------------------
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 aa81cc5..714fb13 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
@@ -24,6 +24,7 @@ import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.compute.ComputeJobSibling;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.marshaller.Marshaller;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
@@ -68,13 +69,14 @@ public class GridJobSiblingsResponse implements Message {
/**
* @param marsh Marshaller.
+ * @param ctx kernal context.
* @throws IgniteCheckedException In case of error.
*/
- public void unmarshalSiblings(Marshaller marsh) throws IgniteCheckedException {
+ public void unmarshalSiblings(Marshaller marsh, final GridKernalContext ctx) throws IgniteCheckedException {
assert marsh != null;
if (siblingsBytes != null)
- siblings = marsh.unmarshal(siblingsBytes, null);
+ siblings = MarshallerUtils.unmarshal(marsh, siblingsBytes, null, ctx.gridName());
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/GridMessageListenHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridMessageListenHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/GridMessageListenHandler.java
index 0ac6877..8984313 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridMessageListenHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridMessageListenHandler.java
@@ -35,6 +35,7 @@ import org.apache.ignite.internal.util.lang.GridPeerDeployAware;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiPredicate;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.jetbrains.annotations.Nullable;
/**
@@ -159,9 +160,9 @@ public class GridMessageListenHandler implements GridContinuousHandler {
assert ctx.config().isPeerClassLoadingEnabled();
if (topic != null)
- topicBytes = ctx.config().getMarshaller().marshal(topic);
+ topicBytes = MarshallerUtils.marshal(ctx.config().getMarshaller(), topic, ctx.gridName());
- predBytes = ctx.config().getMarshaller().marshal(pred);
+ predBytes = MarshallerUtils.marshal(ctx.config().getMarshaller(), pred, ctx.gridName());
// Deploy only listener, as it is very likely to be of some user class.
GridPeerDeployAware pda = U.peerDeployAware(pred);
@@ -192,10 +193,13 @@ public class GridMessageListenHandler implements GridContinuousHandler {
ClassLoader ldr = dep.classLoader();
- if (topicBytes != null)
- topic = ctx.config().getMarshaller().unmarshal(topicBytes, U.resolveClassLoader(ldr, ctx.config()));
+ if (topicBytes != null) {
+ topic = MarshallerUtils.unmarshal(ctx.config().getMarshaller(), topicBytes,
+ U.resolveClassLoader(ldr, ctx.config()), ctx.gridName());
+ }
- pred = ctx.config().getMarshaller().unmarshal(predBytes, U.resolveClassLoader(ldr, ctx.config()));
+ pred = MarshallerUtils.unmarshal(ctx.config().getMarshaller(), predBytes,
+ U.resolveClassLoader(ldr, ctx.config()), ctx.gridName());
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index 6f5b9a6..8f882ef 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -166,6 +166,9 @@ public class IgnitionEx {
private static final Collection<IgnitionListener> lsnrs = new GridConcurrentHashSet<>(4);
/** */
+ private static final ThreadLocal<String> GRID_NAME_THREAD_LOC = new ThreadLocal<>();
+
+ /** */
private static ThreadLocal<Boolean> daemon = new ThreadLocal<Boolean>() {
@Override protected Boolean initialValue() {
return false;
@@ -1279,17 +1282,20 @@ public class IgnitionEx {
}
/**
- * Gets the grid, which is owner of current thread. An Exception is thrown if
+ * Gets a name of the grid from thread local config, which is owner of current thread. An Exception is thrown if
* current thread is not an {@link IgniteThread}.
*
* @return Grid instance related to current thread
* @throws IllegalArgumentException Thrown to indicate, that current thread is not an {@link IgniteThread}.
*/
public static IgniteKernal localIgnite() throws IllegalArgumentException {
- if (Thread.currentThread() instanceof IgniteThread)
+ if (GRID_NAME_THREAD_LOC.get() != null)
+ return gridx(GRID_NAME_THREAD_LOC.get());
+ else if (Thread.currentThread() instanceof IgniteThread)
return gridx(((IgniteThread)Thread.currentThread()).getGridName());
else
- throw new IllegalArgumentException("This method should be accessed under " + IgniteThread.class.getName());
+ throw new IllegalArgumentException("Ignite conf thread local must be set or" +
+ " this method should be accessed under " + IgniteThread.class.getName());
}
/**
@@ -1355,6 +1361,24 @@ public class IgnitionEx {
}
/**
+ * Set ignite config to thread local.
+ *
+ * @param name Grid name.
+ */
+ public static void setGridNameThreadLocal(final String name) {
+ GRID_NAME_THREAD_LOC.set(name);
+ }
+
+ /**
+ * Get ignite config from thread local.
+ *
+ * @return Grid name.
+ */
+ public static String getGridNameThreadLocal() {
+ return GRID_NAME_THREAD_LOC.get();
+ }
+
+ /**
* Start context encapsulates all starting parameters.
*/
private static final class GridStartContext {
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
index afd0bdc..489220e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
@@ -33,6 +33,7 @@ import org.apache.ignite.internal.processors.cache.CacheObject;
import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl;
import org.apache.ignite.internal.util.typedef.internal.SB;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
import org.jetbrains.annotations.Nullable;
@@ -243,7 +244,7 @@ public class BinaryEnumObjectImpl implements BinaryObjectEx, Externalizable, Cac
/** {@inheritDoc} */
@Override public byte[] valueBytes(CacheObjectContext cacheCtx) throws IgniteCheckedException {
- return ctx.marshaller().marshal(this);
+ return MarshallerUtils.marshal(ctx.marshaller(), this, ctx.configuration());
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java
index 3563fba..2296a3d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java
@@ -21,8 +21,10 @@ import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.binary.BinaryObject;
import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.binary.BinaryType;
+import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.IgniteCodeGeneratingFail;
+import org.apache.ignite.internal.IgnitionEx;
import org.apache.ignite.internal.binary.streams.BinaryHeapInputStream;
import org.apache.ignite.internal.processors.cache.CacheObject;
import org.apache.ignite.internal.processors.cache.CacheObjectContext;
@@ -538,8 +540,18 @@ public final class BinaryObjectImpl extends BinaryObjectExImpl implements Extern
* @return Object.
*/
private Object deserializeValue(@Nullable CacheObjectContext coCtx) {
- BinaryReaderExImpl reader = reader(null,
- coCtx != null ? coCtx.kernalContext().config().getClassLoader() : ctx.configuration().getClassLoader());
+ final String gridName = IgnitionEx.getGridNameThreadLocal();
+
+ final ClassLoader cl;
+
+ if (coCtx != null) {
+ IgnitionEx.setGridNameThreadLocal(coCtx.kernalContext().config().getGridName());
+
+ cl = coCtx.kernalContext().config().getClassLoader();
+ } else
+ cl = ctx.configuration().getClassLoader();
+
+ final BinaryReaderExImpl reader = reader(null, cl);
Object obj0 = reader.deserialize();
@@ -550,6 +562,8 @@ public final class BinaryObjectImpl extends BinaryObjectExImpl implements Extern
if (coCtx != null && coCtx.storeValue())
obj = obj0;
+ IgnitionEx.setGridNameThreadLocal(gridName);
+
return obj0;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
index b6a95fb..0ce4916 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
@@ -61,6 +61,7 @@ import org.apache.ignite.internal.binary.streams.BinaryInputStream;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.Nullable;
import org.jsr166.ConcurrentHashMap8;
@@ -1589,7 +1590,8 @@ public class BinaryUtils {
ByteArrayInputStream input = new ByteArrayInputStream(in.array(), in.position(), len);
try {
- return ctx.optimizedMarsh().unmarshal(input, U.resolveClassLoader(clsLdr, ctx.configuration()));
+ return MarshallerUtils.unmarshal(ctx.optimizedMarsh(), input,
+ U.resolveClassLoader(clsLdr, ctx.configuration()), ctx.configuration().getGridName());
}
catch (IgniteCheckedException e) {
throw new BinaryObjectException("Failed to unmarshal object with optimized marshaller", e);
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
index 30710f4..fab379a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
@@ -36,6 +36,7 @@ import org.apache.ignite.binary.BinaryWriter;
import org.apache.ignite.internal.binary.streams.BinaryHeapOutputStream;
import org.apache.ignite.internal.binary.streams.BinaryOutputStream;
import org.apache.ignite.internal.util.typedef.internal.A;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.jetbrains.annotations.Nullable;
import static java.nio.charset.StandardCharsets.UTF_8;
@@ -157,7 +158,7 @@ public class BinaryWriterExImpl implements BinaryWriter, BinaryRawWriterEx, Obje
out.writeByte(GridBinaryMarshaller.OPTM_MARSH);
try {
- byte[] arr = ctx.optimizedMarsh().marshal(obj);
+ byte[] arr = MarshallerUtils.marshal(ctx.optimizedMarsh(), obj, ctx.configuration());
writeInt(arr.length);
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java
index e9d2958..cac1bb3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientConfiguration.java
@@ -157,7 +157,6 @@ public class GridClientConfiguration {
tcpNoDelay = cfg.isTcpNoDelay();
topRefreshFreq = cfg.getTopologyRefreshFrequency();
daemon = cfg.isDaemon();
- marshaller = cfg.getMarshaller();
setDataConfigurations(cfg.getDataConfigurations());
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
index 8937504..c91f085 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
@@ -78,6 +78,7 @@ import org.apache.ignite.internal.util.nio.GridNioSessionMetaKey;
import org.apache.ignite.internal.util.nio.ssl.GridNioSslFilter;
import org.apache.ignite.internal.util.typedef.CI1;
import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.jetbrains.annotations.Nullable;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
@@ -539,7 +540,8 @@ public class GridClientNioTcpConnection extends GridClientConnection {
GridClientMessage res0 = res;
if (res instanceof GridRouterResponse) {
- res0 = marsh.unmarshal(((GridRouterResponse)res).body());
+ res0 = MarshallerUtils.unmarshal(marsh, ((GridRouterResponse)res).body(),
+ ses.igniteConfiguration().getGridName());
res0.requestId(res.requestId());
res0.clientId(res.clientId());
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridTcpRouterNioParser.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridTcpRouterNioParser.java b/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridTcpRouterNioParser.java
index 83a6869..77b9f82 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridTcpRouterNioParser.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/router/impl/GridTcpRouterNioParser.java
@@ -30,6 +30,7 @@ import org.apache.ignite.internal.processors.rest.client.message.GridRouterRespo
import org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestParser;
import org.apache.ignite.internal.util.nio.GridNioSession;
import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.marshaller.MarshallerUtils;
import static org.apache.ignite.internal.processors.rest.protocols.tcp.GridMemcachedMessage.IGNITE_REQ_FLAG;
@@ -85,7 +86,7 @@ class GridTcpRouterNioParser extends GridTcpRestParser {
GridClientMessage clientMsg = (GridClientMessage)msg;
- ByteBuffer res = marsh.marshal(msg, 45);
+ ByteBuffer res = MarshallerUtils.marshal(marsh, msg, 45, ses.igniteConfiguration().getGridName());
ByteBuffer slice = res.slice();
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java
index 6b95dad..a2db860 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java
@@ -44,6 +44,7 @@ import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.marshaller.Marshaller;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.spi.IgniteSpiException;
import org.apache.ignite.spi.checkpoint.CheckpointListener;
import org.apache.ignite.spi.checkpoint.CheckpointSpi;
@@ -173,7 +174,7 @@ public class GridCheckpointManager extends GridManagerAdapter<CheckpointSpi> {
try {
switch (scope) {
case GLOBAL_SCOPE: {
- byte[] data = state == null ? null : marsh.marshal(state);
+ byte[] data = state == null ? null : MarshallerUtils.marshal(marsh, state, ctx.gridName());
saved = getSpi(ses.getCheckpointSpi()).saveCheckpoint(key, data, timeout, override);
@@ -204,7 +205,7 @@ public class GridCheckpointManager extends GridManagerAdapter<CheckpointSpi> {
timeout = ses.getEndTime() - now;
// Save it first to avoid getting null value on another node.
- byte[] data = state == null ? null : marsh.marshal(state);
+ byte[] data = state == null ? null : MarshallerUtils.marshal(marsh, state, ctx.gridName());
Set<String> keys = keyMap.get(ses.getId());
@@ -337,8 +338,10 @@ public class GridCheckpointManager extends GridManagerAdapter<CheckpointSpi> {
Serializable state = null;
// Always deserialize with task/session class loader.
- if (data != null)
- state = marsh.unmarshal(data, U.resolveClassLoader(ses.getClassLoader(), ctx.config()));
+ if (data != null) {
+ state = MarshallerUtils.unmarshal(marsh, data,
+ U.resolveClassLoader(ses.getClassLoader(), ctx.config()), ctx.gridName());
+ }
record(EVT_CHECKPOINT_LOADED, key);
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
index 8ba6a1c..ff5b780 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
@@ -67,6 +67,7 @@ import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.lang.IgniteRunnable;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.marshaller.Marshaller;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.plugin.extensions.communication.IoPool;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageFactory;
@@ -594,7 +595,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
int topicOrd = msg.topicOrdinal();
msg.topic(topicOrd >= 0 ? GridTopic.fromOrdinal(topicOrd) :
- marsh.unmarshal(msg.topicBytes(), U.resolveClassLoader(ctx.config())));
+ MarshallerUtils.unmarshal(marsh, msg.topicBytes(), U.resolveClassLoader(ctx.config()), ctx.gridName()));
}
if (!started) {
@@ -1117,7 +1118,7 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
}
else {
if (topicOrd < 0)
- ioMsg.topicBytes(marsh.marshal(topic));
+ ioMsg.topicBytes(MarshallerUtils.marshal(marsh, topic, ctx.gridName()));
try {
if ((CommunicationSpi)getSpi() instanceof TcpCommunicationSpi)
@@ -1377,10 +1378,10 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
byte[] serTopic = null;
if (!loc) {
- serMsg = marsh.marshal(msg);
+ serMsg = MarshallerUtils.marshal(marsh, msg, ctx.gridName());
if (topic != null)
- serTopic = marsh.marshal(topic);
+ serTopic = MarshallerUtils.marshal(marsh, topic, ctx.gridName());
}
GridDeployment dep = null;
@@ -2037,8 +2038,8 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
// Unmarshall message topic if needed.
if (msgTopic == null && msgTopicBytes != null) {
- msgTopic = marsh.unmarshal(msgTopicBytes,
- U.resolveClassLoader(dep != null ? dep.classLoader() : null, ctx.config()));
+ msgTopic = MarshallerUtils.unmarshal(marsh, msgTopicBytes,
+ U.resolveClassLoader(dep != null ? dep.classLoader() : null, ctx.config()), ctx.gridName());
ioMsg.topic(msgTopic); // Save topic to avoid future unmarshallings.
}
@@ -2047,8 +2048,8 @@ public class GridIoManager extends GridManagerAdapter<CommunicationSpi<Serializa
return;
if (msgBody == null) {
- msgBody = marsh.unmarshal(ioMsg.bodyBytes(),
- U.resolveClassLoader(dep != null ? dep.classLoader() : null, ctx.config()));
+ msgBody = MarshallerUtils.unmarshal(marsh, ioMsg.bodyBytes(),
+ U.resolveClassLoader(dep != null ? dep.classLoader() : null, ctx.config()), ctx.gridName());
ioMsg.body(msgBody); // Save body to avoid future unmarshallings.
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentCommunication.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentCommunication.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentCommunication.java
index 76bd6e3..ba3b829 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentCommunication.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentCommunication.java
@@ -40,6 +40,7 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteNotPeerDeployable;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.marshaller.Marshaller;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.plugin.extensions.communication.Message;
import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
@@ -183,7 +184,8 @@ class GridDeploymentCommunication {
if (req.responseTopic() == null) {
try {
- req.responseTopic(marsh.unmarshal(req.responseTopicBytes(), U.resolveClassLoader(ctx.config())));
+ req.responseTopic(MarshallerUtils.unmarshal(marsh, req.responseTopicBytes(),
+ U.resolveClassLoader(ctx.config()), ctx.gridName()));
}
catch (IgniteCheckedException e) {
U.error(log, "Failed to process deployment request (will ignore): " + req, e);
@@ -444,7 +446,7 @@ class GridDeploymentCommunication {
long start = U.currentTimeMillis();
if (req.responseTopic() != null && !ctx.localNodeId().equals(dstNode.id()))
- req.responseTopicBytes(marsh.marshal(req.responseTopic()));
+ req.responseTopicBytes(MarshallerUtils.marshal(marsh, req.responseTopic(), ctx.gridName()));
ctx.io().send(dstNode, TOPIC_CLASSLOAD, req, GridIoPolicy.P2P_POOL);
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
index 0095707..233110b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
@@ -58,6 +58,7 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.marshaller.Marshaller;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.plugin.security.SecurityPermission;
import org.apache.ignite.spi.IgniteSpiException;
import org.apache.ignite.spi.eventstorage.EventStorageSpi;
@@ -891,12 +892,12 @@ public class GridEventStorageManager extends GridManagerAdapter<EventStorageSpi>
try {
if (res.eventsBytes() != null)
- res.events(marsh.<Collection<Event>>unmarshal(res.eventsBytes(),
- U.resolveClassLoader(ctx.config())));
+ res.events(MarshallerUtils.<Collection<Event>>unmarshal(marsh, res.eventsBytes(),
+ U.resolveClassLoader(ctx.config()), ctx.gridName()));
if (res.exceptionBytes() != null)
- res.exception(marsh.<Throwable>unmarshal(res.exceptionBytes(),
- U.resolveClassLoader(ctx.config())));
+ res.exception(MarshallerUtils.<Throwable>unmarshal(marsh, res.exceptionBytes(),
+ U.resolveClassLoader(ctx.config()), ctx.gridName()));
}
catch (IgniteCheckedException e) {
U.error(log, "Failed to unmarshal events query response: " + msg, e);
@@ -932,7 +933,7 @@ public class GridEventStorageManager extends GridManagerAdapter<EventStorageSpi>
ioMgr.addMessageListener(resTopic, resLsnr);
- byte[] serFilter = marsh.marshal(p);
+ byte[] serFilter = MarshallerUtils.marshal(marsh, p, ctx.gridName());
GridDeployment dep = ctx.deploy().deploy(p.getClass(), U.detectClassLoader(p.getClass()));
@@ -1023,7 +1024,7 @@ public class GridEventStorageManager extends GridManagerAdapter<EventStorageSpi>
ctx.io().send(locNode, topic, msg, plc);
if (!rmtNodes.isEmpty()) {
- msg.responseTopicBytes(marsh.marshal(msg.responseTopic()));
+ msg.responseTopicBytes(MarshallerUtils.marshal(marsh, msg.responseTopic(), ctx.gridName()));
ctx.io().send(rmtNodes, topic, msg, plc);
}
@@ -1088,8 +1089,10 @@ public class GridEventStorageManager extends GridManagerAdapter<EventStorageSpi>
Collection<Event> evts;
try {
- if (req.responseTopicBytes() != null)
- req.responseTopic(marsh.unmarshal(req.responseTopicBytes(), U.resolveClassLoader(ctx.config())));
+ if (req.responseTopicBytes() != null) {
+ req.responseTopic(MarshallerUtils.unmarshal(marsh, req.responseTopicBytes(),
+ U.resolveClassLoader(ctx.config()), ctx.gridName()));
+ }
GridDeployment dep = ctx.deploy().getGlobalDeployment(
req.deploymentMode(),
@@ -1105,7 +1108,8 @@ public class GridEventStorageManager extends GridManagerAdapter<EventStorageSpi>
throw new IgniteDeploymentCheckedException("Failed to obtain deployment for event filter " +
"(is peer class loading turned on?): " + req);
- filter = marsh.unmarshal(req.filter(), U.resolveClassLoader(dep.classLoader(), ctx.config()));
+ filter = MarshallerUtils.unmarshal(marsh, req.filter(),
+ U.resolveClassLoader(dep.classLoader(), ctx.config()), ctx.gridName());
// Resource injection.
ctx.resource().inject(dep, dep.deployedClass(req.filterClassName()), filter);
@@ -1140,8 +1144,8 @@ public class GridEventStorageManager extends GridManagerAdapter<EventStorageSpi>
log.debug("Sending event query response to node [nodeId=" + nodeId + "res=" + res + ']');
if (!ctx.localNodeId().equals(nodeId)) {
- res.eventsBytes(marsh.marshal(res.events()));
- res.exceptionBytes(marsh.marshal(res.exception()));
+ res.eventsBytes(MarshallerUtils.marshal(marsh, res.events(), ctx.gridName()));
+ res.exceptionBytes(MarshallerUtils.marshal(marsh, res.exception(), ctx.gridName()));
}
ctx.io().send(node, req.responseTopic(), res, PUBLIC_POOL);
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java
index 437603a..b5e18d1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java
@@ -32,6 +32,7 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiInClosure;
import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.marshaller.Marshaller;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.spi.IgniteSpiCloseableIterator;
import org.apache.ignite.spi.IgniteSpiException;
import org.apache.ignite.spi.swapspace.SwapContext;
@@ -400,7 +401,7 @@ public class GridSwapSpaceManager extends GridManagerAdapter<SwapSpaceSpi> {
if (swapBytes == null)
return null;
- return marsh.unmarshal(swapBytes, ldr != null ? ldr : U.gridClassLoader());
+ return MarshallerUtils.unmarshal(marsh, swapBytes, ldr != null ? ldr : U.gridClassLoader(), ctx.gridName());
}
/**
@@ -411,7 +412,7 @@ public class GridSwapSpaceManager extends GridManagerAdapter<SwapSpaceSpi> {
* @throws IgniteCheckedException If failed.
*/
private byte[] marshal(Object obj) throws IgniteCheckedException {
- return ctx.config().getMarshaller().marshal(obj);
+ return MarshallerUtils.marshal(marsh, obj, ctx.gridName());
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityUtils.java
index f670960..e5d2085 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityUtils.java
@@ -37,6 +37,7 @@ import org.apache.ignite.internal.processors.task.GridInternal;
import org.apache.ignite.internal.util.lang.GridTuple3;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.resources.IgniteInstanceResource;
import org.apache.ignite.resources.LoggerResource;
import org.jetbrains.annotations.NotNull;
@@ -77,7 +78,7 @@ class GridAffinityUtils {
throw new IgniteDeploymentCheckedException("Failed to deploy affinity object with class: " + cls.getName());
return new GridAffinityMessage(
- ctx.config().getMarshaller().marshal(o),
+ MarshallerUtils.marshal(ctx.config().getMarshaller(), o, ctx.gridName()),
cls.getName(),
dep.classLoaderId(),
dep.deployMode(),
@@ -110,8 +111,8 @@ class GridAffinityUtils {
throw new IgniteDeploymentCheckedException("Failed to obtain affinity object (is peer class loading turned on?): " +
msg);
- Object src = ctx.config().getMarshaller().unmarshal(msg.source(),
- U.resolveClassLoader(dep.classLoader(), ctx.config()));
+ Object src = MarshallerUtils.unmarshal(ctx.config().getMarshaller(), msg.source(),
+ U.resolveClassLoader(dep.classLoader(), ctx.config()), ctx.gridName());
// Resource injection.
ctx.resource().inject(dep, dep.deployedClass(msg.sourceClassName()), src);
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntrySerializablePredicate.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntrySerializablePredicate.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntrySerializablePredicate.java
index 61b6db3..d0837bd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntrySerializablePredicate.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntrySerializablePredicate.java
@@ -21,6 +21,7 @@ import java.nio.ByteBuffer;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
@@ -80,7 +81,8 @@ public class CacheEntrySerializablePredicate implements CacheEntryPredicate {
assert p != null || bytes != null;
if (p == null) {
- p = ctx.marshaller().unmarshal(bytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+ p = MarshallerUtils.unmarshal(ctx.marshaller(), bytes,
+ U.resolveClassLoader(ldr, ctx.gridConfig()), ctx.gridName());
p.finishUnmarshal(ctx, ldr);
}
@@ -92,7 +94,7 @@ public class CacheEntrySerializablePredicate implements CacheEntryPredicate {
p.prepareMarshal(ctx);
- bytes = ctx.marshaller().marshal(p);
+ bytes = MarshallerUtils.marshal(ctx.marshaller(), p, ctx.gridName());
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheInvokeDirectResult.java
----------------------------------------------------------------------
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 c6e8bee..a8d9caa 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
@@ -24,6 +24,7 @@ import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
@@ -106,7 +107,7 @@ public class CacheInvokeDirectResult implements Message {
key.prepareMarshal(ctx.cacheObjectContext());
if (err != null)
- errBytes = ctx.marshaller().marshal(err);
+ errBytes = MarshallerUtils.marshal(ctx.marshaller(), err, ctx.gridName());
if (res != null)
res.prepareMarshal(ctx.cacheObjectContext());
@@ -120,8 +121,10 @@ public class CacheInvokeDirectResult implements Message {
public void finishUnmarshal(GridCacheContext ctx, ClassLoader ldr) throws IgniteCheckedException {
key.finishUnmarshal(ctx.cacheObjectContext(), ldr);
- if (errBytes != null)
- err = ctx.marshaller().unmarshal(errBytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+ if (errBytes != null) {
+ err = MarshallerUtils.unmarshal(ctx.marshaller(), errBytes,
+ U.resolveClassLoader(ldr, ctx.gridConfig()), ctx.gridName());
+ }
if (res != null)
res.finishUnmarshal(ctx.cacheObjectContext(), ldr);
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java
index f99d2cd..a0f4b06 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMessage.java
@@ -37,6 +37,7 @@ import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.marshaller.Marshaller;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
@@ -457,8 +458,10 @@ public abstract class GridCacheMessage implements Message {
Marshaller marsh = ctx.marshaller();
- for (int i = 0; i < byteCol.length; i++)
- args[i] = byteCol[i] == null ? null : marsh.unmarshal(byteCol[i], U.resolveClassLoader(ldr, ctx.gridConfig()));
+ for (int i = 0; i < byteCol.length; i++) {
+ args[i] = byteCol[i] == null ? null : MarshallerUtils.unmarshal(marsh, byteCol[i],
+ U.resolveClassLoader(ldr, ctx.gridConfig()), ctx.gridName());
+ }
return args;
}
@@ -608,8 +611,10 @@ public abstract class GridCacheMessage implements Message {
Marshaller marsh = ctx.marshaller();
- for (byte[] bytes : byteCol)
- col.add(bytes == null ? null : marsh.<T>unmarshal(bytes, U.resolveClassLoader(ldr, ctx.gridConfig())));
+ for (byte[] bytes : byteCol) {
+ col.add(bytes == null ? null : MarshallerUtils.<T>unmarshal(marsh, bytes,
+ U.resolveClassLoader(ldr, ctx.gridConfig()), ctx.gridName()));
+ }
return col;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index 6761fac..e6ba3ef 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -118,6 +118,7 @@ import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.lifecycle.LifecycleAware;
import org.apache.ignite.marshaller.Marshaller;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.marshaller.jdk.JdkMarshaller;
import org.apache.ignite.spi.IgniteNodeValidationResult;
import org.jetbrains.annotations.Nullable;
@@ -3397,8 +3398,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
if (ldr == null)
ldr = val.getCacheStoreFactory().getClass().getClassLoader();
- marshaller.unmarshal(marshaller.marshal(val.getCacheStoreFactory()),
- U.resolveClassLoader(ldr, ctx.config()));
+ MarshallerUtils.clone(marshaller, val.getCacheStoreFactory(),
+ U.resolveClassLoader(ldr, ctx.config()), ctx.gridName());
}
catch (IgniteCheckedException e) {
throw new IgniteCheckedException("Failed to validate cache configuration. " +
@@ -3407,7 +3408,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
}
try {
- return marshaller.unmarshal(marshaller.marshal(val), U.resolveClassLoader(ctx.config()));
+ return MarshallerUtils.clone(marshaller, val, U.resolveClassLoader(ctx.config()), ctx.gridName());
}
catch (IgniteCheckedException e) {
throw new IgniteCheckedException("Failed to validate cache configuration " +
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
index ba563e6..fc51e84 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
@@ -92,6 +92,7 @@ import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.lang.IgniteReducer;
import org.apache.ignite.lifecycle.LifecycleAware;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.plugin.CachePluginConfiguration;
import org.apache.ignite.transactions.Transaction;
import org.apache.ignite.transactions.TransactionConcurrency;
@@ -991,7 +992,7 @@ public class GridCacheUtils {
}
}
- return ctx.marshaller().marshal(obj);
+ return MarshallerUtils.marshal(ctx.marshaller(), obj, ctx.gridName());
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedLockResponse.java
----------------------------------------------------------------------
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 f56ba8f..31cc588 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
@@ -34,6 +34,7 @@ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
@@ -202,7 +203,7 @@ public class GridDistributedLockResponse extends GridDistributedBaseMessage {
prepareMarshalCacheObjects(vals, ctx.cacheContext(cacheId));
if (err != null)
- errBytes = ctx.marshaller().marshal(err);
+ errBytes = MarshallerUtils.marshal(ctx.marshaller(), err, ctx.gridName());
}
/** {@inheritDoc} */
@@ -211,8 +212,10 @@ public class GridDistributedLockResponse extends GridDistributedBaseMessage {
finishUnmarshalCacheObjects(vals, ctx.cacheContext(cacheId), ldr);
- if (errBytes != null)
- err = ctx.marshaller().unmarshal(errBytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+ if (errBytes != null) {
+ err = MarshallerUtils.unmarshal(ctx.marshaller(), errBytes,
+ U.resolveClassLoader(ldr, ctx.gridConfig()), ctx.gridName());
+ }
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
----------------------------------------------------------------------
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 871a599..ae394d7 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
@@ -43,6 +43,7 @@ import org.apache.ignite.internal.util.typedef.C1;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteProductVersion;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
@@ -332,7 +333,7 @@ public class GridDistributedTxPrepareRequest extends GridDistributedBaseMessage
// Marshal txNodes only if there is a node in topology with an older version.
if (ctx.exchange().minimumNodeVersion(topologyVersion()).compareTo(TX_NODES_DIRECT_MARSHALLABLE_SINCE) < 0) {
if (txNodes != null && txNodesBytes == null)
- txNodesBytes = ctx.marshaller().marshal(txNodes);
+ txNodesBytes = MarshallerUtils.marshal(ctx.marshaller(), txNodes, ctx.gridName());
}
else {
if (txNodesMsg == null)
@@ -372,7 +373,8 @@ public class GridDistributedTxPrepareRequest extends GridDistributedBaseMessage
txNodes = F.viewReadOnly(txNodesMsg, MSG_TO_COL);
if (txNodesBytes != null && txNodes == null)
- txNodes = ctx.marshaller().unmarshal(txNodesBytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+ txNodes = MarshallerUtils.unmarshal(ctx.marshaller(), txNodesBytes,
+ U.resolveClassLoader(ldr, ctx.gridConfig()), ctx.gridName());
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareResponse.java
index 7011e80..7c47b2b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareResponse.java
@@ -26,6 +26,7 @@ import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
import org.apache.ignite.internal.util.tostring.GridToStringBuilder;
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
@@ -100,15 +101,17 @@ public class GridDistributedTxPrepareResponse extends GridDistributedBaseMessage
super.prepareMarshal(ctx);
if (err != null)
- errBytes = ctx.marshaller().marshal(err);
+ errBytes = MarshallerUtils.marshal(ctx.marshaller(), err, ctx.gridName());
}
/** {@inheritDoc} */
@Override public void finishUnmarshal(GridCacheSharedContext ctx, ClassLoader ldr) throws IgniteCheckedException {
super.finishUnmarshal(ctx, ldr);
- if (errBytes != null)
- err = ctx.marshaller().unmarshal(errBytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+ if (errBytes != null) {
+ err = MarshallerUtils.unmarshal(ctx.marshaller(), errBytes,
+ U.resolveClassLoader(ldr, ctx.gridConfig()), ctx.gridName());
+ }
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
index c1be30b..f3ac402 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
@@ -27,6 +27,7 @@ import org.apache.ignite.internal.processors.cache.GridCacheMessage;
import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
@@ -106,7 +107,7 @@ public class GridDhtAffinityAssignmentResponse extends GridCacheMessage {
super.prepareMarshal(ctx);
if (affAssignment != null)
- affAssignmentBytes = ctx.marshaller().marshal(affAssignment);
+ affAssignmentBytes = MarshallerUtils.marshal(ctx.marshaller(), affAssignment, ctx.gridName());
}
/** {@inheritDoc} */
@@ -115,7 +116,8 @@ public class GridDhtAffinityAssignmentResponse extends GridCacheMessage {
super.finishUnmarshal(ctx, ldr);
if (affAssignmentBytes != null) {
- affAssignment = ctx.marshaller().unmarshal(affAssignmentBytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+ affAssignment = MarshallerUtils.unmarshal(ctx.marshaller(), affAssignmentBytes,
+ U.resolveClassLoader(ldr, ctx.gridConfig()), ctx.gridName());
// TODO IGNITE-2110: setting 'local' for nodes not needed when IGNITE-2110 is implemented.
int assignments = affAssignment.size();
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishResponse.java
----------------------------------------------------------------------
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 65c9024..7beb1d3 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
@@ -28,6 +28,7 @@ import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
@@ -111,7 +112,7 @@ public class GridDhtTxFinishResponse extends GridDistributedTxFinishResponse {
super.prepareMarshal(ctx);
if (checkCommittedErr != null)
- checkCommittedErrBytes = ctx.marshaller().marshal(checkCommittedErr);
+ checkCommittedErrBytes = MarshallerUtils.marshal(ctx.marshaller(), checkCommittedErr, ctx.gridName());
}
/** {@inheritDoc} */
@@ -119,8 +120,10 @@ public class GridDhtTxFinishResponse extends GridDistributedTxFinishResponse {
throws IgniteCheckedException {
super.finishUnmarshal(ctx, ldr);
- if (checkCommittedErrBytes != null)
- checkCommittedErr = ctx.marshaller().unmarshal(checkCommittedErrBytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+ if (checkCommittedErrBytes != null) {
+ checkCommittedErr = MarshallerUtils.unmarshal(ctx.marshaller(), checkCommittedErrBytes,
+ U.resolveClassLoader(ldr, ctx.gridConfig()), ctx.gridName());
+ }
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateResponse.java
----------------------------------------------------------------------
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 742b39c..688c439 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
@@ -34,6 +34,7 @@ import org.apache.ignite.internal.processors.cache.KeyCacheObject;
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;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
@@ -167,7 +168,7 @@ public class GridDhtAtomicUpdateResponse extends GridCacheMessage implements Gri
prepareMarshalCacheObjects(nearEvicted, cctx);
- errBytes = ctx.marshaller().marshal(err);
+ errBytes = MarshallerUtils.marshal(ctx.marshaller(), err, ctx.gridName());
}
/** {@inheritDoc} */
@@ -180,7 +181,8 @@ public class GridDhtAtomicUpdateResponse extends GridCacheMessage implements Gri
finishUnmarshalCacheObjects(nearEvicted, cctx, ldr);
- err = ctx.marshaller().unmarshal(errBytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+ err = MarshallerUtils.unmarshal(ctx.marshaller(), errBytes,
+ U.resolveClassLoader(ldr, ctx.gridConfig()), ctx.gridName());
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java
index 1d03dd2..8edf383 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateRequest.java
@@ -1,3 +1,5 @@
+// if (expiryPlcBytes != null && expiryPlc == null)
+// expiryPlc = MarshallerUtils.unmarshal(ctx.marshaller(), expiryPlcBytes, ldr, ctx.kernalContext());
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -45,6 +47,7 @@ import org.apache.ignite.internal.util.GridLongList;
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;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
@@ -633,8 +636,10 @@ public class GridNearAtomicUpdateRequest extends GridCacheMessage implements Gri
invokeArgs = unmarshalInvokeArguments(invokeArgsBytes, ctx, ldr);
- if (expiryPlcBytes != null)
- expiryPlc = ctx.marshaller().unmarshal(expiryPlcBytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+ if (expiryPlcBytes != null) {
+ expiryPlc = MarshallerUtils.unmarshal(ctx.marshaller(), expiryPlcBytes,
+ U.resolveClassLoader(ldr, ctx.gridConfig()), ctx.gridName());
+ }
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateResponse.java
----------------------------------------------------------------------
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 dd52aae..ed923b8 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
@@ -39,6 +39,7 @@ import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
import org.apache.ignite.internal.util.GridLongList;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
@@ -397,7 +398,7 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
super.prepareMarshal(ctx);
if (err != null)
- errBytes = ctx.marshaller().marshal(err);
+ errBytes = MarshallerUtils.marshal(ctx.marshaller(), err, ctx.gridName());
GridCacheContext cctx = ctx.cacheContext(cacheId);
@@ -415,8 +416,10 @@ public class GridNearAtomicUpdateResponse extends GridCacheMessage implements Gr
@Override public void finishUnmarshal(GridCacheSharedContext ctx, ClassLoader ldr) throws IgniteCheckedException {
super.finishUnmarshal(ctx, ldr);
- if (errBytes != null)
- err = ctx.marshaller().unmarshal(errBytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+ if (errBytes != null) {
+ err = MarshallerUtils.unmarshal(ctx.marshaller(), errBytes,
+ U.resolveClassLoader(ldr, ctx.gridConfig()), ctx.gridName());
+ }
GridCacheContext cctx = ctx.cacheContext(cacheId);
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysResponse.java
----------------------------------------------------------------------
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 12bf160..4b49730 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
@@ -36,6 +36,7 @@ import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteUuid;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
@@ -171,7 +172,7 @@ public class GridDhtForceKeysResponse extends GridCacheMessage implements GridCa
info.marshal(cctx);
}
- errBytes = ctx.marshaller().marshal(err);
+ errBytes = MarshallerUtils.marshal(ctx.marshaller(), err, ctx.gridName());
}
/** {@inheritDoc} */
@@ -188,8 +189,10 @@ public class GridDhtForceKeysResponse extends GridCacheMessage implements GridCa
info.unmarshal(cctx, ldr);
}
- if (errBytes != null)
- err = ctx.marshaller().unmarshal(errBytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+ if (errBytes != null) {
+ err = MarshallerUtils.unmarshal(ctx.marshaller(), errBytes,
+ U.resolveClassLoader(ldr, ctx.gridConfig()), ctx.gridName());
+ }
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/97ce8fbb/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandMessage.java
index 4426c44..cbc01be 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandMessage.java
@@ -28,6 +28,7 @@ import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.cache.GridCacheMessage;
import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.marshaller.MarshallerUtils;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
@@ -183,15 +184,17 @@ public class GridDhtPartitionDemandMessage extends GridCacheMessage {
super.prepareMarshal(ctx);
if (topic != null)
- topicBytes = ctx.marshaller().marshal(topic);
+ topicBytes = MarshallerUtils.marshal(ctx.marshaller(), topic, ctx.gridName());
}
/** {@inheritDoc} */
@Override public void finishUnmarshal(GridCacheSharedContext ctx, ClassLoader ldr) throws IgniteCheckedException {
super.finishUnmarshal(ctx, ldr);
- if (topicBytes != null)
- topic = ctx.marshaller().unmarshal(topicBytes, U.resolveClassLoader(ldr, ctx.gridConfig()));
+ if (topicBytes != null) {
+ topic = MarshallerUtils.unmarshal(ctx.marshaller(), topicBytes,
+ U.resolveClassLoader(ldr, ctx.gridConfig()), ctx.gridName());
+ }
}
/** {@inheritDoc} */