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() {

Reply via email to