Repository: ignite Updated Branches: refs/heads/master a4d9fec78 -> 90207e987
IGNITE-10167: MVCC: MVCC-compatible IgniteCache.localEntries. This closes #5357. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/90207e98 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/90207e98 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/90207e98 Branch: refs/heads/master Commit: 90207e987889d0b68c9f3d54f68bf6148fb37221 Parents: a4d9fec Author: Igor Seliverstov <[email protected]> Authored: Mon Dec 10 14:23:02 2018 +0300 Committer: Igor Seliverstov <[email protected]> Committed: Mon Dec 10 14:23:02 2018 +0300 ---------------------------------------------------------------------- .../cache/CacheEvictableEntryImpl.java | 4 +- .../processors/cache/GridCacheAdapter.java | 66 +++++--------------- .../cache/GridCacheDeploymentManager.java | 2 +- .../processors/cache/GridCacheEntryEx.java | 3 +- .../processors/cache/GridCacheMapEntry.java | 6 +- .../processors/cache/GridCacheProxyImpl.java | 5 +- .../cache/IgniteCacheOffheapManager.java | 14 +++-- .../cache/IgniteCacheOffheapManagerImpl.java | 19 +++--- .../processors/cache/IgniteCacheProxyImpl.java | 2 +- .../processors/cache/IgniteInternalCache.java | 3 +- .../distributed/near/GridNearCacheAdapter.java | 2 +- .../distributed/near/GridNearTxRemote.java | 4 +- .../processors/task/GridTaskProcessor.java | 4 +- .../GridCachePreloadingEvictionsSelfTest.java | 2 +- .../processors/cache/GridCacheTestEntryEx.java | 3 +- .../cache/IgniteCacheTxPeekModesTest.java | 11 +--- .../GridCacheDhtPreloadDisabledSelfTest.java | 4 +- .../dht/GridCacheTxNodeFailureSelfTest.java | 4 +- .../near/GridCacheNearMultiNodeSelfTest.java | 6 +- .../processors/igfs/IgfsProcessorSelfTest.java | 27 ++++---- .../junits/common/GridCommonAbstractTest.java | 4 +- .../testsuites/IgniteCacheMvccTestSuite.java | 38 ----------- .../cache/hibernate/HibernateCacheProxy.java | 6 +- 23 files changed, 73 insertions(+), 166 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictableEntryImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictableEntryImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictableEntryImpl.java index e0c5c4a..89f06dc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictableEntryImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictableEntryImpl.java @@ -86,7 +86,7 @@ public class CacheEvictableEntryImpl<K, V> implements EvictableEntry<K, V> { */ @Nullable public V peek() { try { - CacheObject val = cached.peek(null); + CacheObject val = cached.peek(); return val != null ? val.<V>value(cached.context().cacheObjectContext(), false) : null; } @@ -149,7 +149,7 @@ public class CacheEvictableEntryImpl<K, V> implements EvictableEntry<K, V> { return null; try { - CacheObject val = e.peek(null); + CacheObject val = e.peek(); return val != null ? val.<V>value(cached.context().cacheObjectContext(), false) : null; } http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/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 465f1f1..4d93726 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 @@ -87,9 +87,9 @@ import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; import org.apache.ignite.internal.processors.cache.affinity.GridCacheAffinityImpl; import org.apache.ignite.internal.processors.cache.distributed.IgniteExternalizableExpiryPolicy; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter; -import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtInvalidPartitionException; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTopologyFuture; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocalAdapter; +import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtInvalidPartitionException; import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtLocalPartition; import org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopology; import org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal; @@ -783,10 +783,16 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V IgniteCacheOffheapManager offheapMgr = ctx.isNear() ? ctx.near().dht().context().offheap() : ctx.offheap(); - its.add(offheapMgr.<K, V>cacheEntriesIterator(ctx, modes.primary, modes.backup, topVer, ctx.keepBinary())); + MvccSnapshot mvccSnapshot = ctx.mvccEnabled() ? MvccUtils.MVCC_MAX_SNAPSHOT : null; + + its.add(offheapMgr + .cacheEntriesIterator(ctx, modes.primary, modes.backup, topVer, ctx.keepBinary(), mvccSnapshot)); } } else if (modes.heap) { + if (ctx.mvccEnabled()) + return F.emptyIterator(); + if (modes.near && ctx.isNear()) its.add(ctx.near().nearEntries().iterator()); @@ -811,9 +817,8 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V } /** {@inheritDoc} */ - @Nullable @Override public final V localPeek(K key, - CachePeekMode[] peekModes, - @Nullable IgniteCacheExpiryPolicy plc) + @Override public final V localPeek(K key, + CachePeekMode[] peekModes) throws IgniteCheckedException { A.notNull(key, "key"); @@ -880,10 +885,8 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V GridCacheContext ctx0; while (true) { - if (nearKey) { - ctx0 = context(); + if (nearKey) e = peekEx(key); - } else { ctx0 = ctx.isNear() ? ctx.near().dht().context() : ctx; e = modes.offheap ? ctx0.cache().entryEx(key) : ctx0.cache().peekEx(key); @@ -895,7 +898,7 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V try { cacheVal = ctx.mvccEnabled() ? e.mvccPeek(modes.heap && !modes.offheap) - : e.peek(modes.heap, modes.offheap, topVer, plc); + : e.peek(modes.heap, modes.offheap, topVer, null); } catch (GridCacheEntryRemovedException ignore) { if (log.isDebugEnabled()) @@ -916,7 +919,7 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V else { while (true) { try { - cacheVal = localCachePeek0(cacheKey, modes.heap, modes.offheap, plc); + cacheVal = localCachePeek0(cacheKey, modes.heap, modes.offheap); break; } @@ -938,7 +941,6 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V * @param key Key. * @param heap Read heap flag. * @param offheap Read offheap flag. - * @param plc Optional expiry policy. * @return Value. * @throws GridCacheEntryRemovedException If entry removed. * @throws IgniteCheckedException If failed. @@ -946,8 +948,7 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V @SuppressWarnings("ConstantConditions") @Nullable private CacheObject localCachePeek0(KeyCacheObject key, boolean heap, - boolean offheap, - IgniteCacheExpiryPolicy plc) + boolean offheap) throws GridCacheEntryRemovedException, IgniteCheckedException { assert ctx.isLocal(); assert heap || offheap; @@ -956,7 +957,7 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V if (e != null) { try { - return e.peek(heap, offheap, AffinityTopologyVersion.NONE, plc); + return e.peek(heap, offheap, AffinityTopologyVersion.NONE, null); } finally { e.touch(null); @@ -4061,43 +4062,6 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V return entrySet().iterator(); } - /** - * @param opCtx Cache operation context. - * @return JCache Iterator. - */ - private Iterator<Cache.Entry<K, V>> localIteratorHonorExpirePolicy(final CacheOperationContext opCtx) { - return F.iterator(iterator(), - new IgniteClosure<Cache.Entry<K, V>, Cache.Entry<K, V>>() { - private IgniteCacheExpiryPolicy expiryPlc = - ctx.cache().expiryPolicy(opCtx != null ? opCtx.expiry() : null); - - @Override public Cache.Entry<K, V> apply(Cache.Entry<K, V> lazyEntry) { - CacheOperationContext prev = ctx.gate().enter(opCtx); - try { - V val = localPeek(lazyEntry.getKey(), CachePeekModes.ONHEAP_ONLY, expiryPlc); - - GridCacheVersion ver = null; - - try { - ver = lazyEntry.unwrap(GridCacheVersion.class); - } - catch (IllegalArgumentException e) { - log.error("Failed to unwrap entry version information", e); - } - - return new CacheEntryImpl<>(lazyEntry.getKey(), val, ver); - } - catch (IgniteCheckedException e) { - throw CU.convertToCacheException(e); - } - finally { - ctx.gate().leave(prev); - } - } - }, false - ); - } - /** {@inheritDoc} */ @Override public Iterator<Cache.Entry<K, V>> scanIterator(boolean keepBinary, @Nullable IgniteBiPredicate<Object, Object> p) http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java index 4e9f2f84..7bba1de 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java @@ -312,7 +312,7 @@ public class GridCacheDeploymentManager<K, V> extends GridCacheSharedManagerAdap Object val0; try { - CacheObject v = entry.peek(null); + CacheObject v = entry.peek(); key0 = key.value(cache.context().cacheObjectContext(), false); http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java index 319c134..8cef176 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java @@ -742,12 +742,11 @@ public interface GridCacheEntryEx { /** * Peeks into entry without loading value or updating statistics. * - * @param plc Expiry policy if TTL should be updated. * @return Value. * @throws GridCacheEntryRemovedException If entry has been removed. * @throws IgniteCheckedException If failed. */ - @Nullable public CacheObject peek(@Nullable IgniteCacheExpiryPolicy plc) + @Nullable public CacheObject peek() throws GridCacheEntryRemovedException, IgniteCheckedException; /** http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/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 bbdff35..420e285 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 @@ -3218,13 +3218,13 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme } /** {@inheritDoc} */ - @Nullable @Override public CacheObject peek(@Nullable IgniteCacheExpiryPolicy plc) + @Nullable @Override public CacheObject peek() throws GridCacheEntryRemovedException, IgniteCheckedException { IgniteInternalTx tx = cctx.tm().localTx(); AffinityTopologyVersion topVer = tx != null ? tx.topologyVersion() : cctx.affinity().affinityTopologyVersion(); - return peek(true, false, topVer, plc); + return peek(true, false, topVer, null); } /** @@ -4469,7 +4469,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme return null; try { - return e.peek(null); + return e.peek(); } catch (GridCacheEntryRemovedException ignored) { // No-op. http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java index 6b3ca56..fa9f3cb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java @@ -926,13 +926,12 @@ public class GridCacheProxyImpl<K, V> implements IgniteInternalCache<K, V>, Exte /** {@inheritDoc} */ @Nullable @Override public V localPeek(K key, - CachePeekMode[] peekModes, - @Nullable IgniteCacheExpiryPolicy plc) + CachePeekMode[] peekModes) throws IgniteCheckedException { CacheOperationContext prev = gate.enter(opCtx); try { - return delegate.localPeek(key, peekModes, plc); + return delegate.localPeek(key, peekModes); } finally { gate.leave(prev); http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java index ed3697a..7f0fc30 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java @@ -191,10 +191,11 @@ public interface IgniteCacheOffheapManager { /** * @param cctx Cache context. * @param key Key. + * @param mvccSnapshot MVCC snapshot. * @return Cached row, if available, null otherwise. * @throws IgniteCheckedException If failed. */ - @Nullable public CacheDataRow mvccRead(GridCacheContext cctx, KeyCacheObject key, MvccSnapshot ver) + @Nullable public CacheDataRow mvccRead(GridCacheContext cctx, KeyCacheObject key, MvccSnapshot mvccSnapshot) throws IgniteCheckedException; /** @@ -460,11 +461,11 @@ public interface IgniteCacheOffheapManager { public int onUndeploy(ClassLoader ldr); /** - * * @param cacheId Cache ID. * @param primary Primary entries flag. * @param backup Backup entries flag. * @param topVer Topology version. + * @param mvccSnapshot MVCC snapshot. * @return Rows iterator. * @throws IgniteCheckedException If failed. */ @@ -523,20 +524,21 @@ public interface IgniteCacheOffheapManager { /** * @param cctx Cache context. - * @param primary Primary entries flag. - * @param backup Backup entries flag. + * @param primary {@code True} if need to return primary entries. + * @param backup {@code True} if need to return backup entries. * @param topVer Topology version. * @param keepBinary Keep binary flag. + * @param mvccSnapshot MVCC snapshot. * @return Entries iterator. * @throws IgniteCheckedException If failed. */ - // TODO: MVCC> public <K, V> GridCloseableIterator<Cache.Entry<K, V>> cacheEntriesIterator( GridCacheContext cctx, final boolean primary, final boolean backup, final AffinityTopologyVersion topVer, - final boolean keepBinary) throws IgniteCheckedException; + final boolean keepBinary, + @Nullable final MvccSnapshot mvccSnapshot) throws IgniteCheckedException; /** * @param cacheId Cache ID. http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java index ca14f68..ad589d3 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManagerImpl.java @@ -686,13 +686,13 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager } /** {@inheritDoc} */ - @Nullable @Override public CacheDataRow mvccRead(GridCacheContext cctx, KeyCacheObject key, MvccSnapshot ver) + @Nullable @Override public CacheDataRow mvccRead(GridCacheContext cctx, KeyCacheObject key, MvccSnapshot mvccSnapshot) throws IgniteCheckedException { - assert ver != null; + assert mvccSnapshot != null; CacheDataStore dataStore = dataStore(cctx, key); - CacheDataRow row = dataStore != null ? dataStore.mvccFind(cctx, key, ver) : null; + CacheDataRow row = dataStore != null ? dataStore.mvccFind(cctx, key, mvccSnapshot) : null; assert row == null || row.value() != null : row; @@ -811,21 +811,16 @@ public class IgniteCacheOffheapManagerImpl implements IgniteCacheOffheapManager return 0; } - /** - * @param primary {@code True} if need return primary entries. - * @param backup {@code True} if need return backup entries. - * @param topVer Topology version to use. - * @return Entries iterator. - * @throws IgniteCheckedException If failed. - */ + /** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override public <K, V> GridCloseableIterator<Cache.Entry<K, V>> cacheEntriesIterator( final GridCacheContext cctx, final boolean primary, final boolean backup, final AffinityTopologyVersion topVer, - final boolean keepBinary) throws IgniteCheckedException { - final Iterator<CacheDataRow> it = cacheIterator(cctx.cacheId(), primary, backup, topVer, null); + final boolean keepBinary, + @Nullable final MvccSnapshot mvccSnapshot) throws IgniteCheckedException { + final Iterator<CacheDataRow> it = cacheIterator(cctx.cacheId(), primary, backup, topVer, mvccSnapshot); return new GridCloseableIteratorAdapter<Cache.Entry<K, V>>() { /** */ http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxyImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxyImpl.java index c389cb4..504c375 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxyImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxyImpl.java @@ -816,7 +816,7 @@ public class IgniteCacheProxyImpl<K, V> extends AsyncSupportAdapter<IgniteCache< /** {@inheritDoc} */ @Nullable @Override public V localPeek(K key, CachePeekMode... peekModes) { try { - return delegate.localPeek(key, peekModes, null); + return delegate.localPeek(key, peekModes); } catch (IgniteException | IgniteCheckedException e) { throw cacheException(e); http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java index 6cdfea0..af888ce 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java @@ -301,11 +301,10 @@ public interface IgniteInternalCache<K, V> extends Iterable<Cache.Entry<K, V>> { /** * @param key Key. * @param peekModes Peek modes. - * @param plc Expiry policy if TTL should be updated. * @return Value. * @throws IgniteCheckedException If failed. */ - @Nullable public V localPeek(K key, CachePeekMode[] peekModes, @Nullable IgniteCacheExpiryPolicy plc) + @Nullable public V localPeek(K key, CachePeekMode[] peekModes) throws IgniteCheckedException; /** http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/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 3904781..086247c 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 @@ -444,7 +444,7 @@ public abstract class GridNearCacheAdapter<K, V> extends GridDistributedCacheAda F.iterator0(dhtSet, false, new P1<Cache.Entry<K, V>>() { @Override public boolean apply(Cache.Entry<K, V> e) { try { - return GridNearCacheAdapter.super.localPeek(e.getKey(), NEAR_PEEK_MODE, null) == null; + return GridNearCacheAdapter.super.localPeek(e.getKey(), NEAR_PEEK_MODE) == null; } catch (IgniteCheckedException ex) { throw new IgniteException(ex); http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxRemote.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxRemote.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxRemote.java index c72dd73..0da3edb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxRemote.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxRemote.java @@ -346,7 +346,7 @@ public class GridNearTxRemote extends GridDistributedTxRemoteAdapter { try { cached.unswap(); - CacheObject val = cached.peek(null); + CacheObject val = cached.peek(); if (val == null && cached.evictInternal(xidVer, null, false)) { evicted.add(entry.txKey()); @@ -407,7 +407,7 @@ public class GridNearTxRemote extends GridDistributedTxRemoteAdapter { else { cached.unswap(); - CacheObject peek = cached.peek(null); + CacheObject peek = cached.peek(); if (peek == null && cached.evictInternal(xidVer, null, false)) { cached.context().cache().removeIfObsolete(key.key()); http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java index 9e0caf9..e24e644 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java @@ -81,10 +81,10 @@ import org.apache.ignite.marshaller.Marshaller; import org.apache.ignite.plugin.security.SecurityPermission; import org.jetbrains.annotations.Nullable; +import static org.apache.ignite.events.EventType.EVT_MANAGEMENT_TASK_STARTED; import static org.apache.ignite.events.EventType.EVT_NODE_FAILED; import static org.apache.ignite.events.EventType.EVT_NODE_LEFT; import static org.apache.ignite.events.EventType.EVT_TASK_SESSION_ATTR_SET; -import static org.apache.ignite.events.EventType.EVT_MANAGEMENT_TASK_STARTED; import static org.apache.ignite.internal.GridTopic.TOPIC_JOB_SIBLINGS; import static org.apache.ignite.internal.GridTopic.TOPIC_TASK; import static org.apache.ignite.internal.GridTopic.TOPIC_TASK_CANCEL; @@ -495,7 +495,7 @@ public class GridTaskProcessor extends GridProcessorAdapter implements IgniteCha try { return taskMetaCache().localPeek( - new GridTaskNameHashKey(taskNameHash), null, null); + new GridTaskNameHashKey(taskNameHash), null); } catch (IgniteCheckedException e) { throw new IgniteException(e); http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCachePreloadingEvictionsSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCachePreloadingEvictionsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCachePreloadingEvictionsSelfTest.java index f9042ef..2a10d97 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCachePreloadingEvictionsSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCachePreloadingEvictionsSelfTest.java @@ -234,7 +234,7 @@ public class GridCachePreloadingEvictionsSelfTest extends GridCommonAbstractTest "Sizes do not match [s1=" + cache1.size(ALL_PEEK_MODES) + ", s2=" + cache2.size(ALL_PEEK_MODES) + ']'; for (Integer key : cache1.keySet()) { - Object e = cache1.localPeek(key, new CachePeekMode[] {CachePeekMode.ONHEAP}, null); + Object e = cache1.localPeek(key, new CachePeekMode[] {CachePeekMode.ONHEAP}); if (e != null) assert cache2.containsKey(key) : "Cache2 does not contain key: " + key; http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java index 6fb200d..358dfc3 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java @@ -925,8 +925,7 @@ public class GridCacheTestEntryEx extends GridMetadataAwareAdapter implements Gr } /** {@inheritDoc} */ - @Nullable @Override public CacheObject peek( - @Nullable IgniteCacheExpiryPolicy plc) + @Nullable @Override public CacheObject peek() throws GridCacheEntryRemovedException, IgniteCheckedException { return null; } http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxPeekModesTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxPeekModesTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxPeekModesTest.java index b43ab9a..0cd5c2a 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxPeekModesTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTxPeekModesTest.java @@ -19,7 +19,6 @@ package org.apache.ignite.internal.processors.cache; import org.apache.ignite.cache.CacheAtomicityMode; import org.apache.ignite.cache.CacheMode; -import org.apache.ignite.testframework.MvccFeatureChecker; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; import static org.apache.ignite.cache.CacheMode.PARTITIONED; @@ -42,12 +41,4 @@ public class IgniteCacheTxPeekModesTest extends IgniteCachePeekModesAbstractTest @Override protected CacheAtomicityMode atomicityMode() { return TRANSACTIONAL; } - - /** {@inheritDoc} */ - @Override public void testLocalEntries() throws Exception { - if (MvccFeatureChecker.forcedMvcc()) - fail("https://issues.apache.org/jira/browse/IGNITE-10167"); - - super.testLocalEntries(); - } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadDisabledSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadDisabledSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadDisabledSelfTest.java index d8bc44a..8899654 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadDisabledSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheDhtPreloadDisabledSelfTest.java @@ -194,7 +194,7 @@ public class GridCacheDhtPreloadDisabledSelfTest extends GridCommonAbstractTest for (int i = 0; i < keyCnt; i++) { assertNull(near(cache1).peekEx(i)); - assertNotNull((dht(cache1).localPeek(i, null, null))); + assertNotNull((dht(cache1).localPeek(i, null))); assertEquals(Integer.toString(i), cache1.localPeek(i)); } @@ -288,4 +288,4 @@ public class GridCacheDhtPreloadDisabledSelfTest extends GridCommonAbstractTest for (int i = 0; i < cnt; i++) c.put(i, Integer.toString(i)); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheTxNodeFailureSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheTxNodeFailureSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheTxNodeFailureSelfTest.java index a5c41a0..1c9f97d 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheTxNodeFailureSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheTxNodeFailureSelfTest.java @@ -345,14 +345,14 @@ public class GridCacheTxNodeFailureSelfTest extends GridCommonAbstractTest { assertNotNull(dhtEntry); assertTrue("dhtEntry=" + dhtEntry, dhtEntry.remoteMvccSnapshot().isEmpty()); assertTrue("dhtEntry=" + dhtEntry, dhtEntry.localCandidates().isEmpty()); - assertEquals(key, backupCache.localPeek(key, null, null)); + assertEquals(key, backupCache.localPeek(key, null)); if (nearEntry != null) { assertTrue("near=" + nearEntry, nearEntry.remoteMvccSnapshot().isEmpty()); assertTrue("near=" + nearEntry, nearEntry.localCandidates().isEmpty()); // Near peek wil be null since primary node has changed. - assertNull("near=" + nearEntry, origCache.localPeek(key, null, null)); + assertNull("near=" + nearEntry, origCache.localPeek(key, null)); } } else { http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java index 875284d..136526d 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java @@ -371,7 +371,7 @@ public class GridCacheNearMultiNodeSelfTest extends GridCommonAbstractTest { GridCacheAdapter<Integer, String> dhtCache = dht(G.ignite(n.id())); - String s = dhtCache.localPeek(key, null, null); + String s = dhtCache.localPeek(key, null); assert s != null : "Value is null for key: " + key; assertEquals(s, Integer.toString(key)); @@ -531,7 +531,7 @@ public class GridCacheNearMultiNodeSelfTest extends GridCommonAbstractTest { assertEquals("2", near.get(2)); assertEquals("3", near.get(3)); - assertNotNull(dht(primaryGrid(3)).localPeek(3, null, null)); + assertNotNull(dht(primaryGrid(3)).localPeek(3, null)); tx.commit(); } @@ -960,4 +960,4 @@ public class GridCacheNearMultiNodeSelfTest extends GridCommonAbstractTest { map.remove(key); } } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsProcessorSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsProcessorSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsProcessorSelfTest.java index 0ba3bcb..33ea8f8 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsProcessorSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsProcessorSelfTest.java @@ -17,6 +17,17 @@ package org.apache.ignite.internal.processors.igfs; +import java.security.SecureRandom; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.Callable; +import java.util.concurrent.atomic.AtomicInteger; +import javax.cache.Cache; import org.apache.commons.io.IOUtils; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; @@ -47,18 +58,6 @@ import org.apache.ignite.testframework.GridTestUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import javax.cache.Cache; -import java.security.SecureRandom; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.Callable; -import java.util.concurrent.atomic.AtomicInteger; - import static java.nio.charset.StandardCharsets.UTF_8; import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL; import static org.apache.ignite.cache.CacheMode.PARTITIONED; @@ -219,7 +218,7 @@ public class IgfsProcessorSelfTest extends IgfsCommonAbstractTest { for (int i = 0; i < nodesCount(); i++) { IgfsEntryInfo fileInfo = - (IgfsEntryInfo)grid(i).cachex(metaCacheName).localPeek(info.fileId(), null, null); + (IgfsEntryInfo)grid(i).cachex(metaCacheName).localPeek(info.fileId(), null); assertNotNull(fileInfo); assertNotNull(fileInfo.listing()); @@ -989,4 +988,4 @@ public class IgfsProcessorSelfTest extends IgfsCommonAbstractTest { assertEquals(Arrays.asList(item), names); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java index 0910292..1d61526 100755 --- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java +++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java @@ -1399,7 +1399,7 @@ public abstract class GridCommonAbstractTest extends GridAbstractTest { * @param key Key. */ protected static <K, V> V localPeek(GridCacheAdapter<K, V> cache, K key) throws IgniteCheckedException { - return cache.localPeek(key, null, null); + return cache.localPeek(key, null); } /** @@ -1407,7 +1407,7 @@ public abstract class GridCommonAbstractTest extends GridAbstractTest { * @param key Key. */ protected static <K, V> V localPeekOnHeap(GridCacheAdapter<K, V> cache, K key) throws IgniteCheckedException { - return cache.localPeek(key, new CachePeekMode[] {CachePeekMode.ONHEAP}, null); + return cache.localPeek(key, new CachePeekMode[] {CachePeekMode.ONHEAP}); } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheMvccTestSuite.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheMvccTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheMvccTestSuite.java index 930706d..bcbc7f0 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheMvccTestSuite.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheMvccTestSuite.java @@ -18,9 +18,6 @@ package org.apache.ignite.testsuites; import junit.framework.TestSuite; -import org.apache.ignite.cache.CacheAtomicityMode; -import org.apache.ignite.internal.processors.cache.IgniteCacheTxPeekModesTest; -import org.apache.ignite.internal.processors.cache.IgniteCacheTxReplicatedPeekModesTest; import org.apache.ignite.internal.processors.cache.mvcc.CacheMvccClusterRestartTest; import org.apache.ignite.internal.processors.cache.mvcc.CacheMvccConfigurationValidationTest; import org.apache.ignite.internal.processors.cache.mvcc.CacheMvccIteratorWithConcurrentTransactionTest; @@ -41,8 +38,6 @@ import org.apache.ignite.internal.processors.cache.mvcc.MvccUnsupportedTxModesTe import org.apache.ignite.internal.processors.datastreamer.DataStreamProcessorMvccPersistenceSelfTest; import org.apache.ignite.internal.processors.datastreamer.DataStreamProcessorMvccSelfTest; -import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT; - /** * */ @@ -69,9 +64,6 @@ public class IgniteCacheMvccTestSuite extends TestSuite { suite.addTestSuite(MvccCachePeekTest.class); - suite.addTestSuite(MvccIgniteCacheTxPeekModesTest.class); - suite.addTestSuite(MvccIgniteCacheTxReplicatedPeekModesTest.class); - // Concurrent ops tests. suite.addTestSuite(CacheMvccIteratorWithConcurrentTransactionTest.class); suite.addTestSuite(CacheMvccLocalEntriesWithConcurrentTransactionTest.class); @@ -87,34 +79,4 @@ public class IgniteCacheMvccTestSuite extends TestSuite { return suite; } - - /** */ - public static class MvccIgniteCacheTxPeekModesTest extends IgniteCacheTxPeekModesTest { - /** {@inheritDoc} */ - @Override protected CacheAtomicityMode atomicityMode() { - return TRANSACTIONAL_SNAPSHOT; - } - - /** {@inheritDoc} */ - @Override public void testLocalEntries() throws Exception { - fail("https://issues.apache.org/jira/browse/IGNITE-10167"); - - super.testLocalEntries(); - } - } - - /** */ - public static class MvccIgniteCacheTxReplicatedPeekModesTest extends IgniteCacheTxReplicatedPeekModesTest { - /** {@inheritDoc} */ - @Override protected CacheAtomicityMode atomicityMode() { - return TRANSACTIONAL_SNAPSHOT; - } - - /** {@inheritDoc} */ - @Override public void testLocalEntries() throws Exception { - fail("https://issues.apache.org/jira/browse/IGNITE-10167"); - - super.testLocalEntries(); - } - } } http://git-wip-us.apache.org/repos/asf/ignite/blob/90207e98/modules/hibernate-core/src/main/java/org/apache/ignite/cache/hibernate/HibernateCacheProxy.java ---------------------------------------------------------------------- diff --git a/modules/hibernate-core/src/main/java/org/apache/ignite/cache/hibernate/HibernateCacheProxy.java b/modules/hibernate-core/src/main/java/org/apache/ignite/cache/hibernate/HibernateCacheProxy.java index 527b767..1752313 100644 --- a/modules/hibernate-core/src/main/java/org/apache/ignite/cache/hibernate/HibernateCacheProxy.java +++ b/modules/hibernate-core/src/main/java/org/apache/ignite/cache/hibernate/HibernateCacheProxy.java @@ -38,7 +38,6 @@ import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.internal.IgniteInternalFuture; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; import org.apache.ignite.internal.processors.cache.GridCacheContext; -import org.apache.ignite.internal.processors.cache.IgniteCacheExpiryPolicy; import org.apache.ignite.internal.processors.cache.IgniteInternalCache; import org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal; import org.apache.ignite.lang.IgniteBiPredicate; @@ -123,10 +122,9 @@ public class HibernateCacheProxy implements IgniteInternalCache<Object, Object> /** {@inheritDoc} */ @Nullable @Override public Object localPeek( Object key, - CachePeekMode[] peekModes, - @Nullable IgniteCacheExpiryPolicy plc + CachePeekMode[] peekModes ) throws IgniteCheckedException { - return delegate.localPeek(keyTransformer.transform(key), peekModes, plc); + return delegate.localPeek(keyTransformer.transform(key), peekModes); } /** {@inheritDoc} */
