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>

Reply via email to