http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java index 3e509d8,d6d7335..044aeaa --- 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 @@@ -263,10 -273,18 +263,11 @@@ public interface GridCacheEntryEx public boolean partitionValid(); /** + * @param ver Cache version to set. The version will be used on updating entry instead of generated one. * @param tx Ongoing transaction (possibly null). - * @param readSwap Flag indicating whether to check swap memory. * @param readThrough Flag indicating whether to read through. - * @param failFast If {@code true}, then throw {@link GridCacheFilterFailedException} if - * filter didn't pass. - * @param unmarshal Unmarshal flag. * @param updateMetrics If {@code true} then metrics should be updated. * @param evt Flag to signal event notification. - * @param tmp If {@code true} can return temporary instance which is valid while entry lock is held, - * temporary object can used for filter evaluation or transform closure execution and - * should not be returned to user. * @param subjId Subject ID initiated this read. * @param transformClo Transform closure to record event. * @param taskName Task name. @@@ -275,10 -294,15 +277,11 @@@ * @throws IgniteCheckedException If loading value failed. * @throws GridCacheEntryRemovedException If entry was removed. */ - @Nullable public CacheObject innerGet(@Nullable IgniteInternalTx tx, + @Nullable public CacheObject innerGet(@Nullable GridCacheVersion ver, + @Nullable IgniteInternalTx tx, - boolean readSwap, boolean readThrough, - boolean failFast, - boolean unmarshal, boolean updateMetrics, boolean evt, - boolean tmp, UUID subjId, Object transformClo, String taskName, @@@ -287,7 -311,10 +290,8 @@@ throws IgniteCheckedException, GridCacheEntryRemovedException; /** + * @param ver Cache version to set. The version will be used on updating entry instead of generated one. * @param tx Cache transaction. - * @param readSwap Flag indicating whether to check swap memory. - * @param unmarshal Unmarshal flag. * @param updateMetrics If {@code true} then metrics should be updated. * @param evt Flag to signal event notification. * @param subjId Subject ID initiated this read. @@@ -299,7 -327,10 +304,8 @@@ * @throws GridCacheEntryRemovedException If entry was removed. */ @Nullable public T2<CacheObject, GridCacheVersion> innerGetVersioned( + @Nullable GridCacheVersion ver, IgniteInternalTx tx, - boolean readSwap, - boolean unmarshal, boolean updateMetrics, boolean evt, UUID subjId, @@@ -893,9 -926,25 +900,9 @@@ * @param ver Version. * @param ttl Time to live. */ - public void updateTtl(@Nullable GridCacheVersion ver, long ttl); + public void updateTtl(@Nullable GridCacheVersion ver, long ttl) throws GridCacheEntryRemovedException; /** - * Called when entry should be evicted from offheap. - * <p> - * If swap is enabled tries to do offheap -> swap eviction, otherwise evicted value should - * be passed to query manager. - * - * @param entry Serialized swap entry. - * @param evictVer Version when entry was selected for eviction. - * @param obsoleteVer Obsolete version. - * @throws IgniteCheckedException If failed. - * @throws GridCacheEntryRemovedException If entry was removed. - * @return {@code True} if entry was obsoleted and written to swap. - */ - public boolean onOffheapEvict(byte[] entry, GridCacheVersion evictVer, GridCacheVersion obsoleteVer) - throws IgniteCheckedException, GridCacheEntryRemovedException; - - /** * @return Value. * @throws IgniteCheckedException If failed to read from swap storage. * @throws GridCacheEntryRemovedException If entry was removed.
http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index d9c81b6,735e20a..a60ca8e --- 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 @@@ -198,9 -209,9 +202,9 @@@ public abstract class GridCacheMapEntr // In case we deal with IGFS cache, count updated data if (cctx.cache().isIgfsDataCache() && - cctx.kernalContext().igfsHelper().isIgfsBlockKey(key.value(cctx.cacheObjectContext(), false))) { + cctx.kernalContext().igfsHelper().isIgfsBlockKey(keyValue(false))) { int newSize = valueLength0(val, null); - int oldSize = valueLength0(this.val, (this.val == null && hasOffHeapPointer()) ? valueBytes0() : null); + int oldSize = valueLength0(this.val, null); int delta = newSize - oldSize; @@@ -482,20 -668,29 +486,24 @@@ } /** {@inheritDoc} */ - @Nullable @Override public final CacheObject innerGet(@Nullable IgniteInternalTx tx, - @Nullable @Override public final CacheObject innerGet(@Nullable GridCacheVersion ver, ++ @Nullable @Override public final CacheObject innerGet( ++ @Nullable GridCacheVersion ver, + @Nullable IgniteInternalTx tx, - boolean readSwap, boolean readThrough, - boolean failFast, - boolean unmarshal, boolean updateMetrics, boolean evt, - boolean tmp, UUID subjId, Object transformClo, String taskName, @Nullable IgniteCacheExpiryPolicy expirePlc, boolean keepBinary) throws IgniteCheckedException, GridCacheEntryRemovedException { - return (CacheObject)innerGet0(tx, - return (CacheObject)innerGet0(ver, ++ return (CacheObject)innerGet0( ++ ver, + tx, - readSwap, readThrough, evt, - unmarshal, updateMetrics, - tmp, subjId, transformClo, taskName, @@@ -506,7 -701,10 +514,8 @@@ /** {@inheritDoc} */ @Nullable @Override public T2<CacheObject, GridCacheVersion> innerGetVersioned( + @Nullable GridCacheVersion ver, IgniteInternalTx tx, - boolean readSwap, - boolean unmarshal, boolean updateMetrics, boolean evt, UUID subjId, @@@ -529,10 -731,15 +538,12 @@@ /** {@inheritDoc} */ @SuppressWarnings({"unchecked", "RedundantTypeArguments", "TooBroadScope"}) - private Object innerGet0(IgniteInternalTx tx, + private Object innerGet0( + GridCacheVersion nextVer, + IgniteInternalTx tx, - boolean readSwap, boolean readThrough, boolean evt, - boolean unmarshal, boolean updateMetrics, - boolean tmp, UUID subjId, Object transformClo, String taskName, @@@ -723,17 -949,23 +737,16 @@@ // Detach value before index update. ret = cctx.kernalContext().cacheObjects().prepareForCache(ret, cctx); - GridCacheVersion nextVer = nextVersion(); + nextVer = nextVer != null ? nextVer : nextVersion(); - CacheObject prevVal = rawGetOrUnmarshalUnlocked(false); - long expTime = CU.toExpireTime(ttl); if (loadedFromStore) // Update indexes before actual write to entry. - updateIndex(ret, expTime, nextVer, prevVal); - - boolean hadValPtr = hasOffHeapPointer(); + storeValue(ret, expTime, nextVer); - // Don't change version for read-through. - update(ret, expTime, ttl, nextVer); + update(ret, expTime, ttl, nextVer, true); - if (hadValPtr && cctx.offheapTiered()) - cctx.swap().removeOffheap(key); - if (cctx.deferredDelete() && deletedUnlocked() && !isInternal() && !detached()) deletedUnlocked(false); } @@@ -904,7 -1139,7 +918,12 @@@ // Load and remove from swap if it is new. boolean startVer = isStartVersion(); - if (startVer && (retval || intercept)) - if (startVer) ++ boolean internal = isInternal() || !context().userCache(); ++ ++ Map<UUID, CacheContinuousQueryListener> lsnrCol = ++ notifyContinuousQueries(tx) ? cctx.continuousQueries().updateListeners(internal, false) : null; ++ ++ if (startVer && (retval || intercept || lsnrCol != null)) unswap(retval); newVer = explicitVer != null ? explicitVer : tx == null ? @@@ -1083,10 -1335,22 +1111,15 @@@ assert tx == null || (!tx.local() && tx.onePhaseCommit()) || tx.ownsLock(this) : "Transaction does not own lock for remove[entry=" + this + ", tx=" + tx + ']'; - boolean startVer = isStartVersion(); - - if (startVer) { - // Release swap. - releaseSwap(); - } - newVer = explicitVer != null ? explicitVer : tx == null ? nextVersion() : tx.writeVersion(); + boolean internal = isInternal() || !context().userCache(); + + Map<UUID, CacheContinuousQueryListener> lsnrCol = + notifyContinuousQueries(tx) ? cctx.continuousQueries().updateListeners(internal, false) : null; + - old = (retval || intercept || lsnrCol != null) ? - rawGetOrUnmarshalUnlocked(!retval && !isOffHeapValuesOnly()) : val; + // TODO GG-10884 need unswap?. + old = val; if (intercept) { entry0 = new CacheLazyEntry(cctx, key, old, keepBinary); @@@ -1103,10 -1367,20 +1136,10 @@@ if (old == null) old = saveValueForIndexUnlocked(); - // Clear indexes inside of synchronization since indexes - // can be updated without actually holding entry lock. - clearIndex(old); - - boolean hadValPtr = hasOffHeapPointer(); + removeValue(old, ver); - update(null, 0, 0, newVer); + update(null, 0, 0, newVer, true); - if (cctx.offheapTiered() && hadValPtr) { - boolean rmv = cctx.swap().removeOffheap(key); - - assert rmv; - } - if (cctx.deferredDelete() && !detached() && !isInternal()) { if (!deletedUnlocked()) { deletedUnlocked(true); @@@ -1282,11 -1588,11 +1346,11 @@@ old = cctx.kernalContext().cacheObjects().prepareForCache(old, cctx); if (old != null) - updateIndex(old, expireTime, ver, null); + storeValue(old, expireTime, ver); else - clearIndex(null); + removeValue(null, ver); - update(old, expireTime, ttl, ver); + update(old, expireTime, ttl, ver, true); } // Apply metrics. @@@ -1462,10 -1770,20 +1526,10 @@@ if (old == null) old = saveValueForIndexUnlocked(); - // Update index inside synchronization since it can be updated - // in load methods without actually holding entry lock. - clearIndex(old); + removeValue(old, this.ver); - update(null, CU.TTL_ETERNAL, CU.EXPIRE_TIME_ETERNAL, ver); + update(null, CU.TTL_ETERNAL, CU.EXPIRE_TIME_ETERNAL, ver, true); - if (cctx.offheapTiered() && hasValPtr) { - boolean rmv = cctx.swap().removeOffheap(key); - - assert rmv; - } - if (evt) { CacheObject evtOld = null; @@@ -1596,9 -1923,10 +1669,10 @@@ EntryProcessor<Object, Object, ?> entryProcessor = (EntryProcessor<Object, Object, ?>)writeObj; - oldVal = rawGetOrUnmarshalUnlocked(true); + oldVal = this.val; - CacheInvokeEntry<Object, Object> entry = new CacheInvokeEntry(cctx, key, oldVal, version(), keepBinary); + CacheInvokeEntry<Object, Object> entry = new CacheInvokeEntry(key, oldVal, version(), + keepBinary, this); try { Object computed = entryProcessor.process(entry, invokeArgs); @@@ -1812,11 -2148,11 +1894,11 @@@ } if (oldVal != null) - updateIndex(oldVal, initExpireTime, ver, null); + storeValue(oldVal, initExpireTime, ver); else - clearIndex(null); + removeValue(null, ver); - update(oldVal, initExpireTime, initTtl, ver); + update(oldVal, initExpireTime, initTtl, ver, true); if (deletedUnlocked() && oldVal != null && !isInternal()) deletedUnlocked(false); @@@ -2026,9 -2362,11 +2108,9 @@@ updated = cctx.kernalContext().cacheObjects().prepareForCache(updated, cctx); - // Update index inside synchronization since it can be updated - // in load methods without actually holding entry lock. - updateIndex(updated, newExpireTime, newVer, oldVal); + storeValue(updated, newExpireTime, newVer); - update(updated, newExpireTime, newTtl, newVer); + update(updated, newExpireTime, newTtl, newVer, true); updateCntr0 = nextPartCounter(topVer); @@@ -2108,8 -2448,10 +2190,8 @@@ enqueueVer = newVer; - boolean hasValPtr = hasOffHeapPointer(); - // Clear value on backup. Entry will be removed from cache when it got evicted from queue. - update(null, CU.TTL_ETERNAL, CU.EXPIRE_TIME_ETERNAL, newVer); + update(null, CU.TTL_ETERNAL, CU.EXPIRE_TIME_ETERNAL, newVer, true); assert newSysTtl == CU.TTL_NOT_CHANGED; assert newSysExpireTime == CU.EXPIRE_TIME_CALCULATE; @@@ -2298,83 -2647,51 +2381,55 @@@ } /** {@inheritDoc} */ - @Override public boolean clear(GridCacheVersion ver, boolean readers, - @Nullable CacheEntryPredicate[] filter) throws IgniteCheckedException { - boolean ret; - boolean rmv; - boolean marked; - - while (true) { - ret = false; - rmv = false; - marked = false; - - // For optimistic check. - GridCacheVersion startVer = null; - - if (!F.isEmptyOrNulls(filter)) { - synchronized (this) { - startVer = this.ver; - } - - if (!cctx.isAll(this, filter)) - return false; - } - - synchronized (this) { - if (startVer != null && !startVer.equals(this.ver)) - // Version has changed since filter checking. - continue; - - CacheObject val = saveValueForIndexUnlocked(); - - try { - if ((!hasReaders() || readers)) { - // markObsolete will clear the value. - if (!(marked = markObsolete0(ver, true, null))) { - if (log.isDebugEnabled()) - log.debug("Entry could not be marked obsolete (it is still used): " + this); + @Override public boolean clear(GridCacheVersion ver, boolean readers) throws IgniteCheckedException { + synchronized (this) { + if (obsolete()) + return false; - break; - } + CacheObject val = saveValueForIndexUnlocked(); - clearReaders(); - } - else { + try { + if ((!hasReaders() || readers)) { + // markObsolete will clear the value. + if (!(markObsolete0(ver, true, null))) { if (log.isDebugEnabled()) - log.debug("Entry could not be marked obsolete (it still has readers): " + this); + log.debug("Entry could not be marked obsolete (it is still used): " + this); - break; + return false; } + + clearReaders(); } - catch (GridCacheEntryRemovedException ignore) { + else { if (log.isDebugEnabled()) - log.debug("Got removed entry when clearing (will simply return): " + this); - - ret = true; + log.debug("Entry could not be marked obsolete (it still has readers): " + this); - break; + return false; } + } + catch (GridCacheEntryRemovedException ignore) { + assert false; - if (log.isDebugEnabled()) - log.debug("Entry has been marked obsolete: " + this); + return false; + } + + if (log.isDebugEnabled()) + log.debug("Entry has been marked obsolete: " + this); - clearIndex(val); + removeValue(val, ver); + + ret = true; + rmv = true; - releaseSwap(); + break; + } } - if (marked) - onMarkedObsolete(); + onMarkedObsolete(); - if (rmv) - cctx.cache().removeEntry(this); // Clear cache. + cctx.cache().removeEntry(this); // Clear cache. - return ret; + return true; } /** {@inheritDoc} */ @@@ -2913,10 -3266,10 +2963,10 @@@ val = cctx.kernalContext().cacheObjects().prepareForCache(val, cctx); if (val != null) - updateIndex(val, expTime, ver, null); + storeValue(val, expTime, ver); // Version does not change for load ops. - update(val, expTime, ttl, ver); + update(val, expTime, ttl, ver, true); boolean skipQryNtf = false; @@@ -3008,10 -3370,10 +3067,10 @@@ throws IgniteCheckedException, GridCacheEntryRemovedException { boolean isNew = isStartVersion(); - CacheObject val = isNew ? unswap(true) : rawGetOrUnmarshalUnlocked(false); + CacheObject val = isNew ? unswap(true) : this.val; - return new GridCachePlainVersionedEntry<>(key.value(cctx.cacheObjectContext(), true), - CU.value(val, cctx, true), + return new GridCachePlainVersionedEntry<>(cctx.unwrapBinaryIfNeeded(key, keepBinary, true), + cctx.unwrapBinaryIfNeeded(val, keepBinary, true), ttlExtras(), expireTimeExtras(), ver.conflictVersion(), @@@ -3489,12 -3871,12 +3550,12 @@@ CacheObject val; if (tx != null) { - GridTuple<CacheObject> peek = tx.peek(cctx, false, key, null); + GridTuple<CacheObject> peek = tx.peek(cctx, false, key); - val = peek == null ? rawGetOrUnmarshal(false) : peek.get(); + val = peek == null ? rawGet() : peek.get(); } else - val = rawGetOrUnmarshal(false); + val = rawGet(); return new CacheEntryImpl<>(key.<K>value(cctx.cacheObjectContext(), false), CU.<V>value(val, cctx, false), ver); http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java index 97acf19,5214078..0ca9b21 mode 100644,100755..100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java @@@ -140,7 -139,7 +141,8 @@@ import static org.apache.ignite.configu import static org.apache.ignite.configuration.DeploymentMode.ISOLATED; import static org.apache.ignite.configuration.DeploymentMode.PRIVATE; import static org.apache.ignite.configuration.DeploymentMode.SHARED; +import static org.apache.ignite.internal.IgniteComponentType.INDEXING; + import static org.apache.ignite.events.EventType.EVT_NODE_JOINED; import static org.apache.ignite.internal.IgniteComponentType.JTA; import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_CONSISTENCY_CHECK_SKIPPED; import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_TX_CONFIG; @@@ -1298,12 -1300,10 +1321,14 @@@ public class GridCacheProcessor extend GridCacheDrManager drMgr = pluginMgr.createComponent(GridCacheDrManager.class); CacheStoreManager storeMgr = pluginMgr.createComponent(CacheStoreManager.class); + boolean cacheIndexingEnabled = INDEXING.inClassPath() && GridQueryProcessor.isEnabled(cfg); + + IgniteCacheOffheapManager offheapMgr = new IgniteCacheOffheapManager(cacheIndexingEnabled); + storeMgr.initialize(cfgStore, sesHolders); + boolean affNode = CU.affinityNode(ctx.discovery().localNode(), cfg.getNodeFilter()); + GridCacheContext<?, ?> cacheCtx = new GridCacheContext( ctx, sharedCtx, @@@ -1811,10 -1831,8 +1858,11 @@@ GridCacheVersionManager verMgr = new GridCacheVersionManager(); GridCacheDeploymentManager depMgr = new GridCacheDeploymentManager(); GridCachePartitionExchangeManager exchMgr = new GridCachePartitionExchangeManager(); + IgniteCacheDatabaseSharedManager dbMgr = new IgniteCacheDatabaseSharedManager(); + IgnitePageStoreManager pageStoreMgr = ctx.plugins().createComponent(IgnitePageStoreManager.class); + GridCacheIoManager ioMgr = new GridCacheIoManager(); + CacheAffinitySharedManager topMgr = new CacheAffinitySharedManager(); CacheJtaManagerAdapter jta = JTA.createOptional(); @@@ -1823,10 -1841,9 +1871,11 @@@ tm, verMgr, mvccMgr, + dbMgr, + pageStoreMgr, depMgr, exchMgr, + topMgr, ioMgr, jta, storeSesLsnrs http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java index 0136b82,01ca9f7..30db9dd --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java @@@ -87,12 -85,9 +87,15 @@@ public class GridCacheSharedContext<K, /** Deployment manager. */ private GridCacheDeploymentManager<K, V> depMgr; + /** Database manager. */ + private IgniteCacheDatabaseSharedManager dbMgr; + + /** Page store manager. */ + private IgnitePageStoreManager pageStoreMgr; + + /** Affinity manager. */ + private CacheAffinitySharedManager affMgr; + /** Cache contexts map. */ private ConcurrentMap<Integer, GridCacheContext<K, V>> ctxMap; @@@ -118,17 -114,16 +122,18 @@@ IgniteTxManager txMgr, GridCacheVersionManager verMgr, GridCacheMvccManager mvccMgr, + IgniteCacheDatabaseSharedManager dbMgr, + IgnitePageStoreManager pageStoreMgr, GridCacheDeploymentManager<K, V> depMgr, GridCachePartitionExchangeManager<K, V> exchMgr, + CacheAffinitySharedManager<K, V> affMgr, GridCacheIoManager ioMgr, CacheJtaManagerAdapter jtaMgr, Collection<CacheStoreSessionListener> storeSesLsnrs ) { this.kernalCtx = kernalCtx; - setManagers(mgrs, txMgr, jtaMgr, verMgr, mvccMgr, dbMgr, pageStoreMgr, depMgr, exchMgr, ioMgr); - setManagers(mgrs, txMgr, jtaMgr, verMgr, mvccMgr, depMgr, exchMgr, affMgr, ioMgr); ++ setManagers(mgrs, txMgr, jtaMgr, verMgr, mvccMgr, dbMgr, pageStoreMgr, depMgr, exchMgr, affMgr, ioMgr); this.storeSesLsnrs = storeSesLsnrs; @@@ -170,10 -165,9 +175,11 @@@ jtaMgr, verMgr, mvccMgr, + dbMgr, + pageStoreMgr, new GridCacheDeploymentManager<K, V>(), new GridCachePartitionExchangeManager<K, V>(), + affMgr, ioMgr); this.mgrs = mgrs; @@@ -210,10 -205,9 +217,11 @@@ CacheJtaManagerAdapter jtaMgr, GridCacheVersionManager verMgr, GridCacheMvccManager mvccMgr, + IgniteCacheDatabaseSharedManager dbMgr, + IgnitePageStoreManager pageStoreMgr, GridCacheDeploymentManager<K, V> depMgr, GridCachePartitionExchangeManager<K, V> exchMgr, + CacheAffinitySharedManager affMgr, GridCacheIoManager ioMgr) { this.mvccMgr = add(mgrs, mvccMgr); this.verMgr = add(mgrs, verMgr); http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java index 8907a9a,7901105..fded406 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java @@@ -32,8 -32,10 +32,9 @@@ import java.util.concurrent.ConcurrentM import javax.cache.Cache; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; + import org.apache.ignite.cache.CacheMemoryMode; import org.apache.ignite.internal.managers.swapspace.GridSwapSpaceManager; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; -import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtInvalidPartitionException; import org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager; import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; import org.apache.ignite.internal.processors.cache.version.GridCacheVersionAware; http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java index 489d2de,5294f6a..188eec0 --- 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 @@@ -1536,16 -1548,46 +1537,38 @@@ public interface IgniteInternalCache<K * * @return Cache metrics. */ - public CacheMetrics metrics(); + public CacheMetrics clusterMetrics(); /** - * Gets metrics (statistics) for this cache. + * Gets cluster group metrics (statistics) for this cache. * + * @param grp Cluster group. * @return Cache metrics. */ - public CacheMetricsMXBean mxBean(); + public CacheMetrics clusterMetrics(ClusterGroup grp); + + /** + * Gets local metrics (statistics) for this cache. + * + * @return Cache metrics. + */ + public CacheMetrics localMetrics(); + + /** + * Gets whole cluster metrics (statistics) for this cache. + * + * @return Cache metrics. + */ + public CacheMetricsMXBean clusterMxBean(); + + /** + * Gets local metrics (statistics) for this cache. + * + * @return Cache metrics. + */ + public CacheMetricsMXBean localMxBean(); /** - * Gets size (in bytes) of all entries swapped to disk. - * - * @return Size (in bytes) of all entries swapped to disk. - * @throws IgniteCheckedException In case of error. - */ - public long overflowSize() throws IgniteCheckedException; - - /** * Gets number of cache entries stored in off-heap memory. * * @return Number of cache entries stored in off-heap memory. http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java index ddb8072,faa980e..c6f773b --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java @@@ -997,9 -1031,13 +1018,15 @@@ public abstract class GridDhtCacheAdapt if (log.isDebugEnabled()) log.debug("Got removed entry: " + entry); } + catch (GridDhtInvalidPartitionException e) { + if (log.isDebugEnabled()) + log.debug("Got GridDhtInvalidPartitionException: " + e); + + break; + } } + + entry.updateTtl(vers.get(i), ttl); } finally { if (entry != null) http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java index 56a8501,ab51bdb..f29568f --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java @@@ -577,11 -577,18 +577,11 @@@ public class GridDhtCacheEntry extends if (log.isDebugEnabled()) log.debug("Entry has been marked obsolete: " + this); - clearIndex(prev); + removeValue(prev, ver); // Give to GC. - update(null, 0L, 0L, ver); + update(null, 0L, 0L, ver, true); - if (swap) { - releaseSwap(); - - if (log.isDebugEnabled()) - log.debug("Entry has been cleared from swap storage: " + this); - } - if (cctx.store().isLocal()) cctx.store().remove(null, key); http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java index 4384b27,f0ce6d1..7087ec6 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java @@@ -29,9 -29,7 +29,8 @@@ import java.util.Map import java.util.Set; import java.util.UUID; import java.util.concurrent.ConcurrentMap; - import java.util.concurrent.locks.ReentrantReadWriteLock; import org.apache.ignite.IgniteCheckedException; +import org.apache.ignite.IgniteException; import org.apache.ignite.IgniteLogger; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.events.DiscoveryEvent; http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java index ca3b799,b8fee2d..3a93026 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java @@@ -360,11 -360,18 +360,14 @@@ public final class GridDhtTxPrepareFutu if (evt && txEntry.op() == TRANSFORM) entryProc = F.first(txEntry.entryProcessors()).get1(); + final boolean keepBinary = txEntry.keepBinary(); + CacheObject val = cached.innerGet( + null, tx, - /*swap*/true, readThrough, - /*fail fast*/false, - /*unmarshal*/true, /*metrics*/retVal, /*event*/evt, - /*tmp*/false, tx.subjectId(), entryProc, tx.resolveTaskName(), http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedGetFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedSingleGetFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java index 6326c18,013184b..ee3b7da --- 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 @@@ -1626,10 -1781,15 +1770,11 @@@ public class GridDhtAtomicCache<K, V> e EntryProcessor<Object, Object, Object> entryProcessor = req.entryProcessor(i); CacheObject old = entry.innerGet( + ver, null, - /*read swap*/true, /*read through*/true, - /*fail fast*/false, - /*unmarshal*/true, /*metrics*/true, /*event*/true, - /*temporary*/true, req.subjectId(), entryProcessor, taskName, http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplier.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxRemote.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalCacheEntry.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/atomic/GridLocalAtomicCache.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java index 205dec6,8bcf564..f283723 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java @@@ -996,7 -881,11 +903,7 @@@ public abstract class GridCacheQueryMan iters.add(heapIt); - //iters.add(offheapIterator(qry, backups)); - if (cctx.isOffHeapEnabled()) - iters.add(offheapIterator(qry, topVer, backups, plc)); - - if (cctx.swap().swapEnabled()) - iters.add(swapIterator(qry, topVer, backups, plc)); ++ iters.add(offheapIterator(qry, topVer, backups, plc)); it = new CompoundIterator<>(iters); } http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java index 3a837e5,17bed0b..57359cf --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java @@@ -1260,11 -1242,19 +1242,13 @@@ public abstract class IgniteTxAdapter e boolean recordEvt = cctx.gridEvents().isRecordable(EVT_CACHE_OBJECT_READ); + final boolean keepBinary = txEntry.keepBinary(); + CacheObject cacheVal = txEntry.hasValue() ? txEntry.value() : - txEntry.cached().innerGet( - null, - this, - /*swap*/false, + txEntry.cached().innerGet(this, /*read through*/false, - /*fail fast*/true, - /*unmarshal*/true, /*metrics*/metrics, /*event*/recordEvt, - /*temporary*/true, /*subjId*/subjId, /**closure name */recordEvt ? F.first(txEntry.entryProcessors()).get1() : null, resolveTaskName(), http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java index 776f770,71f74a8..76b2b71 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java @@@ -1455,7 -1445,10 +1441,8 @@@ public abstract class IgniteTxLocalAdap if (needVer) { T2<CacheObject, GridCacheVersion> res = txEntry.cached().innerGetVersioned( + null, this, - /*swap*/true, - /*unmarshal*/true, /*update-metrics*/true, /*event*/!skipVals, CU.subjectId(this, cctx), @@@ -1863,7 -1874,10 +1852,8 @@@ if (needVer) { T2<CacheObject, GridCacheVersion> res = cached.innerGetVersioned( + null, IgniteTxLocalAdapter.this, - /*swap*/cacheCtx.isSwapOrOffheapEnabled(), - /*unmarshal*/true, /**update-metrics*/true, /*event*/!skipVals, CU.subjectId(IgniteTxLocalAdapter.this, cctx), @@@ -2497,11 -2565,10 +2535,11 @@@ // First time access. if (txEntry == null) { while (true) { - GridCacheEntryEx entry = entryEx(cacheCtx, txKey, topologyVersion()); + GridCacheEntryEx entry = entryEx(cacheCtx, txKey, entryTopVer != null ? entryTopVer : topologyVersion()); try { - entry.unswap(false); + if (retval || transform || hasFilters || (optimistic() && serializable())) + entry.unswap(false); // Check if lock is being explicitly acquired by the same thread. if (!implicit && cctx.kernalContext().config().isCacheSanityCheckEnabled() && http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/cacheobject/IgniteCacheObjectProcessorImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/test/java/org/apache/ignite/internal/GridAffinityNoCacheSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java ---------------------------------------------------------------------- diff --cc modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java index ced9c2f,6e404b4..0a36820 --- 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 @@@ -421,10 -426,16 +421,12 @@@ public class GridCacheTestEntryEx exten } /** @inheritDoc */ - @Override public CacheObject innerGet(@Nullable IgniteInternalTx tx, + @Override public CacheObject innerGet( + @Nullable GridCacheVersion ver, + @Nullable IgniteInternalTx tx, - boolean readSwap, boolean readThrough, - boolean failFast, - boolean unmarshal, boolean updateMetrics, boolean evt, - boolean tmp, UUID subjId, Object transformClo, String taskName, @@@ -435,7 -446,10 +437,8 @@@ /** @inheritDoc */ @Nullable @Override public T2<CacheObject, GridCacheVersion> innerGetVersioned( + @Nullable GridCacheVersion ver, IgniteInternalTx tx, - boolean readSwap, - boolean unmarshal, boolean updateMetrics, boolean evt, UUID subjId, http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheTxNodeFailureSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java ---------------------------------------------------------------------- diff --cc modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java index 5474f57,fb82e20..0bfb759 --- a/modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java +++ b/modules/core/src/test/java/org/apache/ignite/loadtests/hashmap/GridCacheTestContext.java @@@ -64,10 -64,9 +65,11 @@@ public class GridCacheTestContext<K, V new IgniteTxManager(), new GridCacheVersionManager(), new GridCacheMvccManager(), + new IgniteCacheDatabaseSharedManager(), + null, new GridCacheDeploymentManager<K, V>(), new GridCachePartitionExchangeManager<K, V>(), + new CacheAffinitySharedManager<K, V>(), new GridCacheIoManager(), new CacheNoopJtaManager(), null http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteKernalSelfTestSuite.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java ---------------------------------------------------------------------- diff --cc modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java index 7a0e256,0da71c8..c6a8921 --- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java +++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java @@@ -229,11 -226,30 +228,30 @@@ public abstract class GridIndexingSpiAb assertFalse(spi.query(typeAB.space(), "select * from A.B", Collections.emptySet(), typeAB, null).hasNext()); assertFalse(spi.query(typeBA.space(), "select * from B.A", Collections.emptySet(), typeBA, null).hasNext()); + assertFalse(spi.query(typeBA.space(), "select * from B.A, A.B, A.A", + Collections.emptySet(), typeBA, null).hasNext()); + + try { + spi.query(typeBA.space(), "select aa.*, ab.*, ba.* from A.A aa, A.B ab, B.A ba", + Collections.emptySet(), typeBA, null).hasNext(); + + fail("Enumerations of aliases in select block must be prohibited"); + } + catch (IgniteCheckedException e) { + // all fine + } + + assertFalse(spi.query(typeAB.space(), "select ab.* from A.B ab", + Collections.emptySet(), typeAB, null).hasNext()); + + assertFalse(spi.query(typeBA.space(), "select ba.* from B.A as ba", + Collections.emptySet(), typeBA, null).hasNext()); + // Nothing to remove. - spi.remove("A", key(1), aa(1, "", 10)); - spi.remove("B", key(1), ba(1, "", 10, true)); + spi.remove("A", key(1), 0, aa(1, "", 10), null); + spi.remove("B", key(1), 0, ba(1, "", 10, true), null); - spi.store(typeAA.space(), typeAA, key(1), aa(1, "Vasya", 10), "v1".getBytes(), 0); + spi.store(typeAA.space(), typeAA, key(1), 0, aa(1, "Vasya", 10), new GridCacheVersion(), 0); assertEquals(1, spi.size(typeAA.space(), typeAA, null)); assertEquals(0, spi.size(typeAB.space(), typeAB, null)); http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/modules/zookeeper/pom.xml ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/1643a7cc/pom.xml ---------------------------------------------------------------------- diff --cc pom.xml index e2ae0e5,3a4a268..cbc5320 --- a/pom.xml +++ b/pom.xml @@@ -429,8 -431,8 +431,9 @@@ <profile> <id>benchmarks</id> <modules> + <module>modules/benchmarks</module> <module>modules/yardstick</module> + <module>modules/benchmarks</module> </modules> </profile>
