You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2015/10/22 12:31:14 UTC
[2/5] ignite git commit: IGNITE-950 - WIP.
http://git-wip-us.apache.org/repos/asf/ignite/blob/d5df41bd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java
index 2e0d37d..b22774b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectPortableContext.java
@@ -58,129 +58,4 @@ public class CacheObjectPortableContext extends CacheObjectContext {
public boolean portableEnabled() {
return portableEnabled;
}
-
- /** {@inheritDoc} */
- @Override public Object unwrapPortableIfNeeded(Object o, boolean keepPortable) {
- if (o == null)
- return null;
-
- if (keepPortable || !portableEnabled() || !PortableUtils.isPortableOrCollectionType(o.getClass()))
- return o;
-
- return unwrapPortable(o);
- }
-
- /** {@inheritDoc} */
- @Override public Collection<Object> unwrapPortablesIfNeeded(Collection<Object> col, boolean keepPortable) {
- if (keepPortable || !portableEnabled())
- return col;
-
- if (col instanceof ArrayList)
- return unwrapPortables((ArrayList<Object>)col);
-
- if (col instanceof Set)
- return unwrapPortables((Set<Object>)col);
-
- Collection<Object> col0 = new ArrayList<>(col.size());
-
- for (Object obj : col)
- col0.add(unwrapPortable(obj));
-
- return col0;
- }
-
- /**
- * Unwraps map.
- *
- * @param map Map to unwrap.
- * @param keepPortable Keep portable flag.
- * @return Unwrapped collection.
- */
- public Map<Object, Object> unwrapPortablesIfNeeded(Map<Object, Object> map, boolean keepPortable) {
- if (keepPortable || !portableEnabled())
- return map;
-
- Map<Object, Object> map0 = PortableUtils.newMap(map);
-
- for (Map.Entry<Object, Object> e : map.entrySet())
- map0.put(unwrapPortable(e.getKey()), unwrapPortable(e.getValue()));
-
- return map0;
- }
-
- /**
- * Unwraps array list.
- *
- * @param col List to unwrap.
- * @return Unwrapped list.
- */
- private Collection<Object> unwrapPortables(ArrayList<Object> col) {
- int size = col.size();
-
- for (int i = 0; i < size; i++) {
- Object o = col.get(i);
-
- Object unwrapped = unwrapPortable(o);
-
- if (o != unwrapped)
- col.set(i, unwrapped);
- }
-
- return col;
- }
-
- /**
- * Unwraps set with portables.
- *
- * @param set Set to unwrap.
- * @return Unwrapped set.
- */
- private Set<Object> unwrapPortables(Set<Object> set) {
- Set<Object> set0 = PortableUtils.newSet(set);
-
- Iterator<Object> iter = set.iterator();
-
- while (iter.hasNext())
- set0.add(unwrapPortable(iter.next()));
-
- return set0;
- }
-
- /**
- * @param o Object to unwrap.
- * @return Unwrapped object.
- */
- private Object unwrapPortable(Object o) {
- if (o instanceof Map.Entry) {
- Map.Entry entry = (Map.Entry)o;
-
- Object key = entry.getKey();
-
- boolean unwrapped = false;
-
- if (key instanceof PortableObject) {
- key = ((PortableObject)key).deserialize();
-
- unwrapped = true;
- }
-
- Object val = entry.getValue();
-
- if (val instanceof PortableObject) {
- val = ((PortableObject)val).deserialize();
-
- unwrapped = true;
- }
-
- return unwrapped ? F.t(key, val) : o;
- }
- else if (o instanceof Collection)
- return unwrapPortablesIfNeeded((Collection<Object>)o, false);
- else if (o instanceof Map)
- return unwrapPortablesIfNeeded((Map<Object, Object>)o, false);
- else if (o instanceof PortableObject)
- return ((PortableObject)o).deserialize();
-
- return o;
- }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/d5df41bd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
index c0c2284..80bd693 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
@@ -142,8 +142,13 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
* @return Transaction.
*/
@SuppressWarnings("unchecked")
- private IgniteInternalTx txStart0(TransactionConcurrency concurrency, TransactionIsolation isolation,
- long timeout, int txSize, @Nullable GridCacheContext sysCacheCtx) {
+ private IgniteInternalTx txStart0(
+ TransactionConcurrency concurrency,
+ TransactionIsolation isolation,
+ long timeout,
+ int txSize,
+ @Nullable GridCacheContext sysCacheCtx
+ ) {
cctx.kernalContext().gateway().readLock();
try {
@@ -158,7 +163,6 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
if (tx != null)
throw new IllegalStateException("Failed to start new transaction " +
"(current thread already has a transaction): " + tx);
-
tx = cctx.tm().newTx(
false,
false,
http://git-wip-us.apache.org/repos/asf/ignite/blob/d5df41bd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
----------------------------------------------------------------------
diff --git 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
index 88752a2..cd9d09d 100644
--- 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
@@ -1306,7 +1306,7 @@ public abstract class IgniteTxAdapter extends GridMetadataAwareAdapter
for (T2<EntryProcessor<Object, Object, Object>, Object[]> t : txEntry.entryProcessors()) {
CacheInvokeEntry<Object, Object> invokeEntry = new CacheInvokeEntry(txEntry.context(),
- txEntry.key(), key, cacheVal, val, ver);
+ txEntry.key(), key, cacheVal, val, ver, txEntry.keepBinary());
try {
EntryProcessor<Object, Object, Object> processor = t.get1();
http://git-wip-us.apache.org/repos/asf/ignite/blob/d5df41bd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java
index 3c33d19..5ff6ada 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxEntry.java
@@ -54,6 +54,7 @@ import org.jetbrains.annotations.Nullable;
import static org.apache.ignite.internal.processors.cache.GridCacheOperation.READ;
import static org.apache.ignite.internal.processors.cache.GridCacheOperation.TRANSFORM;
+import static org.apache.ignite.internal.processors.cache.GridCacheUtils.KEEP_BINARY_FLAG_MASK;
import static org.apache.ignite.internal.processors.cache.GridCacheUtils.SKIP_STORE_FLAG_MASK;
/**
@@ -172,6 +173,7 @@ public class IgniteTxEntry implements GridPeerDeployAware, Message {
/**
* Additional flags.
* GridCacheUtils.SKIP_STORE_FLAG_MASK - for skipStore flag value.
+ * GridCacheUtils.KEEP_BINARY_FLAG_MASK - for withKeepBinary flag.
*/
private byte flags;
@@ -203,7 +205,9 @@ public class IgniteTxEntry implements GridPeerDeployAware, Message {
long conflictExpireTime,
GridCacheEntryEx entry,
@Nullable GridCacheVersion conflictVer,
- boolean skipStore) {
+ boolean skipStore,
+ boolean keepBinary
+ ) {
assert ctx != null;
assert tx != null;
assert op != null;
@@ -218,6 +222,7 @@ public class IgniteTxEntry implements GridPeerDeployAware, Message {
this.conflictVer = conflictVer;
skipStore(skipStore);
+ keepBinary(keepBinary);
key = entry.key();
@@ -249,7 +254,9 @@ public class IgniteTxEntry implements GridPeerDeployAware, Message {
GridCacheEntryEx entry,
CacheEntryPredicate[] filters,
GridCacheVersion conflictVer,
- boolean skipStore) {
+ boolean skipStore,
+ boolean keepBinary
+ ) {
assert ctx != null;
assert tx != null;
assert op != null;
@@ -264,6 +271,7 @@ public class IgniteTxEntry implements GridPeerDeployAware, Message {
this.conflictVer = conflictVer;
skipStore(skipStore);
+ keepBinary(keepBinary);
if (entryProcessor != null)
addEntryProcessor(entryProcessor, invokeArgs);
@@ -426,14 +434,50 @@ public class IgniteTxEntry implements GridPeerDeployAware, Message {
* @param skipStore Skip store flag.
*/
public void skipStore(boolean skipStore){
- flags = skipStore ? (byte)(flags | SKIP_STORE_FLAG_MASK) : (byte)(flags & ~SKIP_STORE_FLAG_MASK);
+ setFlag(skipStore, SKIP_STORE_FLAG_MASK);
}
/**
* @return Skip store flag.
*/
public boolean skipStore() {
- return (flags & SKIP_STORE_FLAG_MASK) == 1;
+ return isFlag(SKIP_STORE_FLAG_MASK);
+ }
+
+ /**
+ * Sets keep binary flag value.
+ *
+ * @param keepBinary Keep binary flag value.
+ */
+ public void keepBinary(boolean keepBinary) {
+ setFlag(keepBinary, KEEP_BINARY_FLAG_MASK);
+ }
+
+ /**
+ * @return Keep binary flag value.
+ */
+ public boolean keepBinary() {
+ return isFlag(KEEP_BINARY_FLAG_MASK);
+ }
+
+ /**
+ * Sets flag mask.
+ *
+ * @param flag Set or clear.
+ * @param mask Mask.
+ */
+ private void setFlag(boolean flag, int mask) {
+ flags = flag ? (byte)(flags | mask) : (byte)(flags & ~mask);
+ }
+
+ /**
+ * Reads flag mask.
+ *
+ * @param mask Mask to read.
+ * @return Flag value.
+ */
+ private boolean isFlag(int mask) {
+ return (flags & mask) != 0;
}
/**
@@ -606,7 +650,7 @@ public class IgniteTxEntry implements GridPeerDeployAware, Message {
for (T2<EntryProcessor<Object, Object, Object>, Object[]> t : entryProcessors()) {
try {
CacheInvokeEntry<Object, Object> invokeEntry = new CacheInvokeEntry(ctx, key, keyVal, cacheVal, val,
- ver);
+ ver, keepBinary());
EntryProcessor processor = t.get1();
http://git-wip-us.apache.org/repos/asf/ignite/blob/d5df41bd/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
index aa0ffe8..c5def9a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
@@ -214,8 +214,8 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
timeout,
invalidate,
storeEnabled,
- onePhaseCommit,
- txSize,
+ onePhaseCommit,
+ txSize,
subjId,
taskNameHash
);
@@ -634,8 +634,8 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
if (intercept) {
Object interceptorVal = cacheCtx.config().getInterceptor()
- .onBeforePut(new CacheLazyEntry(cacheCtx, key, e.cached().rawGetOrUnmarshal(true)),
- CU.value(val, cacheCtx, false));
+ .onBeforePut(new CacheLazyEntry(cacheCtx, key, e.cached().rawGetOrUnmarshal(true),
+ e.keepBinary()), CU.value(val, cacheCtx, false));
if (interceptorVal == null)
continue;
@@ -679,7 +679,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
if (intercept) {
IgniteBiTuple<Boolean, Object> t = cacheCtx.config().getInterceptor().onBeforeRemove(
- new CacheLazyEntry(cacheCtx, key, e.cached().rawGetOrUnmarshal(true)));
+ new CacheLazyEntry(cacheCtx, key, e.cached().rawGetOrUnmarshal(true), e.keepBinary()));
if (cacheCtx.cancelRemove(t))
continue;
@@ -924,6 +924,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
txEntry.ttl(),
evt,
metrics,
+ txEntry.keepBinary(),
topVer,
null,
cached.detached() ? DR_NONE : drType,
@@ -943,6 +944,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
txEntry.ttl(),
false,
metrics,
+ txEntry.keepBinary(),
topVer,
CU.empty0(),
DR_NONE,
@@ -960,6 +962,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
false,
evt,
metrics,
+ txEntry.keepBinary(),
topVer,
null,
cached.detached() ? DR_NONE : drType,
@@ -976,6 +979,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
false,
false,
metrics,
+ txEntry.keepBinary(),
topVer,
CU.empty0(),
DR_NONE,
@@ -1412,7 +1416,8 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
-1L,
-1L,
null,
- skipStore);
+ skipStore,
+ keepCacheObjects);
// As optimization, mark as checked immediately
// for non-pessimistic if value is not null.
@@ -1445,7 +1450,8 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
-1L,
-1L,
null,
- skipStore);
+ skipStore,
+ keepCacheObjects);
// Mark as checked immediately for non-pessimistic.
if (val != null && !pessimistic())
@@ -2112,7 +2118,8 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
Collection<KeyCacheObject> enlisted,
@Nullable Map<KeyCacheObject, GridCacheDrInfo> drPutMap,
@Nullable Map<KeyCacheObject, GridCacheVersion> drRmvMap,
- boolean skipStore
+ boolean skipStore,
+ boolean keepBinary
) {
assert cached == null || keys.size() == 1;
assert cached == null || F.first(keys).equals(cached.key());
@@ -2261,7 +2268,8 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
-1L,
-1L,
null,
- skipStore);
+ skipStore,
+ keepBinary);
txEntry.markValid();
}
@@ -2286,7 +2294,8 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
drTtl,
drExpireTime,
drVer,
- skipStore);
+ skipStore,
+ keepBinary);
if (!implicit() && readCommitted() && !cacheCtx.offheapTiered())
cacheCtx.evicts().touch(entry, topologyVersion());
@@ -2392,7 +2401,8 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
drTtl,
drExpireTime,
drVer,
- skipStore);
+ skipStore,
+ keepBinary);
enlisted.add(cacheKey);
@@ -2675,7 +2685,8 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
for (T2<EntryProcessor<Object, Object, Object>, Object[]> t : txEntry.entryProcessors()) {
CacheInvokeEntry<Object, Object> invokeEntry =
- new CacheInvokeEntry(txEntry.context(), txEntry.key(), key0, cacheVal, val0, ver);
+ new CacheInvokeEntry(txEntry.context(), txEntry.key(), key0, cacheVal, val0, ver,
+ txEntry.keepBinary());
EntryProcessor<Object, Object, ?> entryProcessor = t.get1();
@@ -2819,7 +2830,8 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
enlisted,
drMap,
null,
- opCtx != null && opCtx.skipStore());
+ opCtx != null && opCtx.skipStore(),
+ opCtx != null && opCtx.isKeepPortable());
if (pessimistic()) {
// Loose all skipped.
@@ -3048,7 +3060,8 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
enlisted,
null,
drMap,
- opCtx != null && opCtx.skipStore()
+ opCtx != null && opCtx.skipStore(),
+ opCtx != null && opCtx.isKeepPortable()
);
if (log.isDebugEnabled())
@@ -3296,7 +3309,9 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
long drTtl,
long drExpireTime,
@Nullable GridCacheVersion drVer,
- boolean skipStore) {
+ boolean skipStore,
+ boolean keepBinary
+ ) {
assert invokeArgs == null || op == TRANSFORM;
IgniteTxKey key = entry.txKey();
@@ -3366,7 +3381,8 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter
entry,
filter,
drVer,
- skipStore);
+ skipStore,
+ keepBinary);
txEntry.conflictExpireTime(drExpireTime);
http://git-wip-us.apache.org/repos/asf/ignite/blob/d5df41bd/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 6254605..e3a02cb 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -44,6 +44,7 @@ import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocketFactory;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteAuthenticationException;
+import org.apache.ignite.IgniteCache;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
import org.apache.ignite.IgniteLogger;
@@ -59,6 +60,7 @@ import org.apache.ignite.internal.util.typedef.internal.LT;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
+import org.apache.ignite.lang.IgniteCallable;
import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.lang.IgniteProductVersion;
import org.apache.ignite.lang.IgniteUuid;
http://git-wip-us.apache.org/repos/asf/ignite/blob/d5df41bd/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java
index 1fef4d5..db02f9d 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java
@@ -455,6 +455,7 @@ public class GridCacheTestEntryEx extends GridMetadataAwareAdapter implements Gr
long ttl,
boolean evt,
boolean metrics,
+ boolean keepPortable,
AffinityTopologyVersion topVer,
CacheEntryPredicate[] filter, GridDrType drType,
long drExpireTime, @Nullable GridCacheVersion drVer, UUID subjId, String taskName) throws IgniteCheckedException,
@@ -471,6 +472,7 @@ public class GridCacheTestEntryEx extends GridMetadataAwareAdapter implements Gr
boolean writeThrough,
boolean readThrough,
boolean retval,
+ boolean keepPortable,
@Nullable ExpiryPolicy expiryPlc,
boolean evt,
boolean metrics,
@@ -493,6 +495,7 @@ public class GridCacheTestEntryEx extends GridMetadataAwareAdapter implements Gr
boolean writeThrough,
boolean readThrough,
boolean retval,
+ boolean keepPortable,
@Nullable IgniteCacheExpiryPolicy expiryPlc,
boolean evt,
boolean metrics,
@@ -523,6 +526,7 @@ public class GridCacheTestEntryEx extends GridMetadataAwareAdapter implements Gr
boolean retval,
boolean evt,
boolean metrics,
+ boolean keepPortable,
AffinityTopologyVersion topVer,
CacheEntryPredicate[] filter,
GridDrType drType,
http://git-wip-us.apache.org/repos/asf/ignite/blob/d5df41bd/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCachePortableObjectsAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCachePortableObjectsAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCachePortableObjectsAbstractSelfTest.java
index 7ac8712..5213d21 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCachePortableObjectsAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/portable/GridCachePortableObjectsAbstractSelfTest.java
@@ -381,8 +381,11 @@ public abstract class GridCachePortableObjectsAbstractSelfTest extends GridCommo
for (int i = 0; i < ENTRY_CNT; i++) {
cacheAsync.get(i);
+
TestObject obj = cacheAsync.<TestObject>future().get();
+ assertNotNull(obj);
+
assertEquals(i, obj.val);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/d5df41bd/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
----------------------------------------------------------------------
diff --git 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
index acfe3b6..8c5e713 100644
--- 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
@@ -570,6 +570,11 @@ public abstract class GridIndexingSpiAbstractSelfTest extends GridCommonAbstract
}
/** {@inheritDoc} */
+ @Override public boolean isPlatformType() {
+ throw new UnsupportedOperationException();
+ }
+
+ /** {@inheritDoc} */
@Override public CacheObject prepareForCache(CacheObjectContext ctx) {
throw new UnsupportedOperationException();
}