You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/05/11 20:20:20 UTC

[4/7] ignite git commit: IGNITE-5194 .NET: Fix TryGetIgnite to return an instance with any name when there is only one

IGNITE-5194 .NET: Fix TryGetIgnite to return an instance with any name when there is only one


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f0051e18
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f0051e18
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f0051e18

Branch: refs/heads/ignite-5009
Commit: f0051e18add681e613efe9420c99d7f5c438a192
Parents: 57c6705
Author: Pavel Tupitsyn <pt...@apache.org>
Authored: Thu May 11 13:43:37 2017 +0300
Committer: Pavel Tupitsyn <pt...@apache.org>
Committed: Thu May 11 13:43:37 2017 +0300

----------------------------------------------------------------------
 .../Apache.Ignite.Core.Tests/IgniteStartStopTest.cs |  2 ++
 .../platforms/dotnet/Apache.Ignite.Core/Ignition.cs | 16 ++++++++++++----
 2 files changed, 14 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/f0051e18/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteStartStopTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteStartStopTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteStartStopTest.cs
index 486878a..529128a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteStartStopTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteStartStopTest.cs
@@ -185,9 +185,11 @@ namespace Apache.Ignite.Core.Tests
 
             Ignition.Start(cfg);
             Assert.IsNotNull(Ignition.GetIgnite());
+            Assert.IsNotNull(Ignition.TryGetIgnite());
 
             Ignition.Start(cfg);
             Assert.Throws<IgniteException>(() => Ignition.GetIgnite());
+            Assert.IsNull(Ignition.TryGetIgnite());
             Assert.AreEqual(2, Ignition.GetAll().Count);
         }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/f0051e18/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
index cdb1064..fdddbb7 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Ignition.cs
@@ -651,14 +651,22 @@ namespace Apache.Ignite.Core
         }
 
         /// <summary>
-        /// Gets an instance of default no-name grid, or <c>null</c> if none found. Note that
-        /// caller of this method should not assume that it will return the same
-        /// instance every time.
+        /// Gets the default Ignite instance with null name, or an instance with any name when there is only one.
+        /// Returns null when there are no Ignite instances started, or when there are more than one,
+        /// and none of them has null name.
         /// </summary>
         /// <returns>An instance of default no-name grid, or null.</returns>
         public static IIgnite TryGetIgnite()
         {
-            return TryGetIgnite(null);
+            lock (SyncRoot)
+            {
+                if (Nodes.Count == 1)
+                {
+                    return Nodes.Single().Value;
+                }
+
+                return TryGetIgnite(null);
+            }
         }
 
         /// <summary>