Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-459 5030b16f4 -> 1921e75a2


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/aa989909/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerAliveCacheSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerAliveCacheSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerAliveCacheSelfTest.java
index 7de6405..5b9b11b 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerAliveCacheSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerAliveCacheSelfTest.java
@@ -22,6 +22,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.affinity.*;
 import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.lang.*;
@@ -172,14 +173,14 @@ public class GridDiscoveryManagerAliveCacheSelfTest 
extends GridCommonAbstractTe
             long currVer = discoMgr.topologyVersion();
 
             for (long v = currVer; v > currVer - 
GridDiscoveryManager.DISCOVERY_HISTORY_SIZE && v > 0; v--) {
-                F.forAll(discoMgr.aliveCacheNodes(null, v),
+                F.forAll(discoMgr.aliveCacheNodes(null, new 
AffinityTopologyVersion(v)),
                     new IgnitePredicate<ClusterNode>() {
                         @Override public boolean apply(ClusterNode e) {
                             return currTop.contains(e);
                         }
                     });
 
-                F.forAll(discoMgr.aliveRemoteCacheNodes(null, v),
+                F.forAll(discoMgr.aliveRemoteCacheNodes(null, new 
AffinityTopologyVersion(v)),
                     new IgnitePredicate<ClusterNode>() {
                         @Override public boolean apply(ClusterNode e) {
                             return currTop.contains(e) || 
g.cluster().localNode().equals(e);
@@ -187,7 +188,7 @@ public class GridDiscoveryManagerAliveCacheSelfTest extends 
GridCommonAbstractTe
                     });
 
                 assertTrue(
-                    
currTop.contains(GridCacheUtils.oldest(k.internalCache().context(), currVer)));
+                    
currTop.contains(GridCacheUtils.oldest(k.internalCache().context(), new 
AffinityTopologyVersion(currVer))));
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/aa989909/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerSelfTest.java
index b3da9fc..2fd4b29 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManagerSelfTest.java
@@ -21,6 +21,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cache.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.affinity.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.spi.discovery.tcp.*;
@@ -92,38 +93,45 @@ public class GridDiscoveryManagerSelfTest extends 
GridCommonAbstractTest {
     public void testHasNearCache() throws Exception {
         IgniteKernal g0 = (IgniteKernal)startGrid(0); // PARTITIONED_ONLY 
cache.
 
-        assertFalse(g0.context().discovery().hasNearCache(CACHE_NAME, 0));
-        assertFalse(g0.context().discovery().hasNearCache(null, 0));
+        AffinityTopologyVersion zero = new AffinityTopologyVersion(0);
+        AffinityTopologyVersion one = new AffinityTopologyVersion(1);
+        AffinityTopologyVersion two = new AffinityTopologyVersion(2);
+        AffinityTopologyVersion three = new AffinityTopologyVersion(3);
+        AffinityTopologyVersion four = new AffinityTopologyVersion(4);
+        AffinityTopologyVersion five = new AffinityTopologyVersion(5);
 
-        assertFalse(g0.context().discovery().hasNearCache(CACHE_NAME, 1));
-        assertFalse(g0.context().discovery().hasNearCache(null, 1));
+        assertFalse(g0.context().discovery().hasNearCache(CACHE_NAME, zero));
+        assertFalse(g0.context().discovery().hasNearCache(null, zero));
+
+        assertFalse(g0.context().discovery().hasNearCache(CACHE_NAME, one));
+        assertFalse(g0.context().discovery().hasNearCache(null, one));
 
         IgniteKernal g1 = (IgniteKernal)startGrid(1); // NEAR_ONLY cache.
 
-        assertFalse(g0.context().discovery().hasNearCache(CACHE_NAME, 1));
-        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, 2));
-        assertFalse(g0.context().discovery().hasNearCache(null, 1));
-        assertTrue(g0.context().discovery().hasNearCache(null, 2));
+        assertFalse(g0.context().discovery().hasNearCache(CACHE_NAME, one));
+        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, two));
+        assertFalse(g0.context().discovery().hasNearCache(null, one));
+        assertTrue(g0.context().discovery().hasNearCache(null, two));
 
-        assertTrue(g1.context().discovery().hasNearCache(CACHE_NAME, 2));
-        assertTrue(g1.context().discovery().hasNearCache(null, 2));
+        assertTrue(g1.context().discovery().hasNearCache(CACHE_NAME, two));
+        assertTrue(g1.context().discovery().hasNearCache(null, two));
 
         IgniteKernal g2 = (IgniteKernal)startGrid(2); // NEAR_PARTITIONED 
cache.
 
-        assertFalse(g0.context().discovery().hasNearCache(CACHE_NAME, 1));
-        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, 2));
-        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, 3));
-        assertFalse(g0.context().discovery().hasNearCache(null, 1));
-        assertTrue(g0.context().discovery().hasNearCache(null, 2));
-        assertTrue(g0.context().discovery().hasNearCache(null, 3));
+        assertFalse(g0.context().discovery().hasNearCache(CACHE_NAME, one));
+        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, two));
+        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, three));
+        assertFalse(g0.context().discovery().hasNearCache(null, one));
+        assertTrue(g0.context().discovery().hasNearCache(null, two));
+        assertTrue(g0.context().discovery().hasNearCache(null, three));
 
-        assertTrue(g1.context().discovery().hasNearCache(CACHE_NAME, 2));
-        assertTrue(g1.context().discovery().hasNearCache(CACHE_NAME, 3));
-        assertTrue(g1.context().discovery().hasNearCache(null, 2));
-        assertTrue(g1.context().discovery().hasNearCache(null, 3));
+        assertTrue(g1.context().discovery().hasNearCache(CACHE_NAME, two));
+        assertTrue(g1.context().discovery().hasNearCache(CACHE_NAME, three));
+        assertTrue(g1.context().discovery().hasNearCache(null, two));
+        assertTrue(g1.context().discovery().hasNearCache(null, three));
 
-        assertTrue(g2.context().discovery().hasNearCache(CACHE_NAME, 3));
-        assertTrue(g2.context().discovery().hasNearCache(null, 3));
+        assertTrue(g2.context().discovery().hasNearCache(CACHE_NAME, three));
+        assertTrue(g2.context().discovery().hasNearCache(null, three));
 
         stopGrid(1);
 
@@ -141,19 +149,19 @@ public class GridDiscoveryManagerSelfTest extends 
GridCommonAbstractTest {
             Thread.sleep(1000);
         }
 
-        assertFalse(g0.context().discovery().hasNearCache(CACHE_NAME, 1));
-        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, 2));
-        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, 3));
-        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, 4));
-        assertFalse(g0.context().discovery().hasNearCache(null, 1));
-        assertTrue(g0.context().discovery().hasNearCache(null, 2));
-        assertTrue(g0.context().discovery().hasNearCache(null, 3));
-        assertTrue(g0.context().discovery().hasNearCache(null, 4));
+        assertFalse(g0.context().discovery().hasNearCache(CACHE_NAME, one));
+        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, two));
+        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, three));
+        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, four));
+        assertFalse(g0.context().discovery().hasNearCache(null, one));
+        assertTrue(g0.context().discovery().hasNearCache(null, two));
+        assertTrue(g0.context().discovery().hasNearCache(null, three));
+        assertTrue(g0.context().discovery().hasNearCache(null, four));
 
-        assertTrue(g2.context().discovery().hasNearCache(CACHE_NAME, 3));
-        assertTrue(g2.context().discovery().hasNearCache(CACHE_NAME, 4));
-        assertTrue(g2.context().discovery().hasNearCache(null, 3));
-        assertTrue(g2.context().discovery().hasNearCache(null, 4));
+        assertTrue(g2.context().discovery().hasNearCache(CACHE_NAME, three));
+        assertTrue(g2.context().discovery().hasNearCache(CACHE_NAME, four));
+        assertTrue(g2.context().discovery().hasNearCache(null, three));
+        assertTrue(g2.context().discovery().hasNearCache(null, four));
 
         stopGrid(2);
 
@@ -171,16 +179,16 @@ public class GridDiscoveryManagerSelfTest extends 
GridCommonAbstractTest {
             Thread.sleep(1000);
         }
 
-        assertFalse(g0.context().discovery().hasNearCache(CACHE_NAME, 1));
-        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, 2));
-        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, 3));
-        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, 4));
-        assertFalse(g0.context().discovery().hasNearCache(CACHE_NAME, 5));
-
-        assertFalse(g0.context().discovery().hasNearCache(null, 1));
-        assertTrue(g0.context().discovery().hasNearCache(null, 2));
-        assertTrue(g0.context().discovery().hasNearCache(null, 3));
-        assertTrue(g0.context().discovery().hasNearCache(null, 4));
-        assertFalse(g0.context().discovery().hasNearCache(null, 5));
+        assertFalse(g0.context().discovery().hasNearCache(CACHE_NAME, one));
+        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, two));
+        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, three));
+        assertTrue(g0.context().discovery().hasNearCache(CACHE_NAME, four));
+        assertFalse(g0.context().discovery().hasNearCache(CACHE_NAME, five));
+
+        assertFalse(g0.context().discovery().hasNearCache(null, one));
+        assertTrue(g0.context().discovery().hasNearCache(null, two));
+        assertTrue(g0.context().discovery().hasNearCache(null, three));
+        assertTrue(g0.context().discovery().hasNearCache(null, four));
+        assertFalse(g0.context().discovery().hasNearCache(null, five));
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/aa989909/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/HadoopContext.java
----------------------------------------------------------------------
diff --git 
a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/HadoopContext.java
 
b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/HadoopContext.java
index 68f0baf..a7d0225 100644
--- 
a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/HadoopContext.java
+++ 
b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/HadoopContext.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.processors.hadoop;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.affinity.*;
 import org.apache.ignite.internal.processors.hadoop.jobtracker.*;
 import org.apache.ignite.internal.processors.hadoop.shuffle.*;
 import org.apache.ignite.internal.processors.hadoop.taskexecutor.*;
@@ -118,7 +119,8 @@ public class HadoopContext {
      * @return Hadoop-enabled nodes.
      */
     public Collection<ClusterNode> nodes() {
-        return ctx.discovery().cacheNodes(CU.SYS_CACHE_HADOOP_MR, 
ctx.discovery().topologyVersion());
+        return ctx.discovery().cacheNodes(CU.SYS_CACHE_HADOOP_MR,
+            new AffinityTopologyVersion(ctx.discovery().topologyVersion()));
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/aa989909/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index 62c84f0..ffe0b1a 100644
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@ -293,6 +293,19 @@ public class IgniteH2Indexing implements GridQueryIndexing 
{
     }
 
     /**
+     * Creates DB schema if it has not been created yet.
+     *
+     * @param schema Schema name.
+     * @throws IgniteCheckedException If failed to create db schema.
+     */
+    private void dropSchemaIfExists(String schema) throws 
IgniteCheckedException {
+        executeStatement("DROP SCHEMA IF EXISTS \"" + schema + '"');
+
+        if (log.isDebugEnabled())
+            log.debug("Dropped H2 schema for index database: " + schema);
+    }
+
+    /**
      * @param sql SQL statement.
      * @throws IgniteCheckedException If failed.
      */
@@ -1287,6 +1300,21 @@ public class IgniteH2Indexing implements 
GridQueryIndexing {
             };
     }
 
+    /** {@inheritDoc} */
+    @Override public void onCacheStarted(GridCacheContext ctx) throws 
IgniteCheckedException {
+        if (registerSpace(ctx.name()))
+            createSchemaIfAbsent(schema(ctx.name()));
+    }
+
+    /** {@inheritDoc} */
+    @Override public void onCacheStopped(GridCacheContext ctx) throws 
IgniteCheckedException {
+        if (unregisterSpace(ctx.name())) {
+            dropSchemaIfExists(schema(ctx.name()));
+
+            schemas.remove(schema(ctx.name()));
+        }
+    }
+
     /**
      * Runs initial script.
      *
@@ -1476,9 +1504,18 @@ public class IgniteH2Indexing implements 
GridQueryIndexing {
 
     /**
      * @param spaceName Space name.
+     * @return {@code True} if space was added by this call.
+     */
+    public boolean registerSpace(String spaceName) {
+        return schemaNames.add(schema(spaceName));
+    }
+
+    /**
+     * @param spaceName Space name.
+     * @return {@code True} if space was removed by this call.
      */
-    public void registerSpace(String spaceName) {
-        schemaNames.add(schema(spaceName));
+    public boolean unregisterSpace(String spaceName) {
+        return schemaNames.remove(schema(spaceName));
     }
 
     /**

Reply via email to