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 <[email protected]> Authored: Thu Mar 30 14:56:40 2017 +0300 Committer: Ivan Rakov <[email protected]> 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(),
