This is an automated email from the ASF dual-hosted git repository. dgovorukhin 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 7847168 IGNITE-11990 Optimize heap usage for TcpDiscoveryNodeAddedMessage stored in pending messages in ServerImpl - Fixes #6700. 7847168 is described below commit 7847168836d1279941e1514331a1f29738cf6dae Author: vmalin <vmalinovs...@gridgain.com> AuthorDate: Tue Jul 23 13:24:10 2019 +0300 IGNITE-11990 Optimize heap usage for TcpDiscoveryNodeAddedMessage stored in pending messages in ServerImpl - Fixes #6700. Signed-off-by: Dmitriy Govorukhin <dmitriy.govoruk...@gmail.com> --- .../java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java | 1 + .../ignite/spi/discovery/tcp/internal/DiscoveryDataPacket.java | 7 +++++++ .../spi/discovery/tcp/messages/TcpDiscoveryNodeAddedMessage.java | 9 +++++++++ 3 files changed, 17 insertions(+) diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java index 7ad4468..658cbf5 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java @@ -1807,6 +1807,7 @@ class ServerImpl extends TcpDiscoveryImpl { nodeAddedMsg.topology(null); nodeAddedMsg.topologyHistory(null); nodeAddedMsg.messages(null, null, null); + nodeAddedMsg.clearUnmarshalledDiscoveryData(); } } diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/DiscoveryDataPacket.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/DiscoveryDataPacket.java index 09410aa..8ba19e1 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/DiscoveryDataPacket.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/DiscoveryDataPacket.java @@ -477,4 +477,11 @@ public class DiscoveryDataPacket implements Serializable { public void joiningNodeClient(boolean joiningNodeClient) { this.joiningNodeClient = joiningNodeClient; } + + /** + * Clears {@link #unmarshalledJoiningNodeData} + */ + public void clearUnmarshalledJoiningNodeData() { + unmarshalledJoiningNodeData = null; + } } diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeAddedMessage.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeAddedMessage.java index d2a0808..c1d8c89 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeAddedMessage.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeAddedMessage.java @@ -228,6 +228,15 @@ public class TcpDiscoveryNodeAddedMessage extends TcpDiscoveryAbstractMessage { } /** + * Clears unmarshalled discovery data to minimize message size. + * These data are used only on "collect" stage and are not part of persistent state. + */ + public void clearUnmarshalledDiscoveryData() { + if (dataPacket != null) + dataPacket.clearUnmarshalledJoiningNodeData(); + } + + /** * @return First grid node start time. */ public long gridStartTime() {