You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2016/04/22 14:30:30 UTC
[48/50] [abbrv] ignite git commit: Merge remote-tracking branch
'remotes/origin/master' into ignite-db-x-10884
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>