#ignite-629: remove CacheFlag.READ
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/078f99b9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/078f99b9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/078f99b9 Branch: refs/heads/ignite-598 Commit: 078f99b9fae2567fc2b882aa4e0034f2421e11f5 Parents: 748ddb6 Author: ivasilinets <ivasilin...@gridgain.com> Authored: Fri Mar 27 16:39:39 2015 +0300 Committer: ivasilinets <ivasilin...@gridgain.com> Committed: Fri Mar 27 16:39:39 2015 +0300 ---------------------------------------------------------------------- .../internal/processors/cache/CacheFlag.java | 10 -- .../processors/cache/CacheProjection.java | 118 +------------------ .../processors/cache/GridCacheAdapter.java | 95 +-------------- .../processors/cache/GridCacheContext.java | 25 ---- .../processors/cache/GridCacheMapEntry.java | 4 - .../processors/cache/GridCacheProjectionEx.java | 12 -- .../dht/atomic/GridDhtAtomicCache.java | 6 - .../distributed/near/GridNearCacheAdapter.java | 6 +- .../local/atomic/GridLocalAtomicCache.java | 46 -------- .../continuous/CacheContinuousQueryHandler.java | 5 - .../OptimizedObjectStreamSelfTest.java | 2 +- 11 files changed, 8 insertions(+), 321 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/078f99b9/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheFlag.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheFlag.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheFlag.java index 67332ff..6744d76 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheFlag.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheFlag.java @@ -30,19 +30,9 @@ import javax.cache.processor.*; * <li>{@link CacheProjection#flagsOn(CacheFlag...)}</li> * <li>{@link CacheProjection#flagsOff(CacheFlag...)}</li> * </ul> - * Also, some flags, like {@link #READ} may be implicitly set whenever - * creating new projections and passing entries to predicate filters. */ public enum CacheFlag { /** - * Only operations that don't change cached data are allowed. - * This flag is automatically set on underlying projection for - * all the entries that are given to predicate filters to make - * sure that data cannot be updated during predicate evaluation. - */ - READ, - - /** * Clone values prior to returning them to user. * <p> * Whenever values are returned from cache, they cannot be directly updated http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/078f99b9/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheProjection.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheProjection.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheProjection.java index d1941eb..200ee10 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheProjection.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheProjection.java @@ -536,9 +536,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param val Value to be associated with the given key. @@ -575,9 +572,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param val Value to be associated with the given key. @@ -604,9 +598,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param val Value to be associated with the given key. @@ -637,9 +628,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param val Value to be associated with the given key. @@ -671,9 +659,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param val Value to be associated with the given key. @@ -702,9 +687,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param val Value to be associated with the given key. @@ -728,9 +710,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param val Value to be associated with the given key. @@ -754,9 +733,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param val Value to be associated with the given key. @@ -783,9 +759,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param val Value to be associated with the given key. @@ -813,9 +786,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param val Value to be associated with the given key. @@ -838,9 +808,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param val Value to be associated with the given key. @@ -864,9 +831,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param val Value to be associated with the given key. @@ -887,9 +851,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param oldVal Old value to match. @@ -912,9 +873,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param oldVal Old value to match. @@ -935,9 +893,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param m Key-value pairs to store in cache. * @param filter Optional entry filter. If provided, then entry will @@ -958,9 +913,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param m Key-value pairs to store in cache. * @param filter Optional entry filter. If provided, then entry will @@ -1165,9 +1117,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * If {@link org.apache.ignite.configuration.CacheConfiguration#isSwapEnabled()} is set to {@code true} and * {@link CacheFlag#SKIP_SWAP} is not enabled, the evicted entry will * be swapped to offheap, and then to disk. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to evict from cache. * @return {@code True} if entry could be evicted, {@code false} otherwise. @@ -1182,10 +1131,7 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * If {@link org.apache.ignite.configuration.CacheConfiguration#isSwapEnabled()} is set to {@code true} and * {@link CacheFlag#SKIP_SWAP} is not enabled, the evicted entry will * be swapped to offheap, and then to disk. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. - */ + * */ public void evictAll(); /** @@ -1196,9 +1142,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * If {@link org.apache.ignite.configuration.CacheConfiguration#isSwapEnabled()} is set to {@code true} and * {@link CacheFlag#SKIP_SWAP} is not enabled, the evicted entry will * be swapped to offheap, and then to disk. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param keys Keys to evict. */ @@ -1215,9 +1158,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * Note that this operation is local as it merely clears * entries from local cache. It does not remove entries from * remote caches or from underlying persistent storage. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. */ public void clearLocally(); @@ -1232,9 +1172,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * Note that this operation is local as it merely clears * an entry from local cache. It does not remove entries from * remote caches or from underlying persistent storage. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to clearLocally. * @return {@code True} if entry was successfully cleared from cache, {@code false} @@ -1254,9 +1191,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * Note that this operation is local as it merely clears * an entry from local cache. It does not remove entries from * remote caches or from underlying persistent storage. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param keys Keys to clearLocally. */ @@ -1351,9 +1285,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key whose mapping is to be removed from cache. * @param filter Optional filter to check prior to removing value form cache. Note @@ -1384,9 +1315,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key whose mapping is to be removed from cache. * @param filter Optional filter to check prior to removing value form cache. Note @@ -1408,9 +1336,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key whose mapping is to be removed from cache. * @param filter Optional filter to check prior to removing value form cache. Note @@ -1435,9 +1360,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key whose mapping is to be removed from cache. * @param filter Optional filter to check prior to removing value form cache. Note @@ -1459,9 +1381,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key whose mapping is to be removed from cache. * @param val Value to match against currently cached value. @@ -1484,9 +1403,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key whose mapping is to be removed from cache. * @param val Value to match against currently cached value. @@ -1506,9 +1422,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param keys Keys whose mappings are to be removed from cache. * @param filter Optional filter to check prior to removing value form cache. Note @@ -1528,9 +1441,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param keys Keys whose mappings are to be removed from cache. * @param filter Optional filter to check prior to removing value form cache. Note @@ -1557,9 +1467,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @throws IgniteCheckedException If remove failed. * @throws CacheFlagException If flags validation failed. @@ -1585,9 +1492,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * need explicit locking within transaction, then you should use * {@link TransactionConcurrency#PESSIMISTIC} concurrency control for transaction * which will acquire explicit locks for relevant cache operations. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to lock. * @param timeout Timeout in milliseconds to wait for lock to be acquired @@ -1611,9 +1515,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * need explicit locking within transaction, then you should use * {@link TransactionConcurrency#PESSIMISTIC} concurrency control for transaction * which will acquire explicit locks for relevant cache operations. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to lock. * @param timeout Timeout in milliseconds to wait for lock to be acquired @@ -1637,9 +1538,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * need explicit locking within transaction, then you should use * {@link TransactionConcurrency#PESSIMISTIC} concurrency control for transaction * which will acquire explicit locks for relevant cache operations. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param keys Keys to lock. * @param timeout Timeout in milliseconds to wait for lock to be acquired @@ -1663,9 +1561,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * need explicit locking within transaction, then you should use * {@link TransactionConcurrency#PESSIMISTIC} concurrency control for transaction * which will acquire explicit locks for relevant cache operations. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param keys Keys to lock. * @param timeout Timeout in milliseconds to wait for lock to be acquired @@ -1689,9 +1584,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * need explicit locking within transaction, then you should use * {@link TransactionConcurrency#PESSIMISTIC} concurrency control for transaction * which will acquire explicit locks for relevant cache operations. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to unlock. * @param filter Optional filter that needs to pass prior to unlock taking effect. @@ -1710,9 +1602,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * need explicit locking within transaction, then you should use * {@link TransactionConcurrency#PESSIMISTIC} concurrency control for transaction * which will acquire explicit locks for relevant cache operations. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param keys Keys to unlock. * @param filter Optional filter which needs to pass for individual entries @@ -1823,9 +1712,6 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * into memory. * <h2 class="header">Transactions</h2> * This method is not transactional. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#SKIP_SWAP}, {@link CacheFlag#READ}. * * @param key Key to promote entry for. * @return Unswapped entry value or {@code null} for non-existing key. @@ -1841,7 +1727,7 @@ public interface CacheProjection<K, V> extends Iterable<Cache.Entry<K, V>> { * This method is not transactional. * <h2 class="header">Cache Flags</h2> * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#SKIP_SWAP}, {@link CacheFlag#READ}. + * {@link CacheFlag#SKIP_SWAP} * * @param keys Keys to promote entries for. * @throws IgniteCheckedException If promote failed. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/078f99b9/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 f745a67..492c07a 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 @@ -1356,7 +1356,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, /** {@inheritDoc} */ @Override public void clearLocally() { - ctx.denyOnFlag(READ); ctx.checkSecurity(GridSecurityPermission.CACHE_REMOVE); List<GridCacheClearAllRunnable<K, V>> jobs = splitClearLocally(); @@ -2333,8 +2332,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(val); - ctx.denyOnLocalRead(); - V prevVal = ctx.cloneOnFlag(syncOp(new SyncOp<V>(true) { @Override public V op(IgniteTxLocalAdapter tx) throws IgniteCheckedException { return (V)tx.putAllAsync(ctx, F.t(key, val), true, cached, ttl, filter).get().value(); @@ -2361,8 +2358,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(val); - ctx.denyOnLocalRead(); - return syncOp(new SyncOp<Boolean>(true) { @Override public Boolean op(IgniteTxLocalAdapter tx) throws IgniteCheckedException { return tx.putAllAsync(ctx, F.t(key, val), false, cached, ttl, filter).get().success(); @@ -2399,8 +2394,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(val); - ctx.denyOnLocalRead(); - return ctx.wrapClone(asyncOp(new AsyncOp<V>(key) { @Override public IgniteInternalFuture<V> op(IgniteTxLocalAdapter tx) { return tx.putAllAsync(ctx, F.t(key, val), true, entry, ttl, filter) @@ -2427,8 +2420,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(val); - ctx.denyOnLocalRead(); - Boolean stored = syncOp(new SyncOp<Boolean>(true) { @Override public Boolean op(IgniteTxLocalAdapter tx) throws IgniteCheckedException { return tx.putAllAsync(ctx, F.t(key, val), false, null, -1, filter).get().success(); @@ -2453,8 +2444,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, ctx.dr().onReceiveCacheEntriesReceived(drMap.size()); - ctx.denyOnLocalRead(); - syncOp(new SyncInOp(drMap.size() == 1) { @Override public void inOp(IgniteTxLocalAdapter tx) throws IgniteCheckedException { tx.putAllDrAsync(ctx, drMap).get(); @@ -2474,8 +2463,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, ctx.dr().onReceiveCacheEntriesReceived(drMap.size()); - ctx.denyOnLocalRead(); - return asyncOp(new AsyncInOp(drMap.keySet()) { @Override public IgniteInternalFuture<?> inOp(IgniteTxLocalAdapter tx) { @@ -2499,8 +2486,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, if (keyCheck) validateCacheKey(key); - ctx.denyOnLocalRead(); - return syncOp(new SyncOp<EntryProcessorResult<T>>(true) { @Nullable @Override public EntryProcessorResult<T> op(IgniteTxLocalAdapter tx) throws IgniteCheckedException { @@ -2533,8 +2518,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, if (keyCheck) validateCacheKeys(keys); - ctx.denyOnLocalRead(); - return syncOp(new SyncOp<Map<K, EntryProcessorResult<T>>>(keys.size() == 1) { @Nullable @Override @@ -2567,8 +2550,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, if (keyCheck) validateCacheKey(key); - ctx.denyOnLocalRead(); - IgniteInternalFuture<?> fut = asyncOp(new AsyncInOp(key) { @Override public IgniteInternalFuture<GridCacheReturn> inOp(IgniteTxLocalAdapter tx) { Map<? extends K, EntryProcessor<K, V, Object>> invokeMap = @@ -2612,8 +2593,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, if (keyCheck) validateCacheKeys(keys); - ctx.denyOnLocalRead(); - IgniteInternalFuture<?> fut = asyncOp(new AsyncInOp(keys) { @Override public IgniteInternalFuture<GridCacheReturn> inOp(IgniteTxLocalAdapter tx) { Map<? extends K, EntryProcessor<K, V, Object>> invokeMap = F.viewAsMap(keys, new C1<K, EntryProcessor<K, V, Object>>() { @@ -2654,8 +2633,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, if (keyCheck) validateCacheKeys(map.keySet()); - ctx.denyOnLocalRead(); - IgniteInternalFuture<?> fut = asyncOp(new AsyncInOp(map.keySet()) { @Override public IgniteInternalFuture<GridCacheReturn> inOp(IgniteTxLocalAdapter tx) { return tx.invokeAsync(ctx, (Map<? extends K, ? extends EntryProcessor<K, V, Object>>)map, args); @@ -2689,8 +2666,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, if (keyCheck) validateCacheKeys(map.keySet()); - ctx.denyOnLocalRead(); - return syncOp(new SyncOp<Map<K, EntryProcessorResult<T>>>(map.size() == 1) { @Nullable @Override public Map<K, EntryProcessorResult<T>> op(IgniteTxLocalAdapter tx) throws IgniteCheckedException { @@ -2728,8 +2703,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(val); - ctx.denyOnLocalRead(); - return asyncOp(new AsyncOp<Boolean>(key) { @Override public IgniteInternalFuture<Boolean> op(IgniteTxLocalAdapter tx) { return tx.putAllAsync(ctx, F.t(key, val), false, entry, ttl, filter).chain( @@ -2766,8 +2739,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(val); - ctx.denyOnLocalRead(); - return ctx.cloneOnFlag(syncOp(new SyncOp<V>(true) { @Override public V op(IgniteTxLocalAdapter tx) throws IgniteCheckedException { return (V)tx.putAllAsync(ctx, F.t(key, val), true, null, -1, ctx.noValArray()).get().value(); @@ -2792,8 +2763,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(val); - ctx.denyOnLocalRead(); - IgniteInternalFuture<V> fut = ctx.wrapClone(asyncOp(new AsyncOp<V>(key) { @Override public IgniteInternalFuture<V> op(IgniteTxLocalAdapter tx) { return tx.putAllAsync(ctx, F.t(key, val), true, null, -1, ctx.noValArray()) @@ -2824,8 +2793,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(val); - ctx.denyOnLocalRead(); - Boolean stored = syncOp(new SyncOp<Boolean>(true) { @Override public Boolean op(IgniteTxLocalAdapter tx) throws IgniteCheckedException { return tx.putAllAsync(ctx, F.t(key, val), false, null, -1, ctx.noValArray()).get().success(); @@ -2855,8 +2822,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(val); - ctx.denyOnLocalRead(); - IgniteInternalFuture<Boolean> fut = asyncOp(new AsyncOp<Boolean>(key) { @Override public IgniteInternalFuture<Boolean> op(IgniteTxLocalAdapter tx) { return tx.putAllAsync(ctx, F.t(key, val), false, null, -1, ctx.noValArray()).chain( @@ -2883,8 +2848,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(val); - ctx.denyOnLocalRead(); - return ctx.cloneOnFlag(syncOp(new SyncOp<V>(true) { @Override public V op(IgniteTxLocalAdapter tx) throws IgniteCheckedException { return (V)tx.putAllAsync(ctx, F.t(key, val), true, null, -1, ctx.hasValArray()).get().value(); @@ -2909,8 +2872,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(val); - ctx.denyOnLocalRead(); - IgniteInternalFuture<V> fut = ctx.wrapClone(asyncOp(new AsyncOp<V>(key) { @Override public IgniteInternalFuture<V> op(IgniteTxLocalAdapter tx) { return tx.putAllAsync(ctx, F.t(key, val), true, null, -1, ctx.hasValArray()).chain( @@ -2937,8 +2898,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(val); - ctx.denyOnLocalRead(); - return syncOp(new SyncOp<Boolean>(true) { @Override public Boolean op(IgniteTxLocalAdapter tx) throws IgniteCheckedException { return tx.putAllAsync(ctx, F.t(key, val), false, null, -1, ctx.hasValArray()).get().success(); @@ -2959,8 +2918,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(val); - ctx.denyOnLocalRead(); - return asyncOp(new AsyncOp<Boolean>(key) { @Override public IgniteInternalFuture<Boolean> op(IgniteTxLocalAdapter tx) { return tx.putAllAsync(ctx, F.t(key, val), false, null, -1, ctx.hasValArray()).chain( @@ -2984,8 +2941,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(newVal); - ctx.denyOnLocalRead(); - return syncOp(new SyncOp<Boolean>(true) { @Override public Boolean op(IgniteTxLocalAdapter tx) throws IgniteCheckedException { // Register before hiding in the filter. @@ -3017,8 +2972,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValue(newVal); - ctx.denyOnLocalRead(); - IgniteInternalFuture<Boolean> fut = asyncOp(new AsyncOp<Boolean>(key) { @Override public IgniteInternalFuture<Boolean> op(IgniteTxLocalAdapter tx) { // Register before hiding in the filter. @@ -3061,8 +3014,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValues(m.values()); - ctx.denyOnLocalRead(); - syncOp(new SyncInOp(m.size() == 1) { @Override public void inOp(IgniteTxLocalAdapter tx) throws IgniteCheckedException { tx.putAllAsync(ctx, m, false, null, -1, filter).get(); @@ -3088,8 +3039,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, validateCacheValues(m.values()); - ctx.denyOnLocalRead(); - return asyncOp(new AsyncInOp(m.keySet()) { @Override public IgniteInternalFuture<?> inOp(IgniteTxLocalAdapter tx) { return tx.putAllAsync(ctx, m, false, null, -1, filter).chain(RET2NULL); @@ -3114,8 +3063,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, long start = statsEnabled ? System.nanoTime() : 0L; - ctx.denyOnLocalRead(); - A.notNull(key, "key"); if (keyCheck) @@ -3163,8 +3110,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, final long start = statsEnabled ? System.nanoTime() : 0L; - ctx.denyOnLocalRead(); - A.notNull(key, "key"); if (keyCheck) @@ -3197,8 +3142,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, A.notNull(keys, "keys"); - ctx.denyOnLocalRead(); - if (F.isEmpty(keys)) return; @@ -3232,8 +3175,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, if (keyCheck) validateCacheKeys(keys); - ctx.denyOnLocalRead(); - IgniteInternalFuture<Object> fut = asyncOp(new AsyncInOp(keys) { @Override public IgniteInternalFuture<?> inOp(IgniteTxLocalAdapter tx) { return tx.removeAllAsync(ctx, keys, null, false, filter).chain(RET2NULL); @@ -3272,8 +3213,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, long start = statsEnabled ? System.nanoTime() : 0L; - ctx.denyOnLocalRead(); - A.notNull(key, "key"); if (keyCheck) @@ -3309,8 +3248,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, final long start = statsEnabled ? System.nanoTime() : 0L; - ctx.denyOnLocalRead(); - A.notNull(key, "key"); if (keyCheck) @@ -3335,8 +3272,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, /** {@inheritDoc} */ @Override public GridCacheReturn removex(final K key, final V val) throws IgniteCheckedException { - ctx.denyOnLocalRead(); - A.notNull(key, "key", val, "val"); if (keyCheck) @@ -3364,8 +3299,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, /** {@inheritDoc} */ @Override public void removeAllConflict(final Map<KeyCacheObject, GridCacheVersion> drMap) throws IgniteCheckedException { - ctx.denyOnLocalRead(); - if (F.isEmpty(drMap)) return; @@ -3385,8 +3318,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, /** {@inheritDoc} */ @Override public IgniteInternalFuture<?> removeAllConflictAsync(final Map<KeyCacheObject, GridCacheVersion> drMap) throws IgniteCheckedException { - ctx.denyOnLocalRead(); - if (F.isEmpty(drMap)) return new GridFinishedFuture<Object>(); @@ -3412,8 +3343,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, if (keyCheck) validateCacheKey(key); - ctx.denyOnLocalRead(); - return syncOp(new SyncOp<GridCacheReturn>(true) { @Override public GridCacheReturn op(IgniteTxLocalAdapter tx) throws IgniteCheckedException { // Register before hiding in the filter. @@ -3436,8 +3365,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, /** {@inheritDoc} */ @Override public IgniteInternalFuture<GridCacheReturn> removexAsync(final K key, final V val) { - ctx.denyOnLocalRead(); - A.notNull(key, "key", val, "val"); if (keyCheck) @@ -3479,8 +3406,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, if (keyCheck) validateCacheKey(key); - ctx.denyOnLocalRead(); - return asyncOp(new AsyncOp<GridCacheReturn>(key) { @Override public IgniteInternalFuture<GridCacheReturn> op(IgniteTxLocalAdapter tx) { // Register before hiding in the filter. @@ -3514,8 +3439,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, long start = statsEnabled ? System.nanoTime() : 0L; - ctx.denyOnLocalRead(); - A.notNull(key, "key", val, "val"); if (keyCheck) @@ -3550,8 +3473,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, final long start = statsEnabled ? System.nanoTime() : 0L; - ctx.denyOnLocalRead(); - A.notNull(key, "key", val, "val"); if (keyCheck) @@ -3592,8 +3513,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, * @return Future. */ public IgniteInternalFuture<?> localRemoveAll(final CacheEntryPredicate filter) { - ctx.denyOnLocalRead(); - final Set<? extends K> keys = filter != null ? keySet(filter) : keySet(); return asyncOp(new AsyncInOp(keys) { @@ -4286,7 +4205,7 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, */ @SuppressWarnings("IfMayBeConditional") @Nullable public V promote(K key, boolean deserializePortable) throws IgniteCheckedException { - ctx.denyOnFlags(F.asList(READ, SKIP_SWAP)); + ctx.denyOnFlags(F.asList(SKIP_SWAP)); A.notNull(key, "key"); @@ -4322,7 +4241,7 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, /** {@inheritDoc} */ @Override public void promoteAll(@Nullable Collection<? extends K> keys) throws IgniteCheckedException { - ctx.denyOnFlags(F.asList(READ, SKIP_SWAP)); + ctx.denyOnFlags(F.asList(SKIP_SWAP)); if (F.isEmpty(keys)) return; @@ -4846,7 +4765,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, */ public void clearLocally0(Collection<? extends K> keys, @Nullable CacheEntryPredicate... filter) { - ctx.denyOnFlag(READ); ctx.checkSecurity(GridSecurityPermission.CACHE_REMOVE); if (F.isEmpty(keys)) @@ -4872,7 +4790,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, if (keyCheck) validateCacheKey(key); - ctx.denyOnFlag(READ); ctx.checkSecurity(GridSecurityPermission.CACHE_REMOVE); return clearLocally(ctx.versions().next(), key, filter); @@ -4889,8 +4806,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, if (keyCheck) validateCacheKey(key); - ctx.denyOnFlag(READ); - return evictx(key, ctx.versions().next(), filter); } @@ -4902,8 +4817,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, @Nullable CacheEntryPredicate... filter) { A.notNull(keys, "keys"); - ctx.denyOnFlag(READ); - if (F.isEmpty(keys)) return; @@ -5054,8 +4967,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, * @throws IgniteCheckedException If failed. */ @Override @Nullable public V reload(K key) throws IgniteCheckedException { - ctx.denyOnFlags(F.asList(READ)); - A.notNull(key, "key"); if (keyCheck) @@ -5087,8 +4998,6 @@ public abstract class GridCacheAdapter<K, V> implements GridCache<K, V>, * @return Reload future. */ @Override public IgniteInternalFuture<V> reloadAsync(final K key) { - ctx.denyOnFlags(F.asList(READ)); - return ctx.closures().callLocalSafe(ctx.projectSafe(new Callable<V>() { @Nullable @Override public V call() throws IgniteCheckedException { return reload(key); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/078f99b9/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java index 9d0bff9..5cdefcf 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java @@ -156,9 +156,6 @@ public class GridCacheContext<K, V> implements Externalizable { /** Thread local forced flags that affect any projection in the same thread. */ private ThreadLocal<CacheFlag[]> forcedFlags = new ThreadLocal<>(); - /** Constant array to avoid recreation. */ - private static final CacheFlag[] FLAG_READ = new CacheFlag[]{READ}; - /** Cache name. */ private String cacheName; @@ -1110,9 +1107,6 @@ public class GridCacheContext<K, V> implements Externalizable { if (F.isEmpty(p)) return true; - // We should allow only local read-only operations within filter checking. - CacheFlag[] oldFlags = forceFlags(FLAG_READ); - try { boolean pass = F.isAll(e, p); @@ -1125,9 +1119,6 @@ public class GridCacheContext<K, V> implements Externalizable { catch (RuntimeException ex) { throw U.cast(ex); } - finally { - forceFlags(oldFlags); - } } /** @@ -1187,15 +1178,6 @@ public class GridCacheContext<K, V> implements Externalizable { } /** - * Forces LOCAL and READ flags. - * - * @return Forced flags that were set prior to method call. - */ - @Nullable public CacheFlag[] forceLocalRead() { - return forceFlags(FLAG_READ); - } - - /** * Force projection flags for the current thread. These flags will affect all * projections (even without flags) used within the current thread. * @@ -1366,13 +1348,6 @@ public class GridCacheContext<K, V> implements Externalizable { } /** - * - */ - public void denyOnLocalRead() { - denyOnFlags(FLAG_READ); - } - - /** * @param flags Flags. */ public void denyOnFlags(CacheFlag[] flags) { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/078f99b9/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index ca6d2d4..cf689ee 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -849,8 +849,6 @@ public abstract class GridCacheMapEntry implements GridCacheEntryEx { @SuppressWarnings({"unchecked", "TooBroadScope"}) @Nullable @Override public final CacheObject innerReload() throws IgniteCheckedException, GridCacheEntryRemovedException { - cctx.denyOnFlag(READ); - CU.checkStore(cctx); GridCacheVersion startVer; @@ -2324,8 +2322,6 @@ public abstract class GridCacheMapEntry implements GridCacheEntryEx { /** {@inheritDoc} */ @Override public boolean clear(GridCacheVersion ver, boolean readers, @Nullable CacheEntryPredicate[] filter) throws IgniteCheckedException { - cctx.denyOnFlag(READ); - boolean ret; boolean rmv; boolean marked; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/078f99b9/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionEx.java index 8706442..b435d88 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProjectionEx.java @@ -201,9 +201,6 @@ public interface GridCacheProjectionEx<K, V> extends CacheProjection<K, V> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param oldVal Old value to match. @@ -226,9 +223,6 @@ public interface GridCacheProjectionEx<K, V> extends CacheProjection<K, V> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key to store in cache. * @param oldVal Old value to match. @@ -248,9 +242,6 @@ public interface GridCacheProjectionEx<K, V> extends CacheProjection<K, V> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key whose mapping is to be removed from cache. * @param val Value to match against currently cached value. @@ -272,9 +263,6 @@ public interface GridCacheProjectionEx<K, V> extends CacheProjection<K, V> { * <h2 class="header">Transactions</h2> * This method is transactional and will enlist the entry into ongoing transaction * if there is one. - * <h2 class="header">Cache Flags</h2> - * This method is not available if any of the following flags are set on projection: - * {@link CacheFlag#READ}. * * @param key Key whose mapping is to be removed from cache. * @param val Value to match against currently cached value. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/078f99b9/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 cf317a5..ee59f9c 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 @@ -686,8 +686,6 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { if (keyCheck) validateCacheKey(key); - ctx.denyOnLocalRead(); - Map<? extends K, EntryProcessor> invokeMap = Collections.singletonMap(key, (EntryProcessor)entryProcessor); @@ -727,8 +725,6 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { if (keyCheck) validateCacheKeys(keys); - ctx.denyOnLocalRead(); - Map<? extends K, EntryProcessor> invokeMap = F.viewAsMap(keys, new C1<K, EntryProcessor>() { @Override public EntryProcessor apply(K k) { return entryProcessor; @@ -763,8 +759,6 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { if (keyCheck) validateCacheKeys(map.keySet()); - ctx.denyOnLocalRead(); - return updateAllAsync0(null, map, args, http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/078f99b9/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 2b5d4de..1ef0162 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 @@ -521,7 +521,7 @@ public abstract class GridNearCacheAdapter<K, V> extends GridDistributedCacheAda /** {@inheritDoc} */ @Override public V promote(K key, boolean deserializePortable) throws IgniteCheckedException { - ctx.denyOnFlags(F.asList(READ, SKIP_SWAP)); + ctx.denyOnFlags(F.asList(SKIP_SWAP)); // Unswap only from dht(). Near cache does not have swap storage. return dht().promote(key, deserializePortable); @@ -529,7 +529,7 @@ public abstract class GridNearCacheAdapter<K, V> extends GridDistributedCacheAda /** {@inheritDoc} */ @Override public V promote(K key) throws IgniteCheckedException { - ctx.denyOnFlags(F.asList(READ, SKIP_SWAP)); + ctx.denyOnFlags(F.asList(SKIP_SWAP)); // Unswap only from dht(). Near cache does not have swap storage. return dht().promote(key); @@ -537,7 +537,7 @@ public abstract class GridNearCacheAdapter<K, V> extends GridDistributedCacheAda /** {@inheritDoc} */ @Override public void promoteAll(@Nullable Collection<? extends K> keys) throws IgniteCheckedException { - ctx.denyOnFlags(F.asList(READ, SKIP_SWAP)); + ctx.denyOnFlags(F.asList(SKIP_SWAP)); // Unswap only from dht(). Near cache does not have swap storage. // In near-only cache this is a no-op. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/078f99b9/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 a33ed99..f0b5dee 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 @@ -109,8 +109,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { @Nullable CacheEntryPredicate[] filter) throws IgniteCheckedException { A.notNull(key, "key", val, "val"); - ctx.denyOnLocalRead(); - return (V)updateAllInternal(UPDATE, Collections.singleton(key), Collections.singleton(val), @@ -131,8 +129,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { @Nullable CacheEntryPredicate... filter) throws IgniteCheckedException { A.notNull(key, "key", val, "val"); - ctx.denyOnLocalRead(); - return (Boolean)updateAllInternal(UPDATE, Collections.singleton(key), Collections.singleton(val), @@ -150,8 +146,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { CacheEntryPredicate[] filter) throws IgniteCheckedException { A.notNull(key, "key", val, "val"); - ctx.denyOnLocalRead(); - return (Boolean)updateAllInternal(UPDATE, Collections.singleton(key), Collections.singleton(val), @@ -172,8 +166,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { @Nullable CacheEntryPredicate... filter) { A.notNull(key, "key", val, "val"); - ctx.denyOnLocalRead(); - return updateAllAsync0(F0.asMap(key, val), null, null, @@ -191,8 +183,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { @Nullable CacheEntryPredicate... filter) { A.notNull(key, "key", val, "val"); - ctx.denyOnLocalRead(); - return updateAllAsync0(F0.asMap(key, val), null, null, @@ -260,8 +250,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { @Override public GridCacheReturn replacex(K key, V oldVal, V newVal) throws IgniteCheckedException { A.notNull(key, "key", oldVal, "oldVal", newVal, "newVal"); - ctx.denyOnLocalRead(); - return (GridCacheReturn)updateAllInternal(UPDATE, Collections.singleton(key), Collections.singleton(newVal), @@ -278,8 +266,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { @Override public GridCacheReturn removex(K key, V val) throws IgniteCheckedException { A.notNull(key, "key", val, "val"); - ctx.denyOnLocalRead(); - return (GridCacheReturn)updateAllInternal(DELETE, Collections.singleton(key), null, @@ -296,8 +282,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { @Override public IgniteInternalFuture<GridCacheReturn> removexAsync(K key, V val) { A.notNull(key, "key", val, "val"); - ctx.denyOnLocalRead(); - return removeAllAsync0(F.asList(key), true, true, ctx.equalsValArray(val)); } @@ -306,8 +290,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { @Override public IgniteInternalFuture<GridCacheReturn> replacexAsync(K key, V oldVal, V newVal) { A.notNull(key, "key", oldVal, "oldVal", newVal, "newVal"); - ctx.denyOnLocalRead(); - return updateAllAsync0(F.asMap(key, newVal), null, null, @@ -319,8 +301,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { /** {@inheritDoc} */ @Override public void putAll(Map<? extends K, ? extends V> m, CacheEntryPredicate[] filter) throws IgniteCheckedException { - ctx.denyOnLocalRead(); - updateAllInternal(UPDATE, m.keySet(), m.values(), @@ -335,8 +315,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { /** {@inheritDoc} */ @Override public IgniteInternalFuture<?> putAllAsync(Map<? extends K, ? extends V> m, @Nullable CacheEntryPredicate[] filter) { - ctx.denyOnLocalRead(); - return updateAllAsync0(m, null, null, @@ -350,8 +328,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { @Override public V remove(K key, @Nullable GridCacheEntryEx entry, @Nullable CacheEntryPredicate... filter) throws IgniteCheckedException { - ctx.denyOnLocalRead(); - return (V)updateAllInternal(DELETE, Collections.singleton(key), null, @@ -368,8 +344,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { @Override public IgniteInternalFuture<V> removeAsync(K key, @Nullable GridCacheEntryEx entry, @Nullable CacheEntryPredicate... filter) { - ctx.denyOnLocalRead(); - return removeAllAsync0(Collections.singletonList(key), true, false, filter); } @@ -377,8 +351,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { @SuppressWarnings("unchecked") @Override public void removeAll(Collection<? extends K> keys, CacheEntryPredicate... filter) throws IgniteCheckedException { - ctx.denyOnLocalRead(); - updateAllInternal(DELETE, keys, null, @@ -393,8 +365,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { /** {@inheritDoc} */ @Override public IgniteInternalFuture<?> removeAllAsync(Collection<? extends K> keys, CacheEntryPredicate[] filter) { - ctx.denyOnLocalRead(); - return removeAllAsync0(keys, false, false, filter).chain(RET2NULL); } @@ -409,8 +379,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { A.notNull(key, "key"); - ctx.denyOnLocalRead(); - Boolean rmv = (Boolean)updateAllInternal(DELETE, Collections.singleton(key), null, @@ -434,8 +402,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { @Nullable CacheEntryPredicate... filter) { A.notNull(key, "key"); - ctx.denyOnLocalRead(); - return removeAllAsync0(Collections.singletonList(key), false, false, filter); } @@ -443,8 +409,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { @Override public boolean remove(K key, V val) throws IgniteCheckedException { A.notNull(key, "key", val, "val"); - ctx.denyOnLocalRead(); - return (Boolean)updateAllInternal(DELETE, Collections.singleton(key), null, @@ -670,8 +634,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { if (keyCheck) validateCacheKeys(keys); - ctx.denyOnLocalRead(); - Map<? extends K, EntryProcessor> invokeMap = F.viewAsMap(keys, new C1<K, EntryProcessor>() { @Override public EntryProcessor apply(K k) { return entryProcessor; @@ -699,8 +661,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { if (keyCheck) validateCacheKey(key); - ctx.denyOnLocalRead(); - Map<? extends K, EntryProcessor> invokeMap = Collections.singletonMap(key, (EntryProcessor)entryProcessor); @@ -738,8 +698,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { if (keyCheck) validateCacheKeys(keys); - ctx.denyOnLocalRead(); - Map<? extends K, EntryProcessor> invokeMap = F.viewAsMap(keys, new C1<K, EntryProcessor>() { @Override public EntryProcessor apply(K k) { return entryProcessor; @@ -764,8 +722,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { if (keyCheck) validateCacheKeys(map.keySet()); - ctx.denyOnLocalRead(); - return (Map<K, EntryProcessorResult<T>>)updateAllInternal(TRANSFORM, map.keySet(), map.values(), @@ -787,8 +743,6 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> { if (keyCheck) validateCacheKeys(map.keySet()); - ctx.denyOnLocalRead(); - return updateAllAsync0(null, map, args, http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/078f99b9/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java index 1e81910..1fd1ded 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java @@ -198,17 +198,12 @@ class CacheContinuousQueryHandler<K, V> implements GridContinuousHandler { boolean notify = true; if (rmtFilter != null) { - CacheFlag[] f = cctx.forceLocalRead(); - try { notify = rmtFilter.evaluate(evt); } catch (Exception e) { U.error(cctx.logger(CacheContinuousQueryHandler.class), "CacheEntryEventFilter failed: " + e); } - finally { - cctx.forceFlags(f); - } } if (notify) { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/078f99b9/modules/core/src/test/java/org/apache/ignite/marshaller/optimized/OptimizedObjectStreamSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/marshaller/optimized/OptimizedObjectStreamSelfTest.java b/modules/core/src/test/java/org/apache/ignite/marshaller/optimized/OptimizedObjectStreamSelfTest.java index 954c053..2572b7e 100644 --- a/modules/core/src/test/java/org/apache/ignite/marshaller/optimized/OptimizedObjectStreamSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/marshaller/optimized/OptimizedObjectStreamSelfTest.java @@ -1007,7 +1007,7 @@ public class OptimizedObjectStreamSelfTest extends GridCommonAbstractTest { assertEquals(t.getMessage(), ((Throwable)marshalUnmarshal(t)).getMessage()); - CacheFlagException flagEx = new CacheFlagException(CacheFlag.CLONE, CacheFlag.READ); + CacheFlagException flagEx = new CacheFlagException(CacheFlag.CLONE); assertEquals(flagEx.flags(), ((CacheFlagException)marshalUnmarshal(flagEx)).flags()); }