ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From anovi...@apache.org
Subject [17/32] ignite git commit: ignite-1.5 Should not wait on preloader sync future for system caches callbacks.
Date Wed, 02 Dec 2015 03:07:46 GMT
ignite-1.5 Should not wait on preloader sync future for system caches callbacks.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3492deae
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3492deae
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3492deae

Branch: refs/heads/ignite-843-rc2
Commit: 3492deaec670f9870c58cdf608cf77282d184f00
Parents: f5e9918
Author: sboikov <sboikov@gridgain.com>
Authored: Tue Dec 1 12:15:55 2015 +0300
Committer: sboikov <sboikov@gridgain.com>
Committed: Tue Dec 1 12:19:14 2015 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/internal/IgnitionEx.java  |  4 +--
 .../CacheDefaultBinaryAffinityKeyMapper.java    | 19 +++++++---
 .../processors/cache/GridCacheAdapter.java      |  8 +----
 .../processors/cache/GridCacheContext.java      | 37 ++++++++++++--------
 .../GridCacheDefaultAffinityKeyMapper.java      |  9 ++++-
 .../processors/cache/GridCacheMapEntry.java     |  6 +++-
 .../GridCachePartitionExchangeManager.java      | 23 ++++--------
 .../processors/cache/GridCachePreloader.java    |  5 +++
 .../cache/GridCachePreloaderAdapter.java        |  7 +++-
 .../processors/cache/GridCacheProcessor.java    | 14 +++++---
 .../processors/cache/GridCacheProxyImpl.java    | 12 +++++++
 .../processors/cache/IgniteCacheProxy.java      | 24 +++++++++++++
 .../processors/cache/IgniteInternalCache.java   |  9 +++++
 .../dht/atomic/GridDhtAtomicCache.java          |  4 +--
 .../dht/preloader/GridDhtPartitionDemander.java | 17 +++++----
 .../dht/preloader/GridDhtPreloader.java         | 27 ++++++++++++++
 .../CacheObjectBinaryProcessorImpl.java         |  7 +++-
 .../cache/transactions/IgniteTxHandler.java     |  2 +-
 .../communication/tcp/TcpCommunicationSpi.java  |  6 ++--
 .../CachePutEventListenerErrorSelfTest.java     | 35 ++++++++++--------
 .../cache/GridCacheClearSelfTest.java           |  9 +++--
 ...eAbstractDataStructuresFailoverSelfTest.java | 32 +++++++++++------
 ...ObjectsCacheDataStructuresSelfTestSuite.java |  4 +++
 ...BinaryObjectsCacheExpiryPolicyTestSuite.java |  4 +++
 ...gniteBinaryObjectsCacheRestartTestSuite.java |  4 +++
 .../IgniteBinaryObjectsCacheTestSuite2.java     |  4 +++
 .../IgniteBinaryObjectsCacheTestSuite3.java     |  4 +++
 .../IgniteBinaryObjectsCacheTestSuite4.java     |  4 +++
 ...IgniteBinaryObjectsComputeGridTestSuite.java |  4 +++
 .../IgnitePortableCacheTestSuite.java           |  1 -
 30 files changed, 250 insertions(+), 95 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index 889b25c..be06f85 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -2057,7 +2057,7 @@ public class IgnitionEx {
             cache.setWriteSynchronizationMode(FULL_SYNC);
             cache.setAffinity(new RendezvousAffinityFunction(false, 100));
             cache.setNodeFilter(CacheConfiguration.ALL_NODES);
-            cache.setRebalanceOrder(-1);//Prior to user caches.
+            cache.setRebalanceOrder(-2); //Prior to user caches.
 
             return cache;
         }
@@ -2078,7 +2078,7 @@ public class IgnitionEx {
             ccfg.setWriteSynchronizationMode(FULL_SYNC);
             ccfg.setCacheMode(cfg.getCacheMode());
             ccfg.setNodeFilter(CacheConfiguration.ALL_NODES);
-            ccfg.setRebalanceOrder(-1);//Prior to user caches.
+            ccfg.setRebalanceOrder(-1); //Prior to user caches.
 
             if (cfg.getCacheMode() == PARTITIONED)
                 ccfg.setBackups(cfg.getBackups());

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheDefaultBinaryAffinityKeyMapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheDefaultBinaryAffinityKeyMapper.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheDefaultBinaryAffinityKeyMapper.java
index efd38f7..d244a16 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheDefaultBinaryAffinityKeyMapper.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheDefaultBinaryAffinityKeyMapper.java
@@ -17,6 +17,7 @@
 
 package org.apache.ignite.internal.processors.cache;
 
+import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.internal.IgniteKernal;
 import org.apache.ignite.internal.processors.cache.portable.CacheObjectBinaryProcessorImpl;
@@ -30,12 +31,11 @@ public class CacheDefaultBinaryAffinityKeyMapper extends GridCacheDefaultAffinit
     /** */
     private static final long serialVersionUID = 0L;
 
+    /** */
+    private CacheObjectBinaryProcessorImpl proc;
+
     /** {@inheritDoc} */
     @Override public Object affinityKey(Object key) {
-        IgniteKernal kernal = (IgniteKernal)ignite;
-
-        CacheObjectBinaryProcessorImpl proc = (CacheObjectBinaryProcessorImpl)kernal.context().cacheObjects();
-
         try {
             key = proc.toPortable(key);
         }
@@ -48,4 +48,15 @@ public class CacheDefaultBinaryAffinityKeyMapper extends GridCacheDefaultAffinit
         else
             return super.affinityKey(key);
     }
+
+    /** {@inheritDoc} */
+    @Override public void ignite(Ignite ignite) {
+        super.ignite(ignite);
+
+        if (ignite != null) {
+            IgniteKernal kernal = (IgniteKernal)ignite;
+
+            proc = (CacheObjectBinaryProcessorImpl)kernal.context().cacheObjects();
+        }
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index b5b8690..f96954e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -1288,13 +1288,7 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
         });
     }
 
-    /**
-     * Gets value without waiting for toplogy changes.
-     *
-     * @param key Key.
-     * @return Value.
-     * @throws IgniteCheckedException If failed.
-     */
+    /** {@inheritDoc} */
     public V getTopologySafe(K key) throws IgniteCheckedException {
         String taskName = ctx.kernalContext().job().currentTaskName();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
index 6e5f958..5b4f22c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
@@ -239,6 +239,9 @@ public class GridCacheContext<K, V> implements Externalizable {
     /** Deployment enabled flag for this specific cache */
     private boolean depEnabled;
 
+    /** */
+    private boolean deferredDelete;
+
     /**
      * Empty constructor required for {@link Externalizable}.
      */
@@ -506,6 +509,9 @@ public class GridCacheContext<K, V> implements Externalizable {
      */
     public void cache(GridCacheAdapter<K, V> cache) {
         this.cache = cache;
+
+        deferredDelete = cache.isDht() || cache.isDhtAtomic() || cache.isColocated() ||
+            (cache.isNear() && cache.configuration().getAtomicityMode() == ATOMIC);
     }
 
     /**
@@ -568,21 +574,7 @@ public class GridCacheContext<K, V> implements Externalizable {
      * @return {@code True} if entries should not be deleted from cache immediately.
      */
     public boolean deferredDelete() {
-        GridCacheAdapter<K, V> cache = this.cache;
-
-        if (cache == null)
-            throw new IllegalStateException("Cache stopped: " + cacheName);
-
-        return deferredDelete(cache);
-    }
-
-    /**
-     * @param cache Cache.
-     * @return {@code True} if entries should not be deleted from cache immediately.
-     */
-    public boolean deferredDelete(GridCacheAdapter<?, ?> cache) {
-        return cache.isDht() || cache.isDhtAtomic() || cache.isColocated() ||
-            (cache.isNear() && cache.configuration().getAtomicityMode() == ATOMIC);
+        return deferredDelete;
     }
 
     /**
@@ -1752,6 +1744,7 @@ public class GridCacheContext<K, V> implements Externalizable {
      *
      * @param o Object to unwrap.
      * @param keepPortable Keep portable flag.
+     * @param cpy Copy value flag.
      * @return Unwrapped object.
      */
     public Object unwrapPortableIfNeeded(Object o, boolean keepPortable, boolean cpy) {
@@ -1770,6 +1763,8 @@ public class GridCacheContext<K, V> implements Externalizable {
      * @return Cache object.
      */
     @Nullable public CacheObject toCacheObject(@Nullable Object obj) {
+        assert validObjectForCache(obj) : obj;
+
         return cacheObjects().toCacheObject(cacheObjCtx, obj, true);
     }
 
@@ -1778,10 +1773,22 @@ public class GridCacheContext<K, V> implements Externalizable {
      * @return Cache key object.
      */
     public KeyCacheObject toCacheKeyObject(Object obj) {
+        assert validObjectForCache(obj) : obj;
+
         return cacheObjects().toCacheKeyObject(cacheObjCtx, obj, true);
     }
 
     /**
+     * @param obj Object.
+     * @return {@code False} if objects is not expected for cache.
+     */
+    private boolean validObjectForCache(Object obj) {
+        return obj == null ||
+            !CU.isUtilityCache(cacheName) ||
+            ctx.marshallerContext().isSystemType(obj.getClass().getName());
+    }
+
+    /**
      * @param bytes Bytes.
      * @return Cache key object.
      * @throws IgniteCheckedException If failed.

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDefaultAffinityKeyMapper.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
index 6c5a8dc..5422bbd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDefaultAffinityKeyMapper.java
@@ -51,7 +51,6 @@ public class GridCacheDefaultAffinityKeyMapper implements AffinityKeyMapper {
     private static final long serialVersionUID = 0L;
 
     /** Injected ignite instance. */
-    @IgniteInstanceResource
     protected transient Ignite ignite;
 
     /** Reflection cache. */
@@ -120,6 +119,14 @@ public class GridCacheDefaultAffinityKeyMapper implements AffinityKeyMapper {
         return key;
     }
 
+    /**
+     * @param ignite Ignite.
+     */
+    @IgniteInstanceResource
+    public void ignite(Ignite ignite) {
+        this.ignite = ignite;
+    }
+
     /** {@inheritDoc} */
     @Override public void reset() {
         // No-op.

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
index e1f2ade..aa06a24 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
@@ -1546,7 +1546,11 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
                     if (expiryPlc != null && !readFromStore && !cctx.putIfAbsentFilter(filter) && hasValueUnlocked())
                         updateTtl(expiryPlc);
 
-                    return new T3<>(false, retval ? CU.value(old, cctx, false) : null, null);
+                    Object val = retval ?
+                        cctx.cacheObjectContext().unwrapPortableIfNeeded(CU.value(old, cctx, false), keepBinary, false)
+                        : null;
+
+                    return new T3<>(false, val, null);
                 }
             }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
index 875a4e8..b13a5af 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
@@ -592,18 +592,6 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
     }
 
     /**
-     * Gets maximum node version for the given topology version.
-     *
-     * @param topVer Topology version to get maximum node version for.
-     * @return Maximum node version.
-     */
-    public IgniteProductVersion maximumNodeVersion(AffinityTopologyVersion topVer) {
-        IgnitePair<IgniteProductVersion> vers = nodeVers.get(topVer);
-
-        return vers == null ? cctx.localNode().version() : vers.get2();
-    }
-
-    /**
      * @return {@code true} if entered to busy state.
      */
     private boolean enterBusy() {
@@ -759,7 +747,10 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
                 GridDhtPartitionFullMap locMap = cacheCtx.topology().partitionMap(true);
 
                 if (useOldApi) {
-                    locMap = new GridDhtPartitionFullMap(locMap.nodeId(), locMap.nodeOrder(), locMap.updateSequence(), locMap);
+                    locMap = new GridDhtPartitionFullMap(locMap.nodeId(),
+                        locMap.nodeOrder(),
+                        locMap.updateSequence(),
+                        locMap);
                 }
 
                 m.addFullPartitionsMap(cacheCtx.cacheId(), locMap);
@@ -1137,9 +1128,8 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
 
         dumpPendingObjects();
 
-        for (GridCacheContext cacheCtx : cctx.cacheContexts()) {
+        for (GridCacheContext cacheCtx : cctx.cacheContexts())
             cacheCtx.preloader().dumpDebugInfo();
-        }
     }
 
     /**
@@ -1405,9 +1395,8 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
                                 List<String> waitList = new ArrayList<>(size - 1);
 
                                 for (List<Integer> cIds : orderMap.headMap(order).values()) {
-                                    for (Integer cId : cIds) {
+                                    for (Integer cId : cIds)
                                         waitList.add(cctx.cacheContext(cId).name());
-                                    }
                                 }
 
                                 Callable<Boolean> r = cacheCtx.preloader().addAssignments(

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloader.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloader.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloader.java
index 1658a89..8e1164b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloader.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloader.java
@@ -143,6 +143,11 @@ public interface GridCachePreloader {
     public IgniteInternalFuture<Object> request(Collection<KeyCacheObject> keys, AffinityTopologyVersion topVer);
 
     /**
+     * @return Future completed when rebalance on node start topology finished.
+     */
+    public IgniteInternalFuture<?> initialRebalanceFuture();
+
+    /**
      * Force preload process.
      */
     public void forcePreload();

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloaderAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloaderAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloaderAdapter.java
index 9c0e9f7..a1704fc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloaderAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePreloaderAdapter.java
@@ -119,7 +119,12 @@ public class GridCachePreloaderAdapter implements GridCachePreloader {
 
     /** {@inheritDoc} */
     @Override public IgniteInternalFuture<Boolean> rebalanceFuture() {
-        return new GridFinishedFuture<>(true);
+        return finFut;
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteInternalFuture<?> initialRebalanceFuture() {
+        return finFut;
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git 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
index 6654a15..e53f186 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
@@ -796,7 +796,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
         if (!ctx.config().isDaemon())
             ctx.marshallerContext().onMarshallerCacheStarted(ctx);
 
-        marshallerCache().context().preloader().syncFuture().listen(new CIX1<IgniteInternalFuture<?>>() {
+        marshallerCache().context().preloader().initialRebalanceFuture().listen(new CIX1<IgniteInternalFuture<?>>() {
             @Override public void applyx(IgniteInternalFuture<?> f) throws IgniteCheckedException {
                 ctx.marshallerContext().onMarshallerCachePreloaded(ctx);
             }
@@ -817,10 +817,16 @@ public class GridCacheProcessor extends GridProcessorAdapter {
                 if (cfg.getRebalanceMode() == SYNC) {
                     if (cfg.getCacheMode() == REPLICATED ||
                         (cfg.getCacheMode() == PARTITIONED && cfg.getRebalanceDelay() >= 0)) {
-                        cache.preloader().syncFuture().get();
+                        boolean utilityCache = CU.isUtilityCache(cache.name());
 
-                        if (CU.isUtilityCache(cache.name()))
-                            ctx.cacheObjects().onUtilityCacheStarted();
+                        if (utilityCache || CU.isMarshallerCache(cache.name())) {
+                            cache.preloader().initialRebalanceFuture().get();
+
+                            if (utilityCache)
+                                ctx.cacheObjects().onUtilityCacheStarted();
+                        }
+                        else
+                            cache.preloader().syncFuture().get();
                     }
                 }
             }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
index e82c422..68e70c3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProxyImpl.java
@@ -304,6 +304,18 @@ public class GridCacheProxyImpl<K, V> implements IgniteInternalCache<K, V>, Exte
     }
 
     /** {@inheritDoc} */
+    @Override public V getTopologySafe(K key) throws IgniteCheckedException {
+        CacheOperationContext prev = gate.enter(opCtx);
+
+        try {
+            return delegate.getTopologySafe(key);
+        }
+        finally {
+            gate.leave(prev);
+        }
+    }
+
+    /** {@inheritDoc} */
     @Override public IgniteInternalFuture<V> getAsync(K key) {
         CacheOperationContext prev = gate.enter(opCtx);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
index 8a1cc3f..8fd4323 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
@@ -1954,6 +1954,30 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
         return new IgniteFutureImpl<>(ctx.preloader().syncFuture());
     }
 
+    /**
+     * Gets value without waiting for toplogy changes.
+     *
+     * @param key Key.
+     * @return Value.
+     */
+    public V getTopologySafe(K key) {
+        try {
+            GridCacheGateway<K, V> gate = this.gate;
+
+            CacheOperationContext prev = onEnter(gate, opCtx);
+
+            try {
+                return delegate.getTopologySafe(key);
+            }
+            finally {
+                onLeave(gate, prev);
+            }
+        }
+        catch (IgniteCheckedException e) {
+            throw cacheException(e);
+        }
+    }
+
     /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(IgniteCacheProxy.class, this);

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java
index 1055cf4..3150ea9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java
@@ -1854,4 +1854,13 @@ public interface IgniteInternalCache<K, V> extends Iterable<Cache.Entry<K, V>> {
      * @return Future to be completed whenever loading completes.
      */
     public IgniteInternalFuture<?> localLoadCacheAsync(@Nullable IgniteBiPredicate<K, V> p, @Nullable Object... args);
+
+    /**
+     * Gets value without waiting for toplogy changes.
+     *
+     * @param key Key.
+     * @return Value.
+     * @throws IgniteCheckedException If failed.
+     */
+    public V getTopologySafe(K key) throws IgniteCheckedException;
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index a49341b..d8ab62a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@ -1378,7 +1378,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
                 // Enqueue if necessary after locks release.
                 if (deleted != null) {
                     assert !deleted.isEmpty();
-                    assert ctx.deferredDelete(this) : this;
+                    assert ctx.deferredDelete() : this;
 
                     for (IgniteBiTuple<GridDhtCacheEntry, GridCacheVersion> e : deleted)
                         ctx.onDeferredDelete(e.get1(), e.get2());
@@ -2430,7 +2430,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
      */
     private void unlockEntries(Collection<GridDhtCacheEntry> locked, AffinityTopologyVersion topVer) {
         // Process deleted entries before locks release.
-        assert ctx.deferredDelete(this) : this;
+        assert ctx.deferredDelete() : this;
 
         // Entries to skip eviction manager notification for.
         // Enqueue entries while holding locks.

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
index 7ccb68e..20f12b6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
@@ -145,9 +145,8 @@ public class GridDhtPartitionDemander {
 
         Map<Integer, Object> tops = new HashMap<>();
 
-        for (int idx = 0; idx < cctx.gridConfig().getRebalanceThreadPoolSize(); idx++) {
+        for (int idx = 0; idx < cctx.gridConfig().getRebalanceThreadPoolSize(); idx++)
             tops.put(idx, GridCachePartitionExchangeManager.rebalanceTopic(idx));
-        }
 
         rebalanceTopics = tops;
     }
@@ -862,9 +861,8 @@ public class GridDhtPartitionDemander {
                 U.log(log, "Cancelled rebalancing from all nodes [cache=" + cctx.name()
                     + ", topology=" + topologyVersion());
 
-                for (UUID nodeId : remaining.keySet()) {
+                for (UUID nodeId : remaining.keySet())
                     cleanupRemoteContexts(nodeId);
-                }
 
                 remaining.clear();
 
@@ -959,9 +957,9 @@ public class GridDhtPartitionDemander {
                 Collection<Integer> parts = remaining.get(nodeId).get2();
 
                 if (parts != null) {
-                    boolean removed = parts.remove(p);
+                    boolean rmvd = parts.remove(p);
 
-                    assert removed;
+                    assert rmvd;
 
                     if (parts.isEmpty()) {
                         U.log(log, "Completed " + ((remaining.size() == 1 ? "(final) " : "") +
@@ -1039,6 +1037,11 @@ public class GridDhtPartitionDemander {
                 onDone(!cancelled);
             }
         }
+
+        /** {@inheritDoc} */
+        public String toString() {
+            return S.toString(RebalanceFuture.class, this);
+        }
     }
 
     /**
@@ -1109,10 +1112,12 @@ public class GridDhtPartitionDemander {
         /** Hide worker logger and use cache logger instead. */
         private IgniteLogger log = GridDhtPartitionDemander.this.log;
 
+        /** */
         private volatile RebalanceFuture fut;
 
         /**
          * @param id Worker ID.
+         * @param fut Rebalance future.
          */
         private DemandWorker(int id, RebalanceFuture fut) {
             assert id >= 0;

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
index 8e56c2d..3e3cee3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
@@ -107,6 +107,9 @@ public class GridDhtPreloader extends GridCachePreloaderAdapter {
     /** Start future. */
     private GridFutureAdapter<Object> startFut;
 
+    /** Future completed when rebalance on start topology finished. */
+    private final GridFutureAdapter<Object> initRebalanceFut;
+
     /** Busy lock to prevent activities from accessing exchanger while it's stopping. */
     private final ReadWriteLock busyLock = new ReentrantReadWriteLock();
 
@@ -155,6 +158,18 @@ public class GridDhtPreloader extends GridCachePreloaderAdapter {
                     for (GridDhtAssignmentFetchFuture fut : pendingAssignmentFetchFuts.values())
                         fut.onNodeLeft(e.eventNode().id());
                 }
+
+                if (!initRebalanceFut.isDone()) {
+                    startFut.listen(new CI1<IgniteInternalFuture<?>>() {
+                        @Override public void apply(IgniteInternalFuture<?> fut) {
+                            cctx.closures().runLocalSafe(new Runnable() {
+                                @Override public void run() {
+                                    initRebalanceFut.onDone();
+                                }
+                            });
+                        }
+                    });
+                }
             }
             finally {
                 leaveBusy();
@@ -171,6 +186,7 @@ public class GridDhtPreloader extends GridCachePreloaderAdapter {
         top = cctx.dht().topology();
 
         startFut = new GridFutureAdapter<>();
+        initRebalanceFut = new GridFutureAdapter<>();
     }
 
     /** {@inheritDoc} */
@@ -209,6 +225,12 @@ public class GridDhtPreloader extends GridCachePreloaderAdapter {
         supplier = new GridDhtPartitionSupplier(cctx);
         demander = new GridDhtPartitionDemander(cctx, demandLock);
 
+        demander.rebalanceFuture().listen(new CI1<IgniteInternalFuture<Boolean>>() {
+            @Override public void apply(IgniteInternalFuture<Boolean> fut) {
+                initRebalanceFut.onDone();
+            }
+        });
+
         supplier.start();
         demander.start();
 
@@ -456,6 +478,11 @@ public class GridDhtPreloader extends GridCachePreloaderAdapter {
         return cctx.kernalContext().clientNode() ? new GridFinishedFuture<>(true) : demander.rebalanceFuture();
     }
 
+    /** {@inheritDoc} */
+    @Override public IgniteInternalFuture<?> initialRebalanceFuture() {
+        return cctx.kernalContext().clientNode() ? new GridFinishedFuture<>(true) : initRebalanceFut;
+    }
+
     /**
      * @param topVer Requested topology version.
      * @param fut Future to add.

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
index 5b70f2a..220a45a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
@@ -503,7 +503,12 @@ public class CacheObjectBinaryProcessorImpl extends IgniteCacheObjectProcessorIm
             if (clientNode)
                 return clientMetaDataCache.get(typeId);
             else {
-                BinaryMetadata meta = metaDataCache.localPeek(new PortableMetadataKey(typeId));
+                PortableMetadataKey key = new PortableMetadataKey(typeId);
+
+                BinaryMetadata meta = metaDataCache.localPeek(key);
+
+                if (meta == null && !metaDataCache.context().preloader().syncFuture().isDone())
+                    meta = metaDataCache.getTopologySafe(key);
 
                 return meta != null ? meta.wrap(portableCtx) : null;
             }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
index 91ebfd3..b25baf8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
@@ -434,7 +434,7 @@ public class IgniteTxHandler {
                         tx0.setRollbackOnly(); // Just in case.
 
                         if (!X.hasCause(e, IgniteTxOptimisticCheckedException.class) &&
-                            !X.hasCause(e, IgniteFutureCancelledException.class))
+                            !X.hasCause(e, IgniteFutureCancelledException.class) && !ctx.kernalContext().isStopping())
                             U.error(log, "Failed to prepare DHT transaction: " + tx0, e);
                     }
                 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index 9f8bae3..e5885a6 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -2303,17 +2303,15 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
                     if (sockSndBuf > 0)
                         ch.socket().setSendBufferSize(sockSndBuf);
 
-                    GridNioRecoveryDescriptor recoveryDesc = recoveryDescriptor(node);
-
                     if (getSpiContext().node(node.id()) == null) {
-                        recoveryDesc.release();
-
                         U.closeQuiet(ch);
 
                         throw new ClusterTopologyCheckedException("Failed to send message " +
                             "(node left topology): " + node);
                     }
 
+                    GridNioRecoveryDescriptor recoveryDesc = recoveryDescriptor(node);
+
                     if (!recoveryDesc.reserve()) {
                         U.closeQuiet(ch);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CachePutEventListenerErrorSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CachePutEventListenerErrorSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CachePutEventListenerErrorSelfTest.java
index 0e0e521..bf8f615 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CachePutEventListenerErrorSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CachePutEventListenerErrorSelfTest.java
@@ -64,21 +64,26 @@ public class CachePutEventListenerErrorSelfTest extends GridCommonAbstractTest {
 
         Ignition.setClientMode(true);
 
-        Ignite ignite = startGrid("client");
-
-        ignite.events().remoteListen(
-            new IgniteBiPredicate<UUID, Event>() {
-                @Override public boolean apply(UUID uuid, Event evt) {
-                    return true;
-                }
-            },
-            new IgnitePredicate<Event>() {
-                @Override public boolean apply(Event evt) {
-                    throw new NoClassDefFoundError("XXX");
-                }
-            },
-            EventType.EVT_CACHE_OBJECT_PUT
-        );
+        try {
+            Ignite ignite = startGrid("client");
+
+            ignite.events().remoteListen(
+                new IgniteBiPredicate<UUID, Event>() {
+                    @Override public boolean apply(UUID uuid, Event evt) {
+                        return true;
+                    }
+                },
+                new IgnitePredicate<Event>() {
+                    @Override public boolean apply(Event evt) {
+                        throw new NoClassDefFoundError("XXX");
+                    }
+                },
+                EventType.EVT_CACHE_OBJECT_PUT
+            );
+        }
+        finally {
+            Ignition.setClientMode(false);
+        }
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearSelfTest.java
index 5e14f14..67316b4 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheClearSelfTest.java
@@ -61,8 +61,13 @@ public class GridCacheClearSelfTest extends GridCommonAbstractTest {
 
         Ignition.setClientMode(true);
 
-        startGrid("client1");
-        startGrid("client2");
+        try {
+            startGrid("client1");
+            startGrid("client2");
+        }
+        finally {
+            Ignition.setClientMode(false);
+        }
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java
index 4ee200b..2751de1 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAbstractDataStructuresFailoverSelfTest.java
@@ -446,6 +446,8 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
                                 String name = UUID.randomUUID().toString();
 
                                 try {
+                                    log.info("Start node: " + name);
+
                                     Ignite g = startGrid(name);
 
                                     assert g.semaphore(STRUCTURE_NAME, 10, false, false) != null;
@@ -502,6 +504,8 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
                                 String name = UUID.randomUUID().toString();
 
                                 try {
+                                    log.info("Start node: " + name);
+
                                     Ignite g = startGrid(name);
 
                                     final IgniteSemaphore sem = g.semaphore(STRUCTURE_NAME, TOP_CHANGE_CNT, true, true);
@@ -510,14 +514,12 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
 
                                     sem.acquire();
 
-                                    if (i == TOP_CHANGE_CNT - 1) {
+                                    if (i == TOP_CHANGE_CNT - 1)
                                         sem.release();
-                                    }
                                 }
                                 finally {
-                                    if (i != TOP_CHANGE_CNT - 1) {
+                                    if (i != TOP_CHANGE_CNT - 1)
                                         stopGrid(name);
-                                    }
                                 }
                             }
                         }
@@ -572,6 +574,8 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
 
                                         names.add(name);
 
+                                        log.info("Start node: " + name);
+
                                         Ignite g = startGrid(name);
 
                                         final IgniteSemaphore sem = g.semaphore(STRUCTURE_NAME, TOP_CHANGE_CNT, true, true);
@@ -580,9 +584,8 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
 
                                         sem.acquire();
 
-                                        if (i == TOP_CHANGE_CNT - 1) {
+                                        if (i == TOP_CHANGE_CNT - 1)
                                             sem.release();
-                                        }
                                     }
                                 }
                                 finally {
@@ -639,21 +642,20 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
                                 String name = UUID.randomUUID().toString();
 
                                 try {
+                                    log.info("Start node: " + name);
+
                                     Ignite g = startGrid(name);
 
                                     final IgniteSemaphore sem = g.semaphore(STRUCTURE_NAME, TOP_CHANGE_CNT, true, true);
 
                                     assertNotNull(sem);
 
-                                    if (i != 1) {
+                                    if (i != 1)
                                         sem.acquire();
-                                    }
-
                                 }
                                 finally {
-                                    if (i != 1) {
+                                    if (i != 1)
                                         stopGrid(name);
-                                    }
                                 }
                             }
 
@@ -846,6 +848,8 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
                 int id = idx.getAndIncrement();
 
                 try {
+                    log.info("Start node: " + id);
+
                     startGrid(id);
 
                     Thread.sleep(1000);
@@ -1008,6 +1012,8 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
                             String name = UUID.randomUUID().toString();
 
                             try {
+                                log.info("Start node: " + name);
+
                                 Ignite g = startGrid(name);
 
                                 callback.apply(g);
@@ -1055,6 +1061,8 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
 
                                     String name = UUID.randomUUID().toString();
 
+                                    log.info("Start node: " + name);
+
                                     Ignite g = startGrid(name);
 
                                     names.add(name);
@@ -1144,6 +1152,8 @@ public abstract class GridCacheAbstractDataStructuresFailoverSelfTest extends Ig
 
                                 startedNodes.add(name);
 
+                                log.info("Start node: " + name);
+
                                 Ignite g = startGrid(name);
 
                                 callback.apply(g);

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheDataStructuresSelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheDataStructuresSelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheDataStructuresSelfTestSuite.java
index 1a77518..d18e3e3 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheDataStructuresSelfTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheDataStructuresSelfTestSuite.java
@@ -25,6 +25,10 @@ import org.apache.ignite.testframework.config.GridTestProperties;
  *
  */
 public class IgniteBinaryObjectsCacheDataStructuresSelfTestSuite {
+    /**
+     * @return Test suite.
+     * @throws Exception If failed.
+     */
     public static TestSuite suite() throws Exception {
         GridTestProperties.setProperty(GridTestProperties.MARSH_CLASS_NAME, BinaryMarshaller.class.getName());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheExpiryPolicyTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheExpiryPolicyTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheExpiryPolicyTestSuite.java
index b5bd4de..8391c54 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheExpiryPolicyTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheExpiryPolicyTestSuite.java
@@ -26,6 +26,10 @@ import org.apache.ignite.testframework.config.GridTestProperties;
  *
  */
 public class IgniteBinaryObjectsCacheExpiryPolicyTestSuite {
+    /**
+     * @return Test suite.
+     * @throws Exception If failed.
+     */
     public static TestSuite suite() throws Exception {
         GridTestProperties.setProperty(GridTestProperties.MARSH_CLASS_NAME, BinaryMarshaller.class.getName());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheRestartTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheRestartTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheRestartTestSuite.java
index 0ef9446..a739188 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheRestartTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheRestartTestSuite.java
@@ -25,6 +25,10 @@ import org.apache.ignite.testframework.config.GridTestProperties;
  *
  */
 public class IgniteBinaryObjectsCacheRestartTestSuite {
+    /**
+     * @return Test suite.
+     * @throws Exception If failed.
+     */
     public static TestSuite suite() throws Exception {
         GridTestProperties.setProperty(GridTestProperties.MARSH_CLASS_NAME, BinaryMarshaller.class.getName());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite2.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite2.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite2.java
index e8064e7..e5fa314 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite2.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite2.java
@@ -25,6 +25,10 @@ import org.apache.ignite.testframework.config.GridTestProperties;
  *
  */
 public class IgniteBinaryObjectsCacheTestSuite2 {
+    /**
+     * @return Test suite.
+     * @throws Exception If failed.
+     */
     public static TestSuite suite() throws Exception {
         GridTestProperties.setProperty(GridTestProperties.MARSH_CLASS_NAME, BinaryMarshaller.class.getName());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite3.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite3.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite3.java
index 736a862..2778c97 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite3.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite3.java
@@ -25,6 +25,10 @@ import org.apache.ignite.testframework.config.GridTestProperties;
  *
  */
 public class IgniteBinaryObjectsCacheTestSuite3 {
+    /**
+     * @return Test suite.
+     * @throws Exception If failed.
+     */
     public static TestSuite suite() throws Exception {
         GridTestProperties.setProperty(GridTestProperties.MARSH_CLASS_NAME, BinaryMarshaller.class.getName());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite4.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite4.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite4.java
index 4f88e0a..74c8e61 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite4.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsCacheTestSuite4.java
@@ -25,6 +25,10 @@ import org.apache.ignite.testframework.config.GridTestProperties;
  *
  */
 public class IgniteBinaryObjectsCacheTestSuite4 {
+    /**
+     * @return Test suite.
+     * @throws Exception If failed.
+     */
     public static TestSuite suite() throws Exception {
         GridTestProperties.setProperty(GridTestProperties.MARSH_CLASS_NAME, BinaryMarshaller.class.getName());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsComputeGridTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsComputeGridTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsComputeGridTestSuite.java
index 878f59f..a53187c 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsComputeGridTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsComputeGridTestSuite.java
@@ -25,6 +25,10 @@ import org.apache.ignite.testframework.config.GridTestProperties;
  *
  */
 public class IgniteBinaryObjectsComputeGridTestSuite {
+    /**
+     * @return Test suite.
+     * @throws Exception If failed.
+     */
     public static TestSuite suite() throws Exception {
         GridTestProperties.setProperty(GridTestProperties.MARSH_CLASS_NAME, BinaryMarshaller.class.getName());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/3492deae/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePortableCacheTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePortableCacheTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePortableCacheTestSuite.java
index 6e34a98..574ddeb 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePortableCacheTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgnitePortableCacheTestSuite.java
@@ -76,7 +76,6 @@ public class IgnitePortableCacheTestSuite extends TestSuite {
         ignoredTests.add(GridCacheMvccSelfTest.class);
 
         suite.addTest(IgniteCacheTestSuite.suite(ignoredTests));
-        suite.addTest(IgniteCacheExpiryPolicyTestSuite.suite());
 
         suite.addTestSuite(GridCacheMemoryModePortableSelfTest.class);
         suite.addTestSuite(GridCacheOffHeapTieredEvictionAtomicPortableSelfTest.class);


Mime
View raw message