IGNITE-2546 - Added transformers to SCAN queries
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java index 9bc9a38..99d4f87 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
@@ -395,7 +395,18 @@ /** {@inheritDoc} */ @Override @Nullable public Serializable collectDiscoveryData(UUID nodeId) { if (!nodeId.equals(ctx.localNodeId()) || !locInfos.isEmpty()) { - DiscoveryData data = new DiscoveryData(ctx.localNodeId(), clientInfos); + Map<UUID, Map<UUID, LocalRoutineInfo>> clientInfos0 = U.newHashMap(clientInfos.size()); + + for (Map.Entry<UUID, Map<UUID, LocalRoutineInfo>> e : clientInfos.entrySet()) { + Map<UUID, LocalRoutineInfo> copy = U.newHashMap(e.getValue().size()); + + for (Map.Entry<UUID, LocalRoutineInfo> e0 : e.getValue().entrySet()) + copy.put(e0.getKey(), e0.getValue()); + + clientInfos0.put(e.getKey(), copy); + } + + DiscoveryData data = new DiscoveryData(ctx.localNodeId(), clientInfos0); // Collect listeners information (will be sent to joining node during discovery process). for (Map.Entry<UUID, LocalRoutineInfo> e : locInfos.entrySet()) {
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java index 1d55b54..5920d90 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -17,7 +17,6 @@ package org.apache.ignite.spi.discovery.tcp; -import java.io.BufferedOutputStream; import java.io.EOFException; import java.io.IOException; import java.io.InputStream; @@ -1358,7 +1357,7 @@ IOException err = null; try { - marsh.marshal(msg, new BufferedOutputStream(sock.getOutputStream(), sock.getSendBufferSize())); + marsh.marshal(msg, sock.getOutputStream()); } catch (IOException e) { err = e;