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

Reply via email to