You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/01/20 13:02:40 UTC

[1/7] ignite git commit: IGNITE-2414 .NET: TestWithExpiryPolicy is split into two parts: one is fine, another one is muted due to IGNITE-1423.

Repository: ignite
Updated Branches:
  refs/heads/ignite-2236 384b39786 -> 879ef6875


IGNITE-2414 .NET: TestWithExpiryPolicy is split into two parts: one is fine, another one is muted due to IGNITE-1423.


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

Branch: refs/heads/ignite-2236
Commit: 5cea23302f44ddd279df7a5e9ddd0a814b781ffb
Parents: c1c2081
Author: Pavel Tupitsyn <pt...@gridgain.com>
Authored: Wed Jan 20 13:48:41 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Jan 20 13:48:41 2016 +0300

----------------------------------------------------------------------
 .../Cache/CacheAbstractTest.cs                  | 70 ++++++++++++++------
 1 file changed, 48 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/5cea2330/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
index 57e4949..0237a41 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
@@ -935,35 +935,66 @@ namespace Apache.Ignite.Core.Tests.Cache
 
             cache0.RemoveAll(new List<int> { key0, key1 });
 
-            // Test zero expiration.
-            cache = cache0.WithExpiryPolicy(new ExpiryPolicy(TimeSpan.Zero, TimeSpan.Zero, TimeSpan.Zero));
+            // Test regular expiration.
+            cache = cache0.WithExpiryPolicy(new ExpiryPolicy(TimeSpan.FromMilliseconds(100),
+                TimeSpan.FromMilliseconds(100), TimeSpan.FromMilliseconds(100)));
 
             cache.Put(key0, key0);
             cache.Put(key1, key1);
+            Assert.IsTrue(cache0.ContainsKey(key0));
+            Assert.IsTrue(cache0.ContainsKey(key1));
+            Thread.Sleep(200);
             Assert.IsFalse(cache0.ContainsKey(key0));
             Assert.IsFalse(cache0.ContainsKey(key1));
 
             cache0.Put(key0, key0);
             cache0.Put(key1, key1);
-            Assert.IsTrue(cache0.ContainsKey(key0));
-            Assert.IsTrue(cache0.ContainsKey(key1));
             cache.Put(key0, key0 + 1);
             cache.Put(key1, key1 + 1);
+            Assert.IsTrue(cache0.ContainsKey(key0));
+            Assert.IsTrue(cache0.ContainsKey(key1));
+            Thread.Sleep(200);
             Assert.IsFalse(cache0.ContainsKey(key0));
             Assert.IsFalse(cache0.ContainsKey(key1));
 
             cache0.Put(key0, key0);
             cache0.Put(key1, key1);
-            cache.Get(key0);
+            cache.Get(key0); 
             cache.Get(key1);
+            Assert.IsTrue(cache0.ContainsKey(key0));
+            Assert.IsTrue(cache0.ContainsKey(key1));
+            Thread.Sleep(200);
             Assert.IsFalse(cache0.ContainsKey(key0));
             Assert.IsFalse(cache0.ContainsKey(key1));
+        }
+        
+        /// <summary>
+        /// Expiry policy tests for zero and negative expiry values.
+        /// </summary>
+        [Test]
+        [Ignore("IGNITE-1423")]
+        public void TestWithExpiryPolicyZeroNegative()
+        {
+            ICache<int, int> cache0 = Cache(0);
+            
+            int key0;
+            int key1;
 
-            cache0.RemoveAll(new List<int> { key0, key1 });
+            if (LocalCache())
+            {
+                key0 = 0;
+                key1 = 1;
+            }
+            else
+            {
+                key0 = PrimaryKeyForCache(cache0);
+                key1 = PrimaryKeyForCache(Cache(1));
+            }
 
-            // Test negative expiration.
-            cache = cache0.WithExpiryPolicy(new ExpiryPolicy(TimeSpan.FromMilliseconds(-100), 
-                TimeSpan.FromMilliseconds(-100), TimeSpan.FromMilliseconds(-100)));
+            var cache = cache0.WithExpiryPolicy(new ExpiryPolicy(null, null, null));
+
+            // Test zero expiration.
+            cache = cache0.WithExpiryPolicy(new ExpiryPolicy(TimeSpan.Zero, TimeSpan.Zero, TimeSpan.Zero));
 
             cache.Put(key0, key0);
             cache.Put(key1, key1);
@@ -988,37 +1019,32 @@ namespace Apache.Ignite.Core.Tests.Cache
 
             cache0.RemoveAll(new List<int> { key0, key1 });
 
-            // Test regular expiration.
-            cache = cache0.WithExpiryPolicy(new ExpiryPolicy(TimeSpan.FromMilliseconds(100),
-                TimeSpan.FromMilliseconds(100), TimeSpan.FromMilliseconds(100)));
+            // Test negative expiration.
+            cache = cache0.WithExpiryPolicy(new ExpiryPolicy(TimeSpan.FromMilliseconds(-100), 
+                TimeSpan.FromMilliseconds(-100), TimeSpan.FromMilliseconds(-100)));
 
             cache.Put(key0, key0);
             cache.Put(key1, key1);
-            Assert.IsTrue(cache0.ContainsKey(key0));
-            Assert.IsTrue(cache0.ContainsKey(key1));
-            Thread.Sleep(200);
             Assert.IsFalse(cache0.ContainsKey(key0));
             Assert.IsFalse(cache0.ContainsKey(key1));
 
             cache0.Put(key0, key0);
             cache0.Put(key1, key1);
-            cache.Put(key0, key0 + 1);
-            cache.Put(key1, key1 + 1);
             Assert.IsTrue(cache0.ContainsKey(key0));
             Assert.IsTrue(cache0.ContainsKey(key1));
-            Thread.Sleep(200);
+            cache.Put(key0, key0 + 1);
+            cache.Put(key1, key1 + 1);
             Assert.IsFalse(cache0.ContainsKey(key0));
             Assert.IsFalse(cache0.ContainsKey(key1));
 
             cache0.Put(key0, key0);
             cache0.Put(key1, key1);
-            cache.Get(key0); 
+            cache.Get(key0);
             cache.Get(key1);
-            Assert.IsTrue(cache0.ContainsKey(key0));
-            Assert.IsTrue(cache0.ContainsKey(key1));
-            Thread.Sleep(200);
             Assert.IsFalse(cache0.ContainsKey(key0));
             Assert.IsFalse(cache0.ContainsKey(key1));
+
+            cache0.RemoveAll(new List<int> { key0, key1 });
         }
 
         [Test]


[5/7] ignite git commit: IGNITE-2410: .NET: Fixed JVM crash in DestroyCache() method. This closes #413.

Posted by vo...@apache.org.
IGNITE-2410: .NET: Fixed JVM crash in DestroyCache() method. This closes #413.


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

Branch: refs/heads/ignite-2236
Commit: 4079a65dc277b0187aa7727a0a0ce2ad1d325a74
Parents: 4d29b2d
Author: Pavel Tupitsyn <pt...@gridgain.com>
Authored: Wed Jan 20 14:59:32 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Jan 20 14:59:32 2016 +0300

----------------------------------------------------------------------
 .../dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs | 2 ++
 .../Impl/Unmanaged/IgniteJniNativeMethods.cs                   | 2 +-
 .../dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs | 6 ++----
 3 files changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/4079a65d/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
index 0237a41..e57df6f 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
@@ -3117,6 +3117,8 @@ namespace Apache.Ignite.Core.Tests.Cache
             var ex = Assert.Throws<ArgumentException>(() => ignite.GetCache<int, int>(cacheName));
 
             Assert.IsTrue(ex.Message.StartsWith("Cache doesn't exist"));
+
+            Assert.Throws<InvalidOperationException>(() => cache.Get(1));
         }
 
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/4079a65d/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/IgniteJniNativeMethods.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/IgniteJniNativeMethods.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/IgniteJniNativeMethods.cs
index 70ad733..7a73bee 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/IgniteJniNativeMethods.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/IgniteJniNativeMethods.cs
@@ -56,7 +56,7 @@ namespace Apache.Ignite.Core.Impl.Unmanaged
         public static extern void* ProcessorGetOrCreateCache(void* ctx, void* obj, sbyte* name);
 
         [DllImport(IgniteUtils.FileIgniteJniDll, EntryPoint = "IgniteProcessorDestroyCache")]
-        public static extern void* ProcessorDestroyCache(void* ctx, void* obj, sbyte* name);
+        public static extern void ProcessorDestroyCache(void* ctx, void* obj, sbyte* name);
 
         [DllImport(IgniteUtils.FileIgniteJniDll, EntryPoint = "IgniteProcessorAffinity")]
         public static extern void* ProcessorAffinity(void* ctx, void* obj, sbyte* name);

http://git-wip-us.apache.org/repos/asf/ignite/blob/4079a65d/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
index 7b12010..f460c9f 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/UnmanagedUtils.cs
@@ -163,15 +163,13 @@ namespace Apache.Ignite.Core.Impl.Unmanaged
             }
         }
 
-        internal static IUnmanagedTarget ProcessorDestroyCache(IUnmanagedTarget target, string name)
+        internal static void ProcessorDestroyCache(IUnmanagedTarget target, string name)
         {
             sbyte* name0 = IgniteUtils.StringToUtf8Unmanaged(name);
 
             try
             {
-                void* res = JNI.ProcessorDestroyCache(target.Context, target.Target, name0);
-
-                return target.ChangeTarget(res);
+                JNI.ProcessorDestroyCache(target.Context, target.Target, name0);
             }
             finally
             {


[2/7] ignite git commit: Fixed queryEntities initialization from a default config

Posted by vo...@apache.org.
Fixed queryEntities initialization from a default config


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

Branch: refs/heads/ignite-2236
Commit: 0abe0df650c922f4166a4eb8295091a877ed22a0
Parents: c1c2081
Author: Denis Magda <dm...@gridgain.com>
Authored: Wed Jan 20 13:48:47 2016 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Wed Jan 20 13:48:47 2016 +0300

----------------------------------------------------------------------
 .../java/org/apache/ignite/configuration/CacheConfiguration.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/0abe0df6/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
index d52662e..07542de 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
@@ -458,7 +458,7 @@ public class CacheConfiguration<K, V> extends MutableConfiguration<K, V> {
         nearCfg = cc.getNearConfiguration();
         nodeFilter = cc.getNodeFilter();
         pluginCfgs = cc.getPluginConfigurations();
-        qryEntities = cc.getQueryEntities();
+        qryEntities = cc.getQueryEntities() == Collections.<QueryEntity>emptyList() ? null : cc.getQueryEntities();
         readFromBackup = cc.isReadFromBackup();
         rebalanceBatchSize = cc.getRebalanceBatchSize();
         rebalanceBatchesPrefetchCount = cc.getRebalanceBatchesPrefetchCount();


[3/7] ignite git commit: Merge remote-tracking branch 'origin/master'

Posted by vo...@apache.org.
Merge remote-tracking branch 'origin/master'


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

Branch: refs/heads/ignite-2236
Commit: 4d29b2d427ba23144e14848dcef94ab1c6d8de02
Parents: 5cea233 0abe0df
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Jan 20 13:49:38 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Jan 20 13:49:38 2016 +0300

----------------------------------------------------------------------
 .../java/org/apache/ignite/configuration/CacheConfiguration.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------



[6/7] ignite git commit: Merge remote-tracking branch 'origin/master'

Posted by vo...@apache.org.
Merge remote-tracking branch 'origin/master'


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

Branch: refs/heads/ignite-2236
Commit: 27c906401d27e1a368449c1cbd0b19dcb33792b9
Parents: 4079a65 5c78572
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Jan 20 15:00:12 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Jan 20 15:00:12 2016 +0300

----------------------------------------------------------------------
 .../processors/cluster/ClusterProcessor.java    | 37 ++++++++++++++------
 1 file changed, 27 insertions(+), 10 deletions(-)
----------------------------------------------------------------------



[7/7] ignite git commit: Merge branch 'master' into ignite-2236

Posted by vo...@apache.org.
Merge branch 'master' into ignite-2236


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

Branch: refs/heads/ignite-2236
Commit: 879ef68751a89f5b1e66793c46bb7562af81a088
Parents: 384b397 27c9064
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Jan 20 15:02:26 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Jan 20 15:02:26 2016 +0300

----------------------------------------------------------------------
 .../configuration/CacheConfiguration.java       |  2 +-
 .../processors/cluster/ClusterProcessor.java    | 37 +++++++---
 .../Cache/CacheAbstractTest.cs                  | 72 ++++++++++++++------
 .../Impl/Unmanaged/IgniteJniNativeMethods.cs    |  2 +-
 .../Impl/Unmanaged/UnmanagedUtils.cs            |  6 +-
 5 files changed, 81 insertions(+), 38 deletions(-)
----------------------------------------------------------------------



[4/7] ignite git commit: G-10964

Posted by vo...@apache.org.
G-10964


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

Branch: refs/heads/ignite-2236
Commit: 5c7857292e76eda73c6dcaafcd725a5d913b6c3b
Parents: 4d29b2d
Author: Anton Vinogradov <av...@apache.org>
Authored: Wed Jan 20 14:46:46 2016 +0300
Committer: Anton Vinogradov <av...@apache.org>
Committed: Wed Jan 20 14:46:46 2016 +0300

----------------------------------------------------------------------
 .../processors/cluster/ClusterProcessor.java    | 37 ++++++++++++++------
 1 file changed, 27 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/5c785729/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterProcessor.java
index 5e8e98d..5ccd680 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/ClusterProcessor.java
@@ -23,6 +23,7 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Timer;
 import java.util.UUID;
+import java.util.concurrent.atomic.AtomicBoolean;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteLogger;
 import org.apache.ignite.IgniteSystemProperties;
@@ -57,7 +58,7 @@ public class ClusterProcessor extends GridProcessorAdapter {
     private IgniteClusterImpl cluster;
 
     /** */
-    private boolean notifyEnabled;
+    private final AtomicBoolean notifyEnabled = new AtomicBoolean();
 
     /** */
     @GridToStringExclude
@@ -73,8 +74,8 @@ public class ClusterProcessor extends GridProcessorAdapter {
     public ClusterProcessor(GridKernalContext ctx) {
         super(ctx);
 
-        notifyEnabled = IgniteSystemProperties.getBoolean(IGNITE_UPDATE_NOTIFIER,
-            Boolean.parseBoolean(IgniteProperties.get("ignite.update.notifier.enabled.by.default")));
+        notifyEnabled.set(IgniteSystemProperties.getBoolean(IGNITE_UPDATE_NOTIFIER,
+            Boolean.parseBoolean(IgniteProperties.get("ignite.update.notifier.enabled.by.default"))));
 
         cluster = new IgniteClusterImpl(ctx);
     }
@@ -104,7 +105,7 @@ public class ClusterProcessor extends GridProcessorAdapter {
     @Nullable @Override public Serializable collectDiscoveryData(UUID nodeId) {
         HashMap<String, Object> map = new HashMap<>();
 
-        map.put(ATTR_UPDATE_NOTIFIER_STATUS, notifyEnabled);
+        map.put(ATTR_UPDATE_NOTIFIER_STATUS, notifyEnabled.get());
 
         return map;
     }
@@ -116,13 +117,13 @@ public class ClusterProcessor extends GridProcessorAdapter {
             Map<String, Object> map = (Map<String, Object>)data;
 
             if (map != null && map.containsKey(ATTR_UPDATE_NOTIFIER_STATUS))
-                notifyEnabled = (Boolean)map.get(ATTR_UPDATE_NOTIFIER_STATUS);
+                notifyEnabled.set((Boolean)map.get(ATTR_UPDATE_NOTIFIER_STATUS));
         }
     }
 
     /** {@inheritDoc} */
     @Override public void onKernalStart() throws IgniteCheckedException {
-        if (notifyEnabled) {
+        if (notifyEnabled.get()) {
             try {
                 verChecker = new GridUpdateNotifier(ctx.gridName(),
                     VER_STR,
@@ -133,7 +134,8 @@ public class ClusterProcessor extends GridProcessorAdapter {
                 updateNtfTimer = new Timer("ignite-update-notifier-timer", true);
 
                 // Setup periodic version check.
-                updateNtfTimer.scheduleAtFixedRate(new UpdateNotifierTimerTask((IgniteKernal)ctx.grid(), verChecker),
+                updateNtfTimer.scheduleAtFixedRate(
+                    new UpdateNotifierTimerTask((IgniteKernal)ctx.grid(), verChecker, notifyEnabled),
                     0, PERIODIC_VER_CHECK_DELAY);
             }
             catch (IgniteCheckedException e) {
@@ -155,10 +157,17 @@ public class ClusterProcessor extends GridProcessorAdapter {
     }
 
     /**
+     * Disables update notifier.
+     */
+    public void disableUpdateNotifier() {
+        notifyEnabled.set(false);
+    }
+
+    /**
      * @return Update notifier status.
      */
     public boolean updateNotifierEnabled() {
-        return notifyEnabled;
+        return notifyEnabled.get();
     }
 
     /**
@@ -184,22 +193,30 @@ public class ClusterProcessor extends GridProcessorAdapter {
         /** Whether this is the first run. */
         private boolean first = true;
 
+        /** */
+        private final AtomicBoolean notifyEnabled;
+
         /**
          * Constructor.
          *
          * @param kernal Kernal.
          * @param verChecker Version checker.
          */
-        private UpdateNotifierTimerTask(IgniteKernal kernal, GridUpdateNotifier verChecker) {
+        private UpdateNotifierTimerTask(IgniteKernal kernal, GridUpdateNotifier verChecker,
+            AtomicBoolean notifyEnabled) {
             kernalRef = new WeakReference<>(kernal);
 
             log = kernal.context().log(UpdateNotifierTimerTask.class);
 
             this.verChecker = verChecker;
+            this.notifyEnabled = notifyEnabled;
         }
 
         /** {@inheritDoc} */
         @Override public void safeRun() throws InterruptedException {
+            if (!notifyEnabled.get())
+                return;
+
             if (!first) {
                 IgniteKernal kernal = kernalRef.get();
 
@@ -228,4 +245,4 @@ public class ClusterProcessor extends GridProcessorAdapter {
             }
         }
     }
-}
\ No newline at end of file
+}