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

tkalkirill pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 9662532cecf IGNITE-24928 Improve node finder configuration (#5505)
9662532cecf is described below

commit 9662532cecf6148a16a15a04afba9de836acdfdb
Author: Phillippko <[email protected]>
AuthorDate: Thu Mar 27 18:25:23 2025 +0700

    IGNITE-24928 Improve node finder configuration (#5505)
---
 .../java/org/apache/ignite/client/TestServer.java  |  4 +++-
 .../rebalance/ItRebalanceDistributedTest.java      |  6 ++++-
 .../scalecube/ItMulticastNodeFinderTest.java       |  6 ++---
 .../internal/network/MulticastNodeFinder.java      |  6 +++--
 .../ignite/internal/network/NodeFinderFactory.java | 28 +++++++++-------------
 ...=> MulticastNodeFinderConfigurationSchema.java} | 23 ++++++++++--------
 .../configuration/NetworkConfigurationModule.java  |  5 ++++
 .../NodeFinderConfigurationSchema.java             | 19 ++++-----------
 ...va => StaticNodeFinderConfigurationSchema.java} | 17 ++++++++-----
 .../network/utils/ClusterServiceTestUtils.java     |  8 ++++---
 .../partition/replicator/fixtures/Node.java        |  6 ++++-
 .../raft/ItTruncateSuffixAndRestartTest.java       |  4 +++-
 .../ignite/internal/rest/RestComponentTest.java    |  4 +++-
 13 files changed, 76 insertions(+), 60 deletions(-)

diff --git 
a/modules/client/src/test/java/org/apache/ignite/client/TestServer.java 
b/modules/client/src/test/java/org/apache/ignite/client/TestServer.java
index 0483cd159ba..039bce16a09 100644
--- a/modules/client/src/test/java/org/apache/ignite/client/TestServer.java
+++ b/modules/client/src/test/java/org/apache/ignite/client/TestServer.java
@@ -70,8 +70,10 @@ import org.apache.ignite.internal.manager.IgniteComponent;
 import org.apache.ignite.internal.metrics.MetricManagerImpl;
 import org.apache.ignite.internal.network.ClusterService;
 import org.apache.ignite.internal.network.NettyBootstrapFactory;
+import 
org.apache.ignite.internal.network.configuration.MulticastNodeFinderConfigurationSchema;
 import 
org.apache.ignite.internal.network.configuration.NetworkExtensionConfiguration;
 import 
org.apache.ignite.internal.network.configuration.NetworkExtensionConfigurationSchema;
+import 
org.apache.ignite.internal.network.configuration.StaticNodeFinderConfigurationSchema;
 import org.apache.ignite.internal.schema.AlwaysSyncedSchemaSyncService;
 import 
org.apache.ignite.internal.security.authentication.AuthenticationManager;
 import 
org.apache.ignite.internal.security.authentication.AuthenticationManagerImpl;
@@ -176,7 +178,7 @@ public class TestServer implements AutoCloseable {
         generator = new ConfigurationTreeGenerator(
                 List.of(NodeConfiguration.KEY),
                 List.of(ClientConnectorExtensionConfigurationSchema.class, 
NetworkExtensionConfigurationSchema.class),
-                List.of()
+                List.of(StaticNodeFinderConfigurationSchema.class, 
MulticastNodeFinderConfigurationSchema.class)
         );
         cfg = new ConfigurationRegistry(
                 List.of(NodeConfiguration.KEY),
diff --git 
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
 
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
index 90c2e6987de..76b58935232 100644
--- 
a/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
+++ 
b/modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java
@@ -171,7 +171,9 @@ import org.apache.ignite.internal.metrics.NoOpMetricManager;
 import org.apache.ignite.internal.network.ClusterService;
 import org.apache.ignite.internal.network.DefaultMessagingService;
 import org.apache.ignite.internal.network.StaticNodeFinder;
+import 
org.apache.ignite.internal.network.configuration.MulticastNodeFinderConfigurationSchema;
 import 
org.apache.ignite.internal.network.configuration.NetworkExtensionConfigurationSchema;
+import 
org.apache.ignite.internal.network.configuration.StaticNodeFinderConfigurationSchema;
 import org.apache.ignite.internal.network.recovery.InMemoryStaleIds;
 import org.apache.ignite.internal.network.utils.ClusterServiceTestUtils;
 import 
org.apache.ignite.internal.pagememory.configuration.schema.PersistentPageMemoryProfileConfigurationSchema;
@@ -1212,7 +1214,9 @@ public class ItRebalanceDistributedTest extends 
BaseIgniteAbstractTest {
                     ),
                     List.of(
                             
PersistentPageMemoryProfileConfigurationSchema.class,
-                            VolatilePageMemoryProfileConfigurationSchema.class
+                            VolatilePageMemoryProfileConfigurationSchema.class,
+                            StaticNodeFinderConfigurationSchema.class,
+                            MulticastNodeFinderConfigurationSchema.class
                     )
             );
 
diff --git 
a/modules/network/src/integrationTest/java/org/apache/ignite/internal/network/scalecube/ItMulticastNodeFinderTest.java
 
b/modules/network/src/integrationTest/java/org/apache/ignite/internal/network/scalecube/ItMulticastNodeFinderTest.java
index f2990726653..91bbdb6766a 100644
--- 
a/modules/network/src/integrationTest/java/org/apache/ignite/internal/network/scalecube/ItMulticastNodeFinderTest.java
+++ 
b/modules/network/src/integrationTest/java/org/apache/ignite/internal/network/scalecube/ItMulticastNodeFinderTest.java
@@ -18,7 +18,7 @@
 package org.apache.ignite.internal.network.scalecube;
 
 import static org.apache.ignite.internal.network.MulticastNodeFinder.MAX_TTL;
-import static 
org.apache.ignite.internal.network.MulticastNodeFinder.UNBOUNDED_TTL;
+import static 
org.apache.ignite.internal.network.MulticastNodeFinder.UNSPECIFIED_TTL;
 import static 
org.apache.ignite.internal.network.utils.ClusterServiceTestUtils.clusterService;
 import static 
org.apache.ignite.internal.network.utils.ClusterServiceTestUtils.findLocalAddresses;
 import static 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.willCompleteSuccessfully;
@@ -52,7 +52,7 @@ import org.junit.jupiter.params.provider.ValueSource;
 class ItMulticastNodeFinderTest extends IgniteAbstractTest {
     private static final int INIT_PORT = 3344;
     private static final int MULTICAST_PORT = 20000;
-    private static final String MULTICAST_GROUP = "224.0.0.1";
+    private static final String MULTICAST_GROUP = "239.192.0.0";
 
     private final ClusterIdSupplier clusterIdSupplier = new 
ConstantClusterIdSupplier(UUID.randomUUID());
 
@@ -77,7 +77,7 @@ class ItMulticastNodeFinderTest extends IgniteAbstractTest {
     }
 
     @ParameterizedTest
-    @ValueSource(ints = {UNBOUNDED_TTL, MAX_TTL})
+    @ValueSource(ints = {UNSPECIFIED_TTL, MAX_TTL})
     void testFindNodes(int ttl) {
         int nodeCount = 5;
         List<NetworkAddress> addresses = findLocalAddresses(INIT_PORT, 
INIT_PORT + nodeCount);
diff --git 
a/modules/network/src/main/java/org/apache/ignite/internal/network/MulticastNodeFinder.java
 
b/modules/network/src/main/java/org/apache/ignite/internal/network/MulticastNodeFinder.java
index bbcc067ae0c..117d03a2ed2 100644
--- 
a/modules/network/src/main/java/org/apache/ignite/internal/network/MulticastNodeFinder.java
+++ 
b/modules/network/src/main/java/org/apache/ignite/internal/network/MulticastNodeFinder.java
@@ -65,7 +65,9 @@ public class MulticastNodeFinder implements NodeFinder {
 
     /** Buffer size for receiving responses. */
     private static final int RECEIVE_BUFFER_SIZE = 1024;
-    public static final int UNBOUNDED_TTL = -1;
+
+    /** System default value will be used. */
+    public static final int UNSPECIFIED_TTL = -1;
     public static final int MAX_TTL = 255;
 
     private static final int REQ_ATTEMPTS = 2;
@@ -202,7 +204,7 @@ public class MulticastNodeFinder implements NodeFinder {
 
         socket.setSoTimeout(soTimeout);
 
-        if (ttl != UNBOUNDED_TTL) {
+        if (ttl != UNSPECIFIED_TTL) {
             socket.setTimeToLive(ttl);
         }
     }
diff --git 
a/modules/network/src/main/java/org/apache/ignite/internal/network/NodeFinderFactory.java
 
b/modules/network/src/main/java/org/apache/ignite/internal/network/NodeFinderFactory.java
index 51ff170a817..d0d81671704 100644
--- 
a/modules/network/src/main/java/org/apache/ignite/internal/network/NodeFinderFactory.java
+++ 
b/modules/network/src/main/java/org/apache/ignite/internal/network/NodeFinderFactory.java
@@ -22,9 +22,11 @@ import static java.util.stream.Collectors.toUnmodifiableList;
 
 import java.net.InetSocketAddress;
 import java.util.Arrays;
-import org.apache.ignite.internal.network.configuration.MulticastView;
-import org.apache.ignite.internal.network.configuration.NodeFinderType;
+import 
org.apache.ignite.internal.network.configuration.MulticastNodeFinderConfigurationSchema;
+import 
org.apache.ignite.internal.network.configuration.MulticastNodeFinderView;
 import org.apache.ignite.internal.network.configuration.NodeFinderView;
+import 
org.apache.ignite.internal.network.configuration.StaticNodeFinderConfigurationSchema;
+import org.apache.ignite.internal.network.configuration.StaticNodeFinderView;
 import org.apache.ignite.network.NetworkAddress;
 
 /**
@@ -39,23 +41,15 @@ public class NodeFinderFactory {
      * @return Node finder.
      */
     public static NodeFinder createNodeFinder(NodeFinderView 
nodeFinderConfiguration, String nodeName, InetSocketAddress localAddress) {
-        String typeString = nodeFinderConfiguration.type();
+        switch (nodeFinderConfiguration.type()) {
+            case StaticNodeFinderConfigurationSchema.TYPE:
+                StaticNodeFinderView staticConfig = (StaticNodeFinderView) 
nodeFinderConfiguration;
 
-        NodeFinderType type;
-
-        try {
-            type = NodeFinderType.valueOf(typeString);
-        } catch (IllegalArgumentException e) {
-            throw new IllegalArgumentException("Failed to create NodeFinder " 
+ typeString, e);
-        }
-
-        switch (type) {
-            case STATIC:
-                return Arrays.stream(nodeFinderConfiguration.netClusterNodes())
+                return Arrays.stream(staticConfig.netClusterNodes())
                         .map(NetworkAddress::from)
                         .collect(collectingAndThen(toUnmodifiableList(), 
StaticNodeFinder::new));
-            case MULTICAST:
-                MulticastView multicastConfig = 
nodeFinderConfiguration.multicast();
+            case MulticastNodeFinderConfigurationSchema.TYPE:
+                MulticastNodeFinderView multicastConfig = 
(MulticastNodeFinderView) nodeFinderConfiguration;
 
                 return new MulticastNodeFinder(
                         multicastConfig.group(),
@@ -66,7 +60,7 @@ public class NodeFinderFactory {
                         localAddress
                 );
             default:
-                throw new IllegalArgumentException("Unsupported NodeFinder 
type " + type);
+                throw new IllegalArgumentException("Unsupported NodeFinder 
type " + nodeFinderConfiguration.type());
         }
     }
 }
diff --git 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/MulticastConfigurationSchema.java
 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/MulticastNodeFinderConfigurationSchema.java
similarity index 68%
rename from 
modules/network/src/main/java/org/apache/ignite/internal/network/configuration/MulticastConfigurationSchema.java
rename to 
modules/network/src/main/java/org/apache/ignite/internal/network/configuration/MulticastNodeFinderConfigurationSchema.java
index cb97785a04c..69b493fa40f 100644
--- 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/MulticastConfigurationSchema.java
+++ 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/MulticastNodeFinderConfigurationSchema.java
@@ -18,32 +18,35 @@
 package org.apache.ignite.internal.network.configuration;
 
 import static org.apache.ignite.internal.network.MulticastNodeFinder.MAX_TTL;
-import static 
org.apache.ignite.internal.network.MulticastNodeFinder.UNBOUNDED_TTL;
+import static 
org.apache.ignite.internal.network.MulticastNodeFinder.UNSPECIFIED_TTL;
 
-import org.apache.ignite.configuration.annotation.Config;
+import org.apache.ignite.configuration.annotation.PolymorphicConfigInstance;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.validation.Range;
+import org.apache.ignite.internal.network.MulticastNodeFinder;
 
 /** Configuration for multicast node finder. */
-@Config
-public class MulticastConfigurationSchema {
+@PolymorphicConfigInstance(MulticastNodeFinderConfigurationSchema.TYPE)
+public class MulticastNodeFinderConfigurationSchema extends 
NodeFinderConfigurationSchema {
+    public static final String TYPE = "MULTICAST";
+
     /** Address to use for multicast requests. */
     @Value(hasDefault = true)
     @MulticastAddress
-    public final String group = "239.192.0.0";
+    public String group = "239.192.0.0";
 
     /** Port to use for multicast requests. */
     @Value(hasDefault = true)
     @Range(min = 1, max = 65535)
-    public final int port = 47401;
+    public int port = 47401;
 
     /** Time to wait for multicast responses. */
     @Value(hasDefault = true)
     @Range(min = 0)
-    public final int resultWaitTime = 500;
+    public int resultWaitTime = 500;
 
-    /** Time to live for multicast packets. */
+    /** Time to live for multicast packets. Value {@link 
MulticastNodeFinder#UNSPECIFIED_TTL} corresponds to system default value. */
     @Value(hasDefault = true)
-    @Range(min = UNBOUNDED_TTL, max = MAX_TTL)
-    public final int ttl = UNBOUNDED_TTL;
+    @Range(min = UNSPECIFIED_TTL, max = MAX_TTL)
+    public int ttl = UNSPECIFIED_TTL;
 }
diff --git 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NetworkConfigurationModule.java
 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NetworkConfigurationModule.java
index 9622110c058..20a2338d0d9 100644
--- 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NetworkConfigurationModule.java
+++ 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NetworkConfigurationModule.java
@@ -40,6 +40,11 @@ public class NetworkConfigurationModule implements 
ConfigurationModule {
         return List.of(NetworkExtensionConfigurationSchema.class);
     }
 
+    @Override
+    public Collection<Class<?>> polymorphicSchemaExtensions() {
+        return List.of(StaticNodeFinderConfigurationSchema.class, 
MulticastNodeFinderConfigurationSchema.class);
+    }
+
     @Override
     public Set<Validator<?, ?>> validators() {
         return Set.of(SslConfigurationValidatorImpl.INSTANCE, 
MulticastAddressValidator.INSTANCE);
diff --git 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NodeFinderConfigurationSchema.java
 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NodeFinderConfigurationSchema.java
index b327e80bacd..f22c8692fef 100644
--- 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NodeFinderConfigurationSchema.java
+++ 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NodeFinderConfigurationSchema.java
@@ -17,22 +17,13 @@
 
 package org.apache.ignite.internal.network.configuration;
 
-import org.apache.ignite.configuration.annotation.Config;
-import org.apache.ignite.configuration.annotation.ConfigValue;
-import org.apache.ignite.configuration.annotation.Value;
+import org.apache.ignite.configuration.annotation.PolymorphicConfig;
+import org.apache.ignite.configuration.annotation.PolymorphicId;
 
 /** Node finder configuration. */
-@Config
+@PolymorphicConfig
 public class NodeFinderConfigurationSchema {
     /** Node finder type. */
-    @Value(hasDefault = true)
-    public final String type = NodeFinderType.STATIC.name();
-
-    /** Addresses of nodes in the cluster in a host:port format. This is a 
part of StaticNodeFinder configuration. */
-    @Value(hasDefault = true)
-    public final String[] netClusterNodes = new String[0];
-
-    /** Configuration specific to multicast node finder. */
-    @ConfigValue
-    public MulticastConfigurationSchema multicast;
+    @PolymorphicId(hasDefault = true)
+    public final String type = StaticNodeFinderConfigurationSchema.TYPE;
 }
diff --git 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NodeFinderType.java
 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/StaticNodeFinderConfigurationSchema.java
similarity index 60%
rename from 
modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NodeFinderType.java
rename to 
modules/network/src/main/java/org/apache/ignite/internal/network/configuration/StaticNodeFinderConfigurationSchema.java
index 96e5412e5ea..27d4b0ce320 100644
--- 
a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/NodeFinderType.java
+++ 
b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/StaticNodeFinderConfigurationSchema.java
@@ -17,10 +17,15 @@
 
 package org.apache.ignite.internal.network.configuration;
 
-/** NodeFinder type. */
-public enum NodeFinderType {
-    /** Node finder with a preconfigured list of ip addresses. */
-    STATIC,
-    /** Uses multicast to find nodes. */
-    MULTICAST
+import org.apache.ignite.configuration.annotation.PolymorphicConfigInstance;
+import org.apache.ignite.configuration.annotation.Value;
+
+/** Configuration specific for Static node finder. */
+@PolymorphicConfigInstance(StaticNodeFinderConfigurationSchema.TYPE)
+public class StaticNodeFinderConfigurationSchema extends 
NodeFinderConfigurationSchema {
+    public static final String TYPE = "STATIC";
+
+    /** Addresses of nodes in the cluster in a host:port format. */
+    @Value(hasDefault = true)
+    public final String[] netClusterNodes = new String[0];
 }
diff --git 
a/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/utils/ClusterServiceTestUtils.java
 
b/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/utils/ClusterServiceTestUtils.java
index 96711b13d55..055d5e4d55e 100644
--- 
a/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/utils/ClusterServiceTestUtils.java
+++ 
b/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/utils/ClusterServiceTestUtils.java
@@ -43,10 +43,12 @@ import org.apache.ignite.internal.network.ClusterService;
 import org.apache.ignite.internal.network.MessageSerializationRegistryImpl;
 import org.apache.ignite.internal.network.NettyBootstrapFactory;
 import org.apache.ignite.internal.network.NodeFinder;
+import 
org.apache.ignite.internal.network.configuration.MulticastNodeFinderConfigurationSchema;
 import org.apache.ignite.internal.network.configuration.NetworkConfiguration;
 import 
org.apache.ignite.internal.network.configuration.NetworkExtensionConfiguration;
 import 
org.apache.ignite.internal.network.configuration.NetworkExtensionConfigurationSchema;
-import org.apache.ignite.internal.network.configuration.NodeFinderType;
+import org.apache.ignite.internal.network.configuration.StaticNodeFinderChange;
+import 
org.apache.ignite.internal.network.configuration.StaticNodeFinderConfigurationSchema;
 import org.apache.ignite.internal.network.recovery.InMemoryStaleIds;
 import org.apache.ignite.internal.network.recovery.StaleIds;
 import 
org.apache.ignite.internal.network.scalecube.TestScaleCubeClusterServiceFactory;
@@ -166,7 +168,7 @@ public class ClusterServiceTestUtils {
         ConfigurationTreeGenerator generator = new ConfigurationTreeGenerator(
                 List.of(NodeConfiguration.KEY),
                 List.of(NetworkExtensionConfigurationSchema.class),
-                List.of()
+                List.of(StaticNodeFinderConfigurationSchema.class, 
MulticastNodeFinderConfigurationSchema.class)
         );
         ConfigurationManager nodeConfigurationMgr = new ConfigurationManager(
                 Collections.singleton(NodeConfiguration.KEY),
@@ -213,7 +215,7 @@ public class ClusterServiceTestUtils {
                         netCfg
                                 .changePort(port)
                                 .changeNodeFinder(c -> c
-                                        
.changeType(NodeFinderType.STATIC.toString())
+                                        .convert(StaticNodeFinderChange.class)
                                         .changeNetClusterNodes(
                                                 
nodeFinder.findNodes().stream().map(NetworkAddress::toString).toArray(String[]::new)
                                         )
diff --git 
a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
 
b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
index 556ef366306..5b765317165 100644
--- 
a/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
+++ 
b/modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java
@@ -116,7 +116,9 @@ import 
org.apache.ignite.internal.metastorage.server.raft.MetastorageGroupId;
 import org.apache.ignite.internal.metrics.NoOpMetricManager;
 import org.apache.ignite.internal.network.ClusterService;
 import org.apache.ignite.internal.network.NodeFinder;
+import 
org.apache.ignite.internal.network.configuration.MulticastNodeFinderConfigurationSchema;
 import 
org.apache.ignite.internal.network.configuration.NetworkExtensionConfigurationSchema;
+import 
org.apache.ignite.internal.network.configuration.StaticNodeFinderConfigurationSchema;
 import org.apache.ignite.internal.network.recovery.InMemoryStaleIds;
 import org.apache.ignite.internal.network.utils.ClusterServiceTestUtils;
 import 
org.apache.ignite.internal.pagememory.configuration.schema.PersistentPageMemoryProfileConfigurationSchema;
@@ -346,7 +348,9 @@ public class Node {
                 ),
                 List.of(
                         PersistentPageMemoryProfileConfigurationSchema.class,
-                        VolatilePageMemoryProfileConfigurationSchema.class
+                        VolatilePageMemoryProfileConfigurationSchema.class,
+                        StaticNodeFinderConfigurationSchema.class,
+                        MulticastNodeFinderConfigurationSchema.class
                 )
         );
 
diff --git 
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItTruncateSuffixAndRestartTest.java
 
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItTruncateSuffixAndRestartTest.java
index b95959ef30e..653c4a2adc6 100644
--- 
a/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItTruncateSuffixAndRestartTest.java
+++ 
b/modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItTruncateSuffixAndRestartTest.java
@@ -57,6 +57,7 @@ import org.apache.ignite.internal.manager.ComponentContext;
 import org.apache.ignite.internal.network.ClusterService;
 import org.apache.ignite.internal.network.NettyBootstrapFactory;
 import org.apache.ignite.internal.network.configuration.NetworkConfiguration;
+import org.apache.ignite.internal.network.configuration.StaticNodeFinderChange;
 import org.apache.ignite.internal.network.recovery.InMemoryStaleIds;
 import 
org.apache.ignite.internal.network.scalecube.TestScaleCubeClusterServiceFactory;
 import org.apache.ignite.internal.raft.configuration.RaftConfiguration;
@@ -126,7 +127,8 @@ public class ItTruncateSuffixAndRestartTest extends 
BaseIgniteAbstractTest {
     @BeforeEach
     void setUp() {
         CompletableFuture<Void> changeFuture = networkConfiguration.change(cfg 
-> cfg
-                .changeNodeFinder().changeNetClusterNodes(
+                .changeNodeFinder().convert(StaticNodeFinderChange.class)
+                .changeNetClusterNodes(
                         range(port(0), port(NODES)).mapToObj(port -> 
"localhost:" + port).toArray(String[]::new)
                 )
         );
diff --git 
a/modules/rest/src/test/java/org/apache/ignite/internal/rest/RestComponentTest.java
 
b/modules/rest/src/test/java/org/apache/ignite/internal/rest/RestComponentTest.java
index 75982bc7ab9..1070943fb5a 100644
--- 
a/modules/rest/src/test/java/org/apache/ignite/internal/rest/RestComponentTest.java
+++ 
b/modules/rest/src/test/java/org/apache/ignite/internal/rest/RestComponentTest.java
@@ -46,7 +46,9 @@ import 
org.apache.ignite.internal.configuration.validation.TestConfigurationVali
 import org.apache.ignite.internal.eventlog.api.Event;
 import org.apache.ignite.internal.eventlog.api.EventLog;
 import org.apache.ignite.internal.manager.ComponentContext;
+import 
org.apache.ignite.internal.network.configuration.MulticastNodeFinderConfigurationSchema;
 import 
org.apache.ignite.internal.network.configuration.NetworkExtensionConfigurationSchema;
+import 
org.apache.ignite.internal.network.configuration.StaticNodeFinderConfigurationSchema;
 import 
org.apache.ignite.internal.rest.authentication.AuthenticationProviderFactory;
 import org.apache.ignite.internal.rest.cluster.ClusterManagementRestFactory;
 import org.apache.ignite.internal.rest.configuration.PresentationsFactory;
@@ -83,7 +85,7 @@ public class RestComponentTest extends BaseIgniteAbstractTest 
{
         ConfigurationTreeGenerator generator = new ConfigurationTreeGenerator(
                 List.of(NodeConfiguration.KEY),
                 List.of(RestExtensionConfigurationSchema.class, 
NetworkExtensionConfigurationSchema.class),
-                List.of()
+                List.of(StaticNodeFinderConfigurationSchema.class, 
MulticastNodeFinderConfigurationSchema.class)
         );
         ConfigurationManager configurationManager = new ConfigurationManager(
                 List.of(NodeConfiguration.KEY),

Reply via email to