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

shishkovilja 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 e2384f8dac4 IGNITE-28396 Remove NodeSpecificData (#12956)
e2384f8dac4 is described below

commit e2384f8dac4d100e55a096929dcebf6006fb0eba
Author: Dmitry Werner <[email protected]>
AuthorDate: Mon Mar 30 17:23:24 2026 +0500

    IGNITE-28396 Remove NodeSpecificData (#12956)
---
 .../discovery/DiscoveryMessageFactory.java         |  3 -
 .../tcp/internal/DiscoveryDataPacket.java          | 31 +++------
 .../discovery/tcp/messages/NodeSpecificData.java   | 80 ----------------------
 .../spi/discovery/tcp/TcpDiscoverySelfTest.java    | 11 ++-
 4 files changed, 15 insertions(+), 110 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java
index de204643a07..52c1091d054 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java
@@ -140,8 +140,6 @@ import 
org.apache.ignite.spi.discovery.tcp.messages.InetAddressMessage;
 import 
org.apache.ignite.spi.discovery.tcp.messages.InetAddressMessageSerializer;
 import org.apache.ignite.spi.discovery.tcp.messages.InetSocketAddressMessage;
 import 
org.apache.ignite.spi.discovery.tcp.messages.InetSocketAddressMessageSerializer;
-import org.apache.ignite.spi.discovery.tcp.messages.NodeSpecificData;
-import org.apache.ignite.spi.discovery.tcp.messages.NodeSpecificDataSerializer;
 import 
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAuthFailedMessage;
 import 
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAuthFailedMessageSerializer;
 import 
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCacheMetricsMessage;
@@ -233,7 +231,6 @@ public class DiscoveryMessageFactory implements 
MessageFactoryProvider {
         factory.register(-110, QueryField::new, new 
QueryFieldMarshallableSerializer(marsh, clsLdr));
         factory.register(-109, User::new, new UserSerializer());
         factory.register(-108, UserManagementOperation::new, new 
UserManagementOperationSerializer());
-        factory.register(-107, NodeSpecificData::new, new 
NodeSpecificDataSerializer());
         factory.register(-106, DiscoveryDataPacket::new, new 
DiscoveryDataPacketSerializer());
         factory.register(-105, TcpDiscoveryNodeFullMetricsMessage::new, new 
TcpDiscoveryNodeFullMetricsMessageSerializer());
         factory.register(-104, TcpDiscoveryClientNodesMetricsMessage::new, new 
TcpDiscoveryClientNodesMetricsMessageSerializer());
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 6467f1ffa09..4922e7c0e86 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
@@ -33,7 +33,6 @@ import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.marshaller.Marshaller;
 import org.apache.ignite.plugin.extensions.communication.Message;
 import org.apache.ignite.spi.discovery.DiscoveryDataBag;
-import org.apache.ignite.spi.discovery.tcp.messages.NodeSpecificData;
 
 import static 
org.apache.ignite.internal.GridComponent.DiscoveryDataExchangeType.CONTINUOUS_PROC;
 
@@ -65,7 +64,7 @@ public class DiscoveryDataPacket implements Serializable, 
Message {
 
     /** */
     @Order(3)
-    Map<UUID, NodeSpecificData> nodeSpecificData = new HashMap<>();
+    Map<UUID, Map<Integer, byte[]>> nodeSpecificData = new HashMap<>();
 
     /** */
     private transient boolean joiningNodeClient;
@@ -109,7 +108,7 @@ public class DiscoveryDataPacket implements Serializable, 
Message {
             filterDuplicatedData(marshLocNodeSpecificData);
 
             if (!marshLocNodeSpecificData.isEmpty())
-                nodeSpecificData.put(nodeId, new 
NodeSpecificData(marshLocNodeSpecificData));
+                nodeSpecificData.put(nodeId, marshLocNodeSpecificData);
         }
     }
 
@@ -143,11 +142,8 @@ public class DiscoveryDataPacket implements Serializable, 
Message {
         if (nodeSpecificData != null && !nodeSpecificData.isEmpty()) {
             Map<UUID, Map<Integer, Serializable>> unmarshNodeSpecData = 
U.newLinkedHashMap(nodeSpecificData.size());
 
-            for (Map.Entry<UUID, NodeSpecificData> nodeBinEntry : 
nodeSpecificData.entrySet()) {
-                if (nodeBinEntry.getValue() == null)
-                    continue;
-
-                Map<Integer, byte[]> nodeBinData = 
nodeBinEntry.getValue().nodeSpecificData();
+            for (Map.Entry<UUID, Map<Integer, byte[]>> nodeBinEntry : 
nodeSpecificData.entrySet()) {
+                Map<Integer, byte[]> nodeBinData = nodeBinEntry.getValue();
 
                 if (nodeBinData == null || nodeBinData.isEmpty())
                     continue;
@@ -274,17 +270,12 @@ public class DiscoveryDataPacket implements Serializable, 
Message {
         }
 
         if (nodeSpecificData.size() != mrgdSpecifDataKeys.size()) {
-            for (Map.Entry<UUID, NodeSpecificData> e : 
nodeSpecificData.entrySet()) {
+            for (Map.Entry<UUID, Map<Integer, byte[]>> e : 
nodeSpecificData.entrySet()) {
                 if (!mrgdSpecifDataKeys.contains(e.getKey())) {
-                    NodeSpecificData dataMsg = 
existingDataPacket.nodeSpecificData.get(e.getKey());
-
-                    if (dataMsg == null)
-                        continue;
+                    Map<Integer, byte[]> data = 
existingDataPacket.nodeSpecificData.get(e.getKey());
 
-                    Map<Integer, byte[]> data = dataMsg.nodeSpecificData();
-
-                    if (data != null && 
mapsEqual(e.getValue().nodeSpecificData(), data)) {
-                        e.setValue(new NodeSpecificData(data));
+                    if (data != null && mapsEqual(e.getValue(), data)) {
+                        e.setValue(data);
 
                         boolean add = mrgdSpecifDataKeys.add(e.getKey());
 
@@ -428,15 +419,13 @@ public class DiscoveryDataPacket implements Serializable, 
Message {
 
     /** */
     private void filterDuplicatedData(Map<Integer, byte[]> discoData) {
-        for (NodeSpecificData existingData : nodeSpecificData.values()) {
+        for (Map<Integer, byte[]> existingData : nodeSpecificData.values()) {
             Iterator<Map.Entry<Integer, byte[]>> it = 
discoData.entrySet().iterator();
 
             while (it.hasNext()) {
                 Map.Entry<Integer, byte[]> discoDataEntry = it.next();
 
-                byte[] curData = (existingData == null || 
existingData.nodeSpecificData() == null)
-                    ? null
-                    : 
existingData.nodeSpecificData().get(discoDataEntry.getKey());
+                byte[] curData = existingData.get(discoDataEntry.getKey());
 
                 if (Arrays.equals(curData, discoDataEntry.getValue()))
                     it.remove();
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/NodeSpecificData.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/NodeSpecificData.java
deleted file mode 100644
index 51a40c17868..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/NodeSpecificData.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.spi.discovery.tcp.messages;
-
-import java.io.Serializable;
-import java.util.Map;
-import java.util.Objects;
-import org.apache.ignite.internal.Order;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.plugin.extensions.communication.Message;
-
-/**
- * A wrapper message that holds the mapping of discovery data belonging to a 
cluster node and is sent to the joining node.
- */
-public class NodeSpecificData implements Message, Serializable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** Node specific data. */
-    @Order(0)
-    Map<Integer, byte[]> nodeSpecificData;
-
-    /** Constructor. */
-    public NodeSpecificData() {
-        // No-op.
-    }
-
-    /**
-     * @param nodeSpecificData Node specific data.
-     */
-    public NodeSpecificData(Map<Integer, byte[]> nodeSpecificData) {
-        this.nodeSpecificData = nodeSpecificData;
-    }
-
-    /**
-     * @return Node specific data.
-     */
-    public Map<Integer, byte[]> nodeSpecificData() {
-        return nodeSpecificData;
-    }
-
-
-    /** {@inheritDoc} */
-    @Override public boolean equals(Object o) {
-        if (this == o)
-            return true;
-
-        if (o == null || getClass() != o.getClass())
-            return false;
-
-        NodeSpecificData that = (NodeSpecificData)o;
-
-        return Objects.equals(nodeSpecificData, that.nodeSpecificData);
-    }
-
-    /** {@inheritDoc} */
-    @Override public int hashCode() {
-        return Objects.hashCode(nodeSpecificData);
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(NodeSpecificData.class, this);
-    }
-}
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySelfTest.java
index 95494a0bcdb..8b59eea2450 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySelfTest.java
@@ -79,7 +79,6 @@ import 
org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryNode;
 import org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryStatistics;
 import 
org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
-import org.apache.ignite.spi.discovery.tcp.messages.NodeSpecificData;
 import 
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage;
 import 
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryConnectionCheckMessage;
 import 
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCustomEventMessage;
@@ -2519,7 +2518,7 @@ public class TcpDiscoverySelfTest extends 
GridCommonAbstractTest {
                 DiscoveryDataPacket dataPacket = 
((TcpDiscoveryNodeAddedMessage)msg).gridDiscoveryData();
 
                 if (dataPacket != null) {
-                    Map<UUID, NodeSpecificData> discoData = 
U.field(dataPacket, "nodeSpecificData");
+                    Map<UUID, Map<Integer, byte[]>> discoData = 
U.field(dataPacket, "nodeSpecificData");
 
                     checkDiscoData(discoData, msg);
                 }
@@ -2528,7 +2527,7 @@ public class TcpDiscoverySelfTest extends 
GridCommonAbstractTest {
                 DiscoveryDataPacket dataPacket = 
((TcpDiscoveryNodeAddFinishedMessage)msg).clientDiscoData();
 
                 if (dataPacket != null) {
-                    Map<UUID, NodeSpecificData> discoData = 
U.field(dataPacket, "nodeSpecificData");
+                    Map<UUID, Map<Integer, byte[]>> discoData = 
U.field(dataPacket, "nodeSpecificData");
 
                     checkDiscoData(discoData, msg);
                 }
@@ -2541,12 +2540,12 @@ public class TcpDiscoverySelfTest extends 
GridCommonAbstractTest {
          * @param discoData Discovery data.
          * @param msg Message.
          */
-        private void checkDiscoData(Map<UUID, NodeSpecificData> discoData, 
TcpDiscoveryAbstractMessage msg) {
+        private void checkDiscoData(Map<UUID, Map<Integer, byte[]>> discoData, 
TcpDiscoveryAbstractMessage msg) {
             if (discoData != null && discoData.size() > 1) {
                 int cnt = 0;
 
-                for (NodeSpecificData data : discoData.values()) {
-                    if 
(data.nodeSpecificData().containsKey(GridComponent.DiscoveryDataExchangeType.CACHE_PROC.ordinal()))
+                for (Map<Integer, byte[]> data : discoData.values()) {
+                    if 
(data.containsKey(GridComponent.DiscoveryDataExchangeType.CACHE_PROC.ordinal()))
                         cnt++;
                 }
 

Reply via email to