ignite-656: get() is fixed for replicated cache
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/daf30ae4 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/daf30ae4 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/daf30ae4 Branch: refs/heads/ignite-gg-9702 Commit: daf30ae49ba36dee2af799f71ab59afda00f2e83 Parents: 04a110a Author: Denis Magda <dma...@gridgain.com> Authored: Wed Apr 15 17:44:23 2015 +0300 Committer: Denis Magda <dma...@gridgain.com> Committed: Wed Apr 15 17:44:23 2015 +0300 ---------------------------------------------------------------------- .../apache/ignite/internal/processors/cache/GridCacheAdapter.java | 2 +- .../processors/cache/transactions/IgniteTxLocalAdapter.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/daf30ae4/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 30e3bc7..31cfa1e 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 @@ -1862,7 +1862,7 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, } } - if (!skipVals && misses != null && readThrough && ctx.readThrough()) { + if (!skipVals && misses != null && readThrough && ctx.readThrough() && !ctx.skipStore()) { final Map<KeyCacheObject, GridCacheVersion> loadKeys = misses; final IgniteTxLocalAdapter tx0 = tx; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/daf30ae4/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java index 509a96c..8a1f8bb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java @@ -1709,6 +1709,9 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter deserializePortable, false); } + else if (txEntry.skipStore()) { + missed.remove(cacheKey); + } // Even though we bring the value back from lock acquisition, // we still need to recheck primary node for consistent values