This is an automated email from the ASF dual-hosted git repository.
anton-vinogradov 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 bcd27f591e4 IGNITE-28877 .NET tests: fail fast when embedded node
cannot join topology instead of hanging the suite (#13357)
bcd27f591e4 is described below
commit bcd27f591e4c50151c1daad9464bb6a1733b8de5
Author: Anton Vinogradov <[email protected]>
AuthorDate: Mon Jul 13 16:34:22 2026 +0300
IGNITE-28877 .NET tests: fail fast when embedded node cannot join topology
instead of hanging the suite (#13357)
---
modules/platforms/dotnet/Apache.Ignite.AspNet.Tests/App.config | 8 ++++----
.../Apache.Ignite.Core.Tests/Compute/ComputeTaskSessionTest.cs | 3 ++-
modules/platforms/dotnet/Apache.Ignite.Core.Tests/TestUtils.cs | 9 ++++++++-
modules/platforms/dotnet/Apache.Ignite.Core.Tests/app.config | 6 +++---
.../platforms/dotnet/Apache.Ignite.Core.Tests/custom_app.config | 2 +-
.../dotnet/Apache.Ignite.EntityFramework.Tests/App.config | 6 +++---
6 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/modules/platforms/dotnet/Apache.Ignite.AspNet.Tests/App.config
b/modules/platforms/dotnet/Apache.Ignite.AspNet.Tests/App.config
index 016078e069a..9dad03a8000 100644
--- a/modules/platforms/dotnet/Apache.Ignite.AspNet.Tests/App.config
+++ b/modules/platforms/dotnet/Apache.Ignite.AspNet.Tests/App.config
@@ -29,8 +29,8 @@
<gcServer enabled="true"/>
</runtime>
- <igniteConfiguration
xmlns="http://ignite.apache.org/schema/dotnet/IgniteConfigurationSection"
igniteInstanceName="myGrid1">
- <discoverySpi type="TcpDiscoverySpi">
+ <igniteConfiguration
xmlns="http://ignite.apache.org/schema/dotnet/IgniteConfigurationSection"
igniteInstanceName="myGrid1" localhost="127.0.0.1">
+ <discoverySpi type="TcpDiscoverySpi" joinTimeout="0:2:0">
<ipFinder type="TcpDiscoveryStaticIpFinder">
<endpoints>
<string>127.0.0.1:47500</string>
@@ -44,7 +44,7 @@
</igniteConfiguration>
<igniteConfiguration2 igniteInstanceName="myGrid2" localhost="127.0.0.1">
- <discoverySpi type="TcpDiscoverySpi">
+ <discoverySpi type="TcpDiscoverySpi" joinTimeout="0:2:0">
<ipFinder type="TcpDiscoveryStaticIpFinder">
<endpoints>
<string>127.0.0.1:47500</string>
@@ -58,7 +58,7 @@
</igniteConfiguration2>
<igniteConfiguration3 igniteInstanceName="myGrid3" localhost="127.0.0.1">
- <discoverySpi type="TcpDiscoverySpi">
+ <discoverySpi type="TcpDiscoverySpi" joinTimeout="0:2:0">
<ipFinder type="TcpDiscoveryStaticIpFinder">
<endpoints>
<string>127.0.0.1:47500</string>
diff --git
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/ComputeTaskSessionTest.cs
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/ComputeTaskSessionTest.cs
index e336b52a6f1..6c4639dfa5d 100644
---
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/ComputeTaskSessionTest.cs
+++
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/ComputeTaskSessionTest.cs
@@ -75,7 +75,8 @@ namespace Apache.Ignite.Core.Tests.Compute
ConsistentId = igniteName,
IgniteInstanceName = igniteName,
DiscoverySpi = GetStaticDiscovery(),
- JvmOptions = TestJavaOptions()
+ JvmOptions = TestJavaOptions(),
+ Localhost = "127.0.0.1"
};
/// <summary>
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/TestUtils.cs
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/TestUtils.cs
index c9ef65f4ab4..6652a87440b 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/TestUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/TestUtils.cs
@@ -371,7 +371,14 @@ namespace Apache.Ignite.Core.Tests
{
Endpoints = new[] { "127.0.0.1:47500" + (maxPort == null ?
null : (".." + maxPort)) }
},
- SocketTimeout = TimeSpan.FromSeconds(0.3)
+ SocketTimeout = TimeSpan.FromSeconds(0.3),
+ // If the finder port is squatted at bind time (e.g. lingering
teardown of the previous
+ // fixture), the node binds the next port and the default
infinite join retries the finder
+ // address forever, eating the whole suite execution timeout:
fail the test fast instead.
+ // MaxAckTimeout caps the exponential handshake backoff,
otherwise a single retry sweep
+ // takes up to 20 minutes and JoinTimeout, checked between
sweeps, never gets a chance.
+ JoinTimeout = TimeSpan.FromMinutes(2),
+ MaxAckTimeout = TimeSpan.FromSeconds(10)
};
}
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/app.config
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/app.config
index 845680633c3..b2bc4c84378 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/app.config
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/app.config
@@ -32,8 +32,8 @@
<gcServer enabled="true"/>
</runtime>
- <igniteConfiguration
xmlns="http://ignite.apache.org/schema/dotnet/IgniteConfigurationSection"
igniteInstanceName="myGrid1">
- <discoverySpi type="TcpDiscoverySpi">
+ <igniteConfiguration
xmlns="http://ignite.apache.org/schema/dotnet/IgniteConfigurationSection"
igniteInstanceName="myGrid1" localhost="127.0.0.1">
+ <discoverySpi type="TcpDiscoverySpi" joinTimeout="0:2:0">
<ipFinder type="TcpDiscoveryStaticIpFinder">
<endpoints>
<string>127.0.0.1:47500</string>
@@ -47,7 +47,7 @@
</igniteConfiguration>
<igniteConfiguration2 igniteInstanceName="myGrid2" localhost="127.0.0.1">
- <discoverySpi type="TcpDiscoverySpi">
+ <discoverySpi type="TcpDiscoverySpi" joinTimeout="0:2:0">
<ipFinder type="TcpDiscoveryStaticIpFinder">
<endpoints>
<string>127.0.0.1:47500</string>
diff --git
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/custom_app.config
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/custom_app.config
index 9fa96f5a498..68d31ef7273 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/custom_app.config
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/custom_app.config
@@ -27,7 +27,7 @@
</configSections>
<igniteConfiguration3 igniteInstanceName="myGrid3" localhost="127.0.0.1">
- <discoverySpi type="TcpDiscoverySpi">
+ <discoverySpi type="TcpDiscoverySpi" joinTimeout="0:2:0">
<ipFinder type="TcpDiscoveryStaticIpFinder">
<endpoints>
<string>127.0.0.1:47500</string>
diff --git
a/modules/platforms/dotnet/Apache.Ignite.EntityFramework.Tests/App.config
b/modules/platforms/dotnet/Apache.Ignite.EntityFramework.Tests/App.config
index 0e0da8d4576..7c1ce90ee4c 100644
--- a/modules/platforms/dotnet/Apache.Ignite.EntityFramework.Tests/App.config
+++ b/modules/platforms/dotnet/Apache.Ignite.EntityFramework.Tests/App.config
@@ -25,8 +25,8 @@
<gcServer enabled="true" />
</runtime>
- <igniteConfiguration
xmlns="http://ignite.apache.org/schema/dotnet/IgniteConfigurationSection"
igniteInstanceName="myGrid1">
- <discoverySpi type="TcpDiscoverySpi">
+ <igniteConfiguration
xmlns="http://ignite.apache.org/schema/dotnet/IgniteConfigurationSection"
igniteInstanceName="myGrid1" localhost="127.0.0.1">
+ <discoverySpi type="TcpDiscoverySpi" joinTimeout="0:2:0">
<ipFinder type="TcpDiscoveryStaticIpFinder">
<endpoints>
<string>127.0.0.1:47500</string>
@@ -39,7 +39,7 @@
</igniteConfiguration>
<igniteConfiguration2 igniteInstanceName="myGrid2" localhost="127.0.0.1">
- <discoverySpi type="TcpDiscoverySpi">
+ <discoverySpi type="TcpDiscoverySpi" joinTimeout="0:2:0">
<ipFinder type="TcpDiscoveryStaticIpFinder">
<endpoints>
<string>127.0.0.1:47500</string>