You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2017/03/30 17:25:35 UTC

[25/34] ignite git commit: IGNITE-3477 - Fixed concurrent read-through

IGNITE-3477 - Fixed concurrent read-through


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

Branch: refs/heads/ignite-3477-master
Commit: 31ffef4c741bd469e2014be72bdba87a060d833b
Parents: 3fcab0d
Author: Ivan Rakov <iv...@gmail.com>
Authored: Thu Mar 30 14:56:40 2017 +0300
Committer: Ivan Rakov <iv...@gmail.com>
Committed: Thu Mar 30 14:56:40 2017 +0300

----------------------------------------------------------------------
 .../ignite/internal/processors/cache/GridCacheAdapter.java     | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/31ffef4c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 61cbba5..56a7539 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -2090,9 +2090,13 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
                                         CacheObject cacheVal = ctx.toCacheObject(val);
 
                                         while (true) {
-                                            GridCacheEntryEx entry = entryEx(key);
+                                            GridCacheEntryEx entry = null;
 
                                             try {
+                                                entry = entryEx(key);
+
+                                                entry.unswap();
+
                                                 EntryGetResult verVal = entry.versionedValue(
                                                     cacheVal,
                                                     res.version(),