You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by av...@apache.org on 2018/06/27 14:49:49 UTC

[22/50] [abbrv] ignite git commit: IGNITE-8238 Fix for Operation can fails with unexpected RuntimeException when node is stopping. - Fixes #3993.

IGNITE-8238 Fix for Operation can fails with unexpected RuntimeException when node is stopping. - Fixes #3993.

Signed-off-by: Dmitriy Pavlov <dp...@apache.org>


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

Branch: refs/heads/ignite-8446
Commit: 21cd24c6f08d957669953dd6aa01c670680bb7f9
Parents: f427b9d
Author: Alexander Menshikov <sh...@gmail.com>
Authored: Fri Jun 22 21:34:26 2018 +0300
Committer: Dmitriy Pavlov <dp...@apache.org>
Committed: Fri Jun 22 21:34:26 2018 +0300

----------------------------------------------------------------------
 .../internal/processors/cache/GridCacheTtlManager.java      | 9 +++++++++
 .../cache/persistence/GridCacheDatabaseSharedManager.java   | 3 ++-
 2 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/21cd24c6/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
index d36485a..ff6ed65 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheTtlManager.java
@@ -21,6 +21,7 @@ import java.util.concurrent.atomic.LongAdder;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.internal.NodeStoppingException;
 import org.apache.ignite.internal.processors.cache.distributed.near.GridNearCacheAdapter;
 import org.apache.ignite.internal.processors.cache.distributed.near.GridNearCacheEntry;
 import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
@@ -214,6 +215,14 @@ public class GridCacheTtlManager extends GridCacheManagerAdapter {
         catch (IgniteCheckedException e) {
             U.error(log, "Failed to process entry expiration: " + e, e);
         }
+        catch (IgniteException e) {
+            if (e.hasCause(NodeStoppingException.class)) {
+                if (log.isDebugEnabled())
+                    log.debug("Failed to expire because node is stopped: " + e);
+            }
+            else
+                throw e;
+        }
 
         return false;
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/21cd24c6/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
index d12dc9d..9892b8c 100755
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
@@ -1460,6 +1460,7 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
     /**
      * Gets the checkpoint read lock. While this lock is held, checkpoint thread will not acquireSnapshotWorker memory
      * state.
+     * @throws IgniteException If failed.
      */
     @SuppressWarnings("LockAcquiredButNotSafelyReleased")
     @Override public void checkpointReadLock() {
@@ -1472,7 +1473,7 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
             if (stopping) {
                 checkpointLock.readLock().unlock();
 
-                throw new RuntimeException("Failed to perform cache update: node is stopping.");
+                throw new IgniteException(new NodeStoppingException("Failed to perform cache update: node is stopping."));
             }
 
             if (safeToUpdatePageMemories() || checkpointLock.getReadHoldCount() > 1)