ignite-656: added skipStore flag to appropriate places

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

Branch: refs/heads/ignite-800
Commit: 77359515ff5cfc6b32767368a556619bfcee97cd
Parents: 22eb695
Author: Denis Magda <dma...@gridgain.com>
Authored: Mon Apr 20 12:47:18 2015 +0300
Committer: Denis Magda <dma...@gridgain.com>
Committed: Mon Apr 20 12:47:18 2015 +0300

----------------------------------------------------------------------
 .../ignite/internal/processors/cache/GridCacheAdapter.java  | 6 +++---
 .../cache/distributed/dht/GridDhtCacheAdapter.java          | 4 +++-
 .../cache/distributed/dht/GridPartitionedGetFuture.java     | 3 +--
 .../cache/distributed/dht/atomic/GridDhtAtomicCache.java    | 9 ++++++---
 .../distributed/dht/colocated/GridDhtColocatedCache.java    | 2 +-
 .../cache/distributed/near/GridNearAtomicCache.java         | 3 ++-
 .../cache/distributed/near/GridNearCacheAdapter.java        | 9 ++++++---
 .../cache/distributed/near/GridNearCacheEntry.java          | 3 ++-
 .../cache/distributed/near/GridNearTransactionalCache.java  | 5 +++--
 .../processors/cache/local/atomic/GridLocalAtomicCache.java | 4 ++--
 .../processors/cache/transactions/IgniteTxLocalAdapter.java | 4 ++--
 11 files changed, 31 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/77359515/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 31cfa1e..b9c41d0 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
@@ -1315,8 +1315,8 @@ public abstract class GridCacheAdapter<K, V> implements 
GridCache<K, V>,
     @Override public V getForcePrimary(K key) throws IgniteCheckedException {
         String taskName = ctx.kernalContext().job().currentTaskName();
 
-        return getAllAsync(F.asList(key), /*force primary*/true, /*skip 
tx*/false, null, null, taskName, true, false)
-            .get().get(key);
+        return getAllAsync(F.asList(key), /*force primary*/true, /*skip 
tx*/false, null, null, taskName, true,
+            false).get().get(key);
     }
 
     /** {@inheritDoc} */
@@ -1705,7 +1705,7 @@ public abstract class GridCacheAdapter<K, V> implements 
GridCache<K, V>,
         subjId = ctx.subjectIdPerCall(subjId, prj);
 
         return getAllAsync(keys,
-                true,
+                prj == null || !prj.skipStore(),
                 entry,
                 !skipTx,
                 subjId,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/77359515/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
index a875a26..da0814c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
@@ -528,8 +528,10 @@ public abstract class GridDhtCacheAdapter<K, V> extends 
GridDistributedCacheAdap
         boolean deserializePortable,
         boolean skipVals
     ) {
+        GridCacheProjectionImpl<K, V> prj = ctx.projectionPerCall();
+
         return getAllAsync(keys,
-            true,
+            prj == null || !prj.skipStore(),
             null,
             /*don't check local tx. */false,
             subjId,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/77359515/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
index 45b9fd1..da2105d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
@@ -372,8 +372,7 @@ public class GridPartitionedGetFuture<K, V> extends 
GridCompoundIdentityFuture<M
                     subjId,
                     taskName == null ? 0 : taskName.hashCode(),
                     expiryPlc != null ? expiryPlc.forAccess() : -1L,
-                    skipVals);//,
-                   // cctx.skipStore());
+                    skipVals);
 
                 add(fut); // Append new future.
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/77359515/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index ce372b1..1d0555c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@ -295,7 +295,8 @@ public class GridDhtAtomicCache<K, V> extends 
GridDhtCacheAdapter<K, V> {
                     taskName,
                     deserializePortable,
                     expiryPlc,
-                    skipVals);
+                    skipVals,
+                    prj != null && prj.skipStore());
             }
         });
     }
@@ -890,6 +891,7 @@ public class GridDhtAtomicCache<K, V> extends 
GridDhtCacheAdapter<K, V> {
      * @param deserializePortable Deserialize portable flag.
      * @param expiryPlc Expiry policy.
      * @param skipVals Skip values flag.
+     * @param skipStore Skip store flag.
      * @return Get future.
      */
     private IgniteInternalFuture<Map<K, V>> getAllAsync0(@Nullable 
Collection<KeyCacheObject> keys,
@@ -899,7 +901,8 @@ public class GridDhtAtomicCache<K, V> extends 
GridDhtCacheAdapter<K, V> {
         String taskName,
         boolean deserializePortable,
         @Nullable ExpiryPolicy expiryPlc,
-        boolean skipVals) {
+        boolean skipVals,
+        boolean skipStore) {
         AffinityTopologyVersion topVer = 
ctx.affinity().affinityTopologyVersion();
 
         final IgniteCacheExpiryPolicy expiry = skipVals ? null : 
expiryPolicy(expiryPlc);
@@ -993,7 +996,7 @@ public class GridDhtAtomicCache<K, V> extends 
GridDhtCacheAdapter<K, V> {
         GridPartitionedGetFuture<K, V> fut = new 
GridPartitionedGetFuture<>(ctx,
             keys,
             topVer,
-            !ctx.skipStore(),
+            !skipStore,
             reload,
             forcePrimary,
             subjId,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/77359515/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
index b246442..018c071 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
@@ -186,7 +186,7 @@ public class GridDhtColocatedCache<K, V> extends 
GridDhtTransactionalCacheAdapte
 
         return loadAsync(
             ctx.cacheKeysView(keys),
-            true,
+            prj == null || !prj.skipStore(),
             false,
             forcePrimary,
             topVer,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/77359515/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
index 429dee3..1792d60 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
@@ -384,7 +384,8 @@ public class GridNearAtomicCache<K, V> extends 
GridNearCacheAdapter<K, V> {
             taskName,
             deserializePortable,
             skipVals ? null : prj != null ? prj.expiry() : null,
-            skipVals);
+            skipVals,
+            prj != null && prj.skipStore());
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/77359515/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheAdapter.java
index 98f9d88..e2cf83b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheAdapter.java
@@ -197,7 +197,8 @@ public abstract class GridNearCacheAdapter<K, V> extends 
GridDistributedCacheAda
             taskName,
             true,
             null,
-            skipVals);
+            skipVals,
+            /*skip store*/false);
     }
 
     /** {@inheritDoc} */
@@ -226,6 +227,7 @@ public abstract class GridNearCacheAdapter<K, V> extends 
GridDistributedCacheAda
      * @param taskName Task name.
      * @param deserializePortable Deserialize portable flag.
      * @param expiryPlc Expiry policy.
+     * @param skipStore Skip store flag.
      * @return Loaded values.
      */
     public IgniteInternalFuture<Map<K, V>> loadAsync(@Nullable 
IgniteInternalTx tx,
@@ -236,7 +238,8 @@ public abstract class GridNearCacheAdapter<K, V> extends 
GridDistributedCacheAda
         String taskName,
         boolean deserializePortable,
         @Nullable ExpiryPolicy expiryPlc,
-        boolean skipVal
+        boolean skipVal,
+        boolean skipStore
     ) {
         if (F.isEmpty(keys))
             return new GridFinishedFuture<>(Collections.<K, V>emptyMap());
@@ -247,7 +250,7 @@ public abstract class GridNearCacheAdapter<K, V> extends 
GridDistributedCacheAda
 
         GridNearGetFuture<K, V> fut = new GridNearGetFuture<>(ctx,
             keys,
-            !ctx.skipStore(),
+            !skipStore,
             reload,
             forcePrimary,
             txx,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/77359515/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java
index b22f79f..5f3072d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java
@@ -327,7 +327,8 @@ public class GridNearCacheEntry extends 
GridDistributedCacheEntry {
             taskName,
             true,
             null,
-            false).get().get(keyValue(false));
+            false,
+            /*skip store*/false).get().get(keyValue(false));
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/77359515/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
index 3cca1d5..c66c208 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
@@ -138,7 +138,8 @@ public class GridNearTransactionalCache<K, V> extends 
GridNearCacheAdapter<K, V>
             taskName,
             deserializePortable,
             skipVals ? null : prj != null ? prj.expiry() : null,
-            skipVals);
+            skipVals,
+            prj != null && prj.skipStore());
     }
 
     /**
@@ -159,7 +160,7 @@ public class GridNearTransactionalCache<K, V> extends 
GridNearCacheAdapter<K, V>
 
         GridNearGetFuture<K, V> fut = new GridNearGetFuture<>(ctx,
             keys,
-            readThrough && !ctx.skipStore(),
+            readThrough,
             false,
             false,
             tx,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/77359515/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
index 1911300..b546a38 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java
@@ -597,8 +597,8 @@ public class GridLocalAtomicCache<K, V> extends 
GridCacheAdapter<K, V> {
         if (success || !storeEnabled)
             return vals;
 
-        return getAllAsync(keys, true, null, false, subjId, taskName, 
deserializePortable, false, expiry, skipVals)
-            .get();
+        return getAllAsync(keys, prj == null || !prj.skipStore(), null, false, 
subjId, taskName, deserializePortable,
+            false, expiry, skipVals).get();
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/77359515/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 8a1f8bb..a927926 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
@@ -1455,7 +1455,7 @@ public abstract class IgniteTxLocalAdapter extends 
IgniteTxAdapter
             },
             loadMissing(
                 cacheCtx,
-                true,
+                !cacheCtx.skipStore(),
                 false,
                 missedMap.keySet(),
                 deserializePortable,
@@ -2275,7 +2275,7 @@ public abstract class IgniteTxLocalAdapter extends 
IgniteTxAdapter
         if (missedForLoad != null) {
             IgniteInternalFuture<Boolean> fut = loadMissing(
                 cacheCtx,
-                /*read through*/cacheCtx.config().isLoadPreviousValue(),
+                /*read through*/cacheCtx.config().isLoadPreviousValue() && 
!cacheCtx.skipStore(),
                 /*async*/true,
                 missedForLoad,
                 deserializePortables(cacheCtx),

Reply via email to