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),