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 2017/02/03 14:47:13 UTC

[1/6] ignite git commit: ignite-db-x small fix, add print more info for investigation

Repository: ignite
Updated Branches:
  refs/heads/ignite-3477 bac9b690e -> 1f86c05be


ignite-db-x small fix, add print more info for investigation


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

Branch: refs/heads/ignite-3477
Commit: 16f64d1feadbfe7ced01c6f989a58aa6ddfa6523
Parents: f2f5dc9
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Thu Feb 2 12:04:26 2017 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Thu Feb 2 12:04:26 2017 +0300

----------------------------------------------------------------------
 .../distributed/dht/preloader/GridDhtPartitionDemander.java  | 1 -
 .../cache/query/continuous/CacheContinuousQueryHandler.java  | 2 ++
 .../java/org/apache/ignite/internal/util/IgniteUtils.java    | 3 +++
 .../rebalancing/GridCacheRebalancingSyncSelfTest.java        | 8 ++++----
 .../processors/continuous/GridEventConsumeSelfTest.java      | 3 ++-
 5 files changed, 11 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/16f64d1f/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 04a9d1a..6bd218b 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
@@ -513,7 +513,6 @@ public class GridDhtPartitionDemander {
                             // New requests will not be covered by failovers.
                             cctx.io().sendOrderedMessage(node,
                                 rebalanceTopics.get(cnt), initD, cctx.ioPolicy(), initD.timeout());
-
                         }
 
                         if (log.isDebugEnabled())

http://git-wip-us.apache.org/repos/asf/ignite/blob/16f64d1f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
index ea5551d..41eec6a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
@@ -448,6 +448,8 @@ public class CacheContinuousQueryHandler<K, V> implements GridContinuousHandler
             }
 
             @Override public void flushBackupQueue(GridKernalContext ctx, AffinityTopologyVersion topVer) {
+                assert topVer != null;
+
                 Collection<CacheContinuousQueryEntry> backupQueue0 = backupQueue;
 
                 if (backupQueue0 == null)

http://git-wip-us.apache.org/repos/asf/ignite/blob/16f64d1f/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index 1be9f75..389d058 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -7586,6 +7586,9 @@ public abstract class IgniteUtils {
             return fut.get();
         }
         catch (ExecutionException e) {
+            //todo only for investigation
+            e.printStackTrace();
+
             throw new IgniteCheckedException(e.getCause());
         }
         catch (InterruptedException e) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/16f64d1f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/rebalancing/GridCacheRebalancingSyncSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/rebalancing/GridCacheRebalancingSyncSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/rebalancing/GridCacheRebalancingSyncSelfTest.java
index 3dfcd85..f875b75 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/rebalancing/GridCacheRebalancingSyncSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/rebalancing/GridCacheRebalancingSyncSelfTest.java
@@ -240,7 +240,7 @@ public class GridCacheRebalancingSyncSelfTest extends GridCommonAbstractTest {
         waitForRebalancing(0, new AffinityTopologyVersion(2, waitMinorVer));
         waitForRebalancing(1, new AffinityTopologyVersion(2, waitMinorVer));
 
-        awaitPartitionMapExchange(true, true, null);
+        awaitPartitionMapExchange(true, true, null, true);
 
         checkPartitionMapExchangeFinished();
 
@@ -250,7 +250,7 @@ public class GridCacheRebalancingSyncSelfTest extends GridCommonAbstractTest {
 
         waitForRebalancing(1, 3);
 
-        awaitPartitionMapExchange(true, true, null);
+        awaitPartitionMapExchange(true, true, null, true);
 
         checkPartitionMapExchangeFinished();
 
@@ -261,7 +261,7 @@ public class GridCacheRebalancingSyncSelfTest extends GridCommonAbstractTest {
         waitForRebalancing(1, new AffinityTopologyVersion(4, waitMinorVer));
         waitForRebalancing(2, new AffinityTopologyVersion(4, waitMinorVer));
 
-        awaitPartitionMapExchange(true, true, null);
+        awaitPartitionMapExchange(true, true, null, true);
 
         checkPartitionMapExchangeFinished();
 
@@ -271,7 +271,7 @@ public class GridCacheRebalancingSyncSelfTest extends GridCommonAbstractTest {
 
         waitForRebalancing(1, 5);
 
-        awaitPartitionMapExchange(true, true, null);
+        awaitPartitionMapExchange(true, true, null, true);
 
         checkPartitionMapExchangeFinished();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/16f64d1f/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
index 91eecbb..d2abf11 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/continuous/GridEventConsumeSelfTest.java
@@ -24,6 +24,7 @@ import java.util.Random;
 import java.util.UUID;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentSkipListSet;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -423,7 +424,7 @@ public class GridEventConsumeSelfTest extends GridCommonAbstractTest {
      * @throws Exception If failed.
      */
     public void testRemoteProjection() throws Exception {
-        final Collection<UUID> nodeIds = new HashSet<>();
+        final Collection<UUID> nodeIds = new ConcurrentSkipListSet<>();
         final AtomicInteger cnt = new AtomicInteger();
         final CountDownLatch latch = new CountDownLatch(GRID_CNT - 1);
 


[2/6] ignite git commit: ignite-db-x fix IgniteCachePartitionLossPolicySelfTest, batch reset partition

Posted by ag...@apache.org.
ignite-db-x fix IgniteCachePartitionLossPolicySelfTest, batch reset partition


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

Branch: refs/heads/ignite-3477
Commit: a70dc00e1b699a9ad2959dd127241ec4371c0a1c
Parents: 16f64d1
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Thu Feb 2 18:26:45 2017 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Thu Feb 2 18:26:45 2017 +0300

----------------------------------------------------------------------
 .../src/main/java/org/apache/ignite/Ignite.java |  5 +++
 .../java/org/apache/ignite/IgniteCache.java     |  6 ---
 .../apache/ignite/internal/IgniteKernal.java    | 15 +++++++
 .../processors/cache/GridCacheProcessor.java    | 44 +++++++++++++++-----
 .../processors/cache/IgniteCacheProxy.java      | 26 ------------
 .../GridDhtPartitionsExchangeFuture.java        | 41 +++++++++++-------
 .../IgniteCachePartitionLossPolicySelfTest.java | 14 +++----
 .../processors/igfs/IgfsIgniteMock.java         |  5 +++
 .../ignite/testframework/junits/IgniteMock.java |  5 +++
 .../multijvm/IgniteCacheProcessProxy.java       |  5 ---
 .../junits/multijvm/IgniteProcessProxy.java     |  5 +++
 11 files changed, 102 insertions(+), 69 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/a70dc00e/modules/core/src/main/java/org/apache/ignite/Ignite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/Ignite.java b/modules/core/src/main/java/org/apache/ignite/Ignite.java
index 54512a3..408a797 100644
--- a/modules/core/src/main/java/org/apache/ignite/Ignite.java
+++ b/modules/core/src/main/java/org/apache/ignite/Ignite.java
@@ -612,4 +612,9 @@ public interface Ignite extends AutoCloseable {
      * @param active If {@code True} start activation process. If {@code False} start deactivation process.
      */
     public void active(boolean active);
+
+    /**
+     * Clears partition's lost state and moves caches to a normal mode.
+     */
+    public void resetLostPartitions(Collection<String> cacheNames);
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/a70dc00e/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
index eca61ab..412e08d 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
@@ -933,10 +933,4 @@ public interface IgniteCache<K, V> extends javax.cache.Cache<K, V>, IgniteAsyncS
      * @return Lost paritions.
      */
     public Collection<Integer> lostPartitions();
-
-    /**
-     * Clears partition's lost state and moves cache to a normal mode.
-     */
-    @IgniteAsyncSupported
-    public void resetLostPartitions();
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/a70dc00e/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index c11b770..ad10f7e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -3226,6 +3226,21 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
     }
 
     /** {@inheritDoc} */
+    @Override public void resetLostPartitions(Collection<String> cacheNames) {
+        guard();
+
+        try {
+            ctx.cache().resetCacheState(cacheNames).get();
+        }
+        catch (IgniteCheckedException e) {
+            throw U.convertException(e);
+        }
+        finally {
+            unguard();
+        }
+    }
+
+    /** {@inheritDoc} */
     @Nullable @Override public IgniteAtomicSequence atomicSequence(String name, long initVal, boolean create) {
         guard();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/a70dc00e/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 57b0d84..542a18c 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
@@ -2570,22 +2570,43 @@ public class GridCacheProcessor extends GridProcessorAdapter {
     /**
      * Resets cache state after the cache has been moved to recovery state.
      *
-     * @param cacheName Cache name.
-     * @return Future that will be completed when state is changed.
+     * @param cacheNames Cache names.
+     * @return Future that will be completed when state is changed for all caches.
      */
-    public IgniteInternalFuture<?> resetCacheState(String cacheName) {
-        IgniteCacheProxy<?, ?> proxy = jCacheProxies.get(maskNull(cacheName));
+    public IgniteInternalFuture<?> resetCacheState(Collection<String> cacheNames) {
+        checkEmptyTransactions();
 
-        if (proxy == null || proxy.proxyClosed())
-            return new GridFinishedFuture<>(); // No-op.
+        if (F.isEmpty(cacheNames))
+            cacheNames = registeredCaches.keySet();
 
-        checkEmptyTransactions();
+        Collection<DynamicCacheChangeRequest> reqs = new ArrayList<>(cacheNames.size());
 
-        DynamicCacheChangeRequest t = new DynamicCacheChangeRequest(UUID.randomUUID(), cacheName, ctx.localNodeId());
+        for (String cacheName : cacheNames) {
+            DynamicCacheDescriptor desc = registeredCaches.get(cacheName);
 
-        t.markResetLostPartitions();
+            if (desc == null) {
+                log.warning("Reset lost partition will not be executed, " +
+                    "because cache with name:" + cacheName + " doesn't not exist");
 
-        return F.first(initiateCacheChanges(F.asList(t), false));
+                continue;
+            }
+
+            DynamicCacheChangeRequest req = new DynamicCacheChangeRequest(
+                UUID.randomUUID(), cacheName, ctx.localNodeId());
+
+            req.markResetLostPartitions();
+
+            reqs.add(req);
+        }
+
+        GridCompoundFuture fut = new GridCompoundFuture();
+
+        for (DynamicCacheStartFuture f : initiateCacheChanges(reqs, false))
+            fut.add(f);
+
+        fut.markInitialized();
+
+        return fut;
     }
 
     /**
@@ -2690,7 +2711,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
      */
     @SuppressWarnings("TypeMayBeWeakened")
     private Collection<DynamicCacheStartFuture> initiateCacheChanges(
-        Collection<DynamicCacheChangeRequest> reqs, boolean failIfExists
+        Collection<DynamicCacheChangeRequest> reqs,
+        boolean failIfExists
     ) {
         Collection<DynamicCacheStartFuture> res = new ArrayList<>(reqs.size());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/a70dc00e/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 dd92309..03cbbf7 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
@@ -2307,32 +2307,6 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
     }
 
     /** {@inheritDoc} */
-    @Override public void resetLostPartitions() {
-        GridCacheGateway<K, V> gate = this.gate;
-
-        CacheOperationContext prev = onEnter(gate, opCtx);
-
-        try {
-            IgniteInternalFuture<?> fut = ctx.kernalContext().cache().resetCacheState(getName());
-
-            if (isAsync())
-                setFuture(fut);
-            else {
-                try {
-                    fut.get();
-                }
-                catch (IgniteCheckedException e) {
-                    throw CU.convertToCacheException(e);
-                }
-            }
-        }
-        finally {
-            onLeave(gate, prev);
-        }
-
-    }
-
-    /** {@inheritDoc} */
     @Override public void writeExternal(ObjectOutput out) throws IOException {
         out.writeObject(ctx);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/a70dc00e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index 75fd3e2..af0085d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -1041,6 +1041,21 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
      * @throws IgniteCheckedException If failed.
      */
     private void sendLocalPartitions(ClusterNode node) throws IgniteCheckedException {
+        assert node != null;
+
+        // Reset lost partition before send local partition to coordinator.
+        if (!F.isEmpty(reqs)) {
+            Set<String> caches = new HashSet<>();
+
+            for (DynamicCacheChangeRequest req : reqs) {
+                if (req.resetLostPartitions())
+                    caches.add(req.cacheName());
+            }
+
+            if (!F.isEmpty(caches))
+                resetLostPartitions(caches);
+        }
+
         GridDhtPartitionsSingleMessage m = cctx.exchange().createPartitionsSingleMessage(
             node, exchangeId(), clientOnlyExchange, true);
 
@@ -1141,17 +1156,10 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
                 }
             }
 
-            if (!F.isEmpty(reqs)) {
-                for (DynamicCacheChangeRequest req : reqs) {
-                    if (req.resetLostPartitions()) {
-                        resetLostPartitions();
-
-                        break;
-                    }
-                }
-            }
-
-            detectLostPartitions();
+            if (discoEvt.type() == EVT_NODE_LEFT ||
+                discoEvt.type() == EVT_NODE_FAILED ||
+                discoEvt.type() == EVT_NODE_JOINED)
+                detectLostPartitions();
 
             Map<Integer, CacheValidation> m = new HashMap<>(cctx.cacheContexts().size());
 
@@ -1514,13 +1522,13 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
     /**
      *
      */
-    private void resetLostPartitions() {
+    private void resetLostPartitions(Collection<String> cacheNames) {
         synchronized (cctx.exchange().interruptLock()) {
             if (Thread.currentThread().isInterrupted())
                 return;
 
             for (GridCacheContext cacheCtx : cctx.cacheContexts()) {
-                if (!cacheCtx.isLocal())
+                if (!cacheCtx.isLocal() && cacheNames.contains(cacheCtx.name()))
                     cacheCtx.topology().resetLostPartitions();
             }
         }
@@ -1551,12 +1559,17 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
                     DynamicCacheChangeBatch batch = (DynamicCacheChangeBatch)((DiscoveryCustomEvent)discoEvt)
                         .customMessage();
 
+                    Set<String> caches = new HashSet<>();
+
                     for (DynamicCacheChangeRequest req : batch.requests()) {
                         if (req.resetLostPartitions())
-                            resetLostPartitions();
+                            caches.add(req.cacheName());
                         else if (req.globalStateChange() && req.state() != ClusterState.INACTIVE)
                             assignPartitionsStates();
                     }
+
+                    if (!F.isEmpty(caches))
+                        resetLostPartitions(caches);
                 }
             }
             else if (discoEvt.type() == EVT_NODE_LEFT || discoEvt.type() == EVT_NODE_FAILED)

http://git-wip-us.apache.org/repos/asf/ignite/blob/a70dc00e/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java
index 5951ba3..480dc20 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCachePartitionLossPolicySelfTest.java
@@ -17,6 +17,12 @@
 
 package org.apache.ignite.internal.processors.cache.distributed;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.UUID;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+import javax.cache.CacheException;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.cache.PartitionLossPolicy;
@@ -38,12 +44,6 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.apache.ignite.util.TestTcpCommunicationSpi;
 
-import javax.cache.CacheException;
-import java.util.Collection;
-import java.util.UUID;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
 import static org.apache.ignite.cache.CacheMode.PARTITIONED;
 import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
 
@@ -200,7 +200,7 @@ public class IgniteCachePartitionLossPolicySelfTest extends GridCommonAbstractTe
         for (Ignite ig : G.allGrids())
             verifyCacheOps(canWrite, safe, part, ig);
 
-        ignite(0).cache(CACHE_NAME).resetLostPartitions();
+        ignite(0).resetLostPartitions(Collections.singletonList(CACHE_NAME));
 
         awaitPartitionMapExchange(true, true, null);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/a70dc00e/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsIgniteMock.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsIgniteMock.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsIgniteMock.java
index 027072b..2a522fa 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsIgniteMock.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsIgniteMock.java
@@ -523,6 +523,11 @@ public class IgfsIgniteMock implements IgniteEx {
         throwUnsupported();
     }
 
+    /** {@inheritDoc} */
+    @Override public void resetLostPartitions(Collection<String> cacheNames) {
+        throwUnsupported();
+    }
+
     /**
      * Throw {@link UnsupportedOperationException}.
      */

http://git-wip-us.apache.org/repos/asf/ignite/blob/a70dc00e/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
index 772abcf..bf3f17e 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java
@@ -431,6 +431,11 @@ public class IgniteMock implements Ignite {
         // No-op.
     }
 
+    /** {@inheritDoc} */
+    @Override public void resetLostPartitions(Collection<String> cacheNames) {
+        // No-op.
+    }
+
     /**
      * @param staticCfg Configuration.
      */

http://git-wip-us.apache.org/repos/asf/ignite/blob/a70dc00e/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java
index 1b1d14e..df60bf1 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java
@@ -509,11 +509,6 @@ public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
         throw new UnsupportedOperationException("Method should be supported.");
     }
 
-    /** {@inheritDoc} */
-    @Override public void resetLostPartitions() {
-        throw new UnsupportedOperationException("Method should be supported.");
-    }
-
     /**
      *
      */

http://git-wip-us.apache.org/repos/asf/ignite/blob/a70dc00e/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
index 15a520a..05a72e3 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
@@ -624,6 +624,11 @@ public class IgniteProcessProxy implements IgniteEx {
     }
 
     /** {@inheritDoc} */
+    @Override public void resetLostPartitions(Collection<String> cacheNames) {
+        throw new UnsupportedOperationException("Operation isn't supported yet.");
+    }
+
+    /** {@inheritDoc} */
     @Override public void close() throws IgniteException {
         final CountDownLatch rmtNodeStoppedLatch = new CountDownLatch(1);
 


[4/6] ignite git commit: ignite-db-x fix testSimpleRebalancing

Posted by ag...@apache.org.
ignite-db-x fix testSimpleRebalancing


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

Branch: refs/heads/ignite-3477
Commit: 98b35ff347d0245024ca52ea128c34bb7f9279bb
Parents: 8a6736e
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Fri Feb 3 16:24:23 2017 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Fri Feb 3 16:24:23 2017 +0300

----------------------------------------------------------------------
 .../dht/GridDhtPartitionTopologyImpl.java       |  2 +-
 .../junits/common/GridCommonAbstractTest.java   | 52 ++++++++++++++------
 2 files changed, 38 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/98b35ff3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
----------------------------------------------------------------------
diff --git 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
index 5be1d86..322bbe3 100644
--- 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
@@ -835,7 +835,7 @@ class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
         for (int i = 0; i < locParts.length(); i++) {
             GridDhtLocalPartition part = locParts.get(i);
 
-            if (part != null)
+            if (part != null && part.state().active())
                 list.add(part);
         }
         return list;

http://git-wip-us.apache.org/repos/asf/ignite/blob/98b35ff3/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
index 48189f7..80ee6b9 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
@@ -707,17 +707,18 @@ public abstract class GridCommonAbstractTest extends GridAbstractTest {
 
     /**
      * @param c Cache proxy.
-     *
-     * Print partitionState for cache.
      */
     protected void printPartitionState(IgniteCache<?, ?> c) {
-        IgniteCacheProxy<?, ?> cache = (IgniteCacheProxy<?, ?>)c;
-
-        CacheConfiguration cfg = cache.context().config();
-
-        if (cfg == null)
-            return;
+        printPartitionState(c.getConfiguration(CacheConfiguration.class).getName(),0);
+    }
 
+    /**
+     * @param cacheName Cache name.
+     * @param firstParts Count partition for print (will be print first count partition).
+     *
+     * Print partitionState for cache.
+     */
+    protected void printPartitionState(String cacheName, int firstParts) {
         StringBuilder sb = new StringBuilder();
 
         sb.append("----preload sync futures----\n");
@@ -725,7 +726,7 @@ public abstract class GridCommonAbstractTest extends GridAbstractTest {
         for (Ignite ig : G.allGrids()) {
             IgniteKernal k = ((IgniteKernal)ig);
 
-            IgniteInternalFuture<?> syncFut = k.internalCache(cfg.getName())
+            IgniteInternalFuture<?> syncFut = k.internalCache(cacheName)
                 .preloader()
                 .syncFuture();
 
@@ -741,7 +742,7 @@ public abstract class GridCommonAbstractTest extends GridAbstractTest {
         for (Ignite ig : G.allGrids()) {
             IgniteKernal k = ((IgniteKernal)ig);
 
-            IgniteInternalFuture<?> f = k.internalCache(cfg.getName())
+            IgniteInternalFuture<?> f = k.internalCache(cacheName)
                 .preloader()
                 .rebalanceFuture();
 
@@ -782,9 +783,26 @@ public abstract class GridCommonAbstractTest extends GridAbstractTest {
                 .append(" grid=").append(g0.name())
                 .append("\n");
 
-            GridDhtPartitionTopology top = dht(cache).topology();
+            IgniteCacheProxy<?, ?> cache = g0.context().cache().jcache(cacheName);
+
+            GridDhtCacheAdapter<?, ?> dht = dht(cache);
+
+            GridDhtPartitionTopology top = dht.topology();
+
+            int parts = firstParts == 0 ? cache.context()
+                .config()
+                .getAffinity()
+                .partitions() : firstParts;
+
+            for (int p = 0; p < parts; p++) {
+                AffinityTopologyVersion readyVer = dht.context().shared().exchange().readyAffinityVersion();
+
+                Collection<UUID> affNodes = F.nodeIds(dht.context()
+                    .affinity()
+                    .assignment(readyVer)
+                    .idealAssignment()
+                    .get(p));
 
-            for (int p = 0; p < cfg.getAffinity().partitions(); p++) {
                 GridDhtLocalPartition part = top.localPartition(p, AffinityTopologyVersion.NONE, false);
 
                 sb.append("local part=");
@@ -794,16 +812,20 @@ public abstract class GridCommonAbstractTest extends GridAbstractTest {
                 else
                     sb.append(p).append(" is null");
 
-                sb.append("\n");
+                sb.append(" isAffNode=")
+                    .append(affNodes.contains(g0.localNode().id()))
+                    .append("\n");
 
                 for (UUID nodeId : F.nodeIds(g0.context().discovery().allNodes())) {
                     if (!nodeId.equals(g0.localNode().id()))
-                        sb.append(" nodeId = ")
+                        sb.append(" nodeId=")
                             .append(nodeId)
                             .append(" part=")
                             .append(p)
                             .append(" state=")
                             .append(top.partitionState(nodeId, p))
+                            .append(" isAffNode=")
+                            .append(affNodes.contains(nodeId))
                             .append("\n");
                 }
             }
@@ -811,7 +833,7 @@ public abstract class GridCommonAbstractTest extends GridAbstractTest {
             sb.append("\n");
         }
 
-        log.info("dump partitions state for <" + cfg.getName() + ">:\n" + sb.toString());
+        log.info("dump partitions state for <" + cacheName + ">:\n" + sb.toString());
     }
 
     /**


[5/6] ignite git commit: ignite-db-x update odbc test

Posted by ag...@apache.org.
ignite-db-x update odbc test


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

Branch: refs/heads/ignite-3477
Commit: 112472304501ab2b4ae91b92ee134ffd7cabc113
Parents: 98b35ff
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Fri Feb 3 16:40:19 2017 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Fri Feb 3 16:40:19 2017 +0300

----------------------------------------------------------------------
 .../processors/odbc/OdbcProcessorValidationSelfTest.java         | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/11247230/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcProcessorValidationSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcProcessorValidationSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcProcessorValidationSelfTest.java
index 2cf0c8f..694fe65 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcProcessorValidationSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/odbc/OdbcProcessorValidationSelfTest.java
@@ -167,11 +167,11 @@ public class OdbcProcessorValidationSelfTest extends GridCommonAbstractTest {
         cfg.setDiscoverySpi(spi);
 
         if (success)
-            Ignition.start(cfg);
+            startGrid(cfg.getGridName(), cfg);
         else {
             GridTestUtils.assertThrows(log, new Callable<Void>() {
                 @Override public Void call() throws Exception {
-                    Ignition.start(cfg);
+                    startGrid(cfg.getGridName(), cfg);
 
                     return null;
                 }


[6/6] ignite git commit: Merge branch 'ignite-db-x' of https://github.com/gridgain/apache-ignite into ignite-db-x

Posted by ag...@apache.org.
Merge branch 'ignite-db-x' of https://github.com/gridgain/apache-ignite into ignite-db-x


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

Branch: refs/heads/ignite-3477
Commit: 1f86c05be9ed6db1b1ea1b3de021a6c782fab0be
Parents: bac9b69 1124723
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Fri Feb 3 17:46:41 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Fri Feb 3 17:46:41 2017 +0300

----------------------------------------------------------------------
 .../src/main/java/org/apache/ignite/Ignite.java |  5 ++
 .../java/org/apache/ignite/IgniteCache.java     |  6 ---
 .../apache/ignite/internal/IgniteKernal.java    | 15 ++++++
 .../processors/cache/GridCacheProcessor.java    | 44 ++++++++++++-----
 .../processors/cache/IgniteCacheProxy.java      | 26 ----------
 .../dht/GridDhtPartitionTopologyImpl.java       |  2 +-
 .../dht/preloader/GridDhtPartitionDemander.java |  1 -
 .../GridDhtPartitionsExchangeFuture.java        | 41 +++++++++------
 .../continuous/CacheContinuousQueryHandler.java |  2 +
 .../ignite/internal/util/IgniteUtils.java       |  3 ++
 .../IgniteCachePartitionLossPolicySelfTest.java | 14 +++---
 .../GridCacheRebalancingSyncSelfTest.java       |  8 +--
 .../continuous/GridEventConsumeSelfTest.java    |  3 +-
 .../processors/igfs/IgfsIgniteMock.java         |  5 ++
 .../odbc/OdbcProcessorValidationSelfTest.java   |  4 +-
 .../ignite/testframework/junits/IgniteMock.java |  5 ++
 .../junits/common/GridCommonAbstractTest.java   | 52 ++++++++++++++------
 .../multijvm/IgniteCacheProcessProxy.java       |  5 --
 .../junits/multijvm/IgniteProcessProxy.java     |  5 ++
 .../org/apache/ignite/IgniteSpringBean.java     |  7 +++
 20 files changed, 160 insertions(+), 93 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/1f86c05b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------


[3/6] ignite git commit: ignite-db-x compile err fix resetLostPartitions

Posted by ag...@apache.org.
ignite-db-x compile err fix resetLostPartitions


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

Branch: refs/heads/ignite-3477
Commit: 8a6736e64dd42917cf385e45043e536e53841278
Parents: a70dc00
Author: Dmitriy Govorukhin <dg...@gridgain.com>
Authored: Fri Feb 3 13:53:13 2017 +0300
Committer: Dmitriy Govorukhin <dg...@gridgain.com>
Committed: Fri Feb 3 13:53:13 2017 +0300

----------------------------------------------------------------------
 .../ignite/internal/processors/cache/GridCacheProcessor.java  | 2 +-
 .../src/main/java/org/apache/ignite/IgniteSpringBean.java     | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/8a6736e6/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 542a18c..987d696 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
@@ -2582,7 +2582,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
         Collection<DynamicCacheChangeRequest> reqs = new ArrayList<>(cacheNames.size());
 
         for (String cacheName : cacheNames) {
-            DynamicCacheDescriptor desc = registeredCaches.get(cacheName);
+            DynamicCacheDescriptor desc = registeredCaches.get(maskNull(cacheName));
 
             if (desc == null) {
                 log.warning("Reset lost partition will not be executed, " +

http://git-wip-us.apache.org/repos/asf/ignite/blob/8a6736e6/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java
----------------------------------------------------------------------
diff --git a/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java b/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java
index c5c1ad1..fc45a25 100644
--- a/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java
+++ b/modules/spring/src/main/java/org/apache/ignite/IgniteSpringBean.java
@@ -265,6 +265,13 @@ public class IgniteSpringBean implements Ignite, DisposableBean, InitializingBea
     }
 
     /** {@inheritDoc} */
+    @Override public void resetLostPartitions(Collection<String> cacheNames) {
+        checkIgnite();
+
+        g.resetLostPartitions(cacheNames);
+    }
+
+    /** {@inheritDoc} */
     @Override public <K, V> IgniteCache<K, V> cache(@Nullable String name) {
         checkIgnite();