Repository: ignite
Updated Branches:
  refs/heads/ignite-5075-pds e1fd618a5 -> 19dc82377


ignite-5075-pds


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

Branch: refs/heads/ignite-5075-pds
Commit: 19dc82377f029e1ae3f35ab71e714be5b8586f11
Parents: e1fd618
Author: sboikov <[email protected]>
Authored: Thu Jun 1 19:35:27 2017 +0300
Committer: sboikov <[email protected]>
Committed: Thu Jun 1 19:35:27 2017 +0300

----------------------------------------------------------------------
 .../GridCacheDatabaseSharedManager.java         |   2 +-
 ...IgnitePersistentStoreDataStructuresTest.java | 205 +++++++++++++++++++
 .../ignite/testsuites/IgnitePdsTestSuite2.java  |   5 +-
 3 files changed, 210 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/19dc8237/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
----------------------------------------------------------------------
diff --git 
a/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
 
b/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
index 1d50964..1b36451 100755
--- 
a/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
+++ 
b/modules/pds/src/main/java/org/apache/ignite/internal/processors/cache/database/GridCacheDatabaseSharedManager.java
@@ -512,7 +512,7 @@ public class GridCacheDatabaseSharedManager extends 
IgniteCacheDatabaseSharedMan
 
     /** {@inheritDoc} */
     @Override public void onCacheStop(GridCacheContext cctx) {
-        snapshotMgr.onCacheStop(cctx); // TODO IGNITE-5075.
+        snapshotMgr.onCacheStop(cctx);
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/19dc8237/modules/pds/src/test/java/org/apache/ignite/cache/database/IgnitePersistentStoreDataStructuresTest.java
----------------------------------------------------------------------
diff --git 
a/modules/pds/src/test/java/org/apache/ignite/cache/database/IgnitePersistentStoreDataStructuresTest.java
 
b/modules/pds/src/test/java/org/apache/ignite/cache/database/IgnitePersistentStoreDataStructuresTest.java
new file mode 100644
index 0000000..0183779
--- /dev/null
+++ 
b/modules/pds/src/test/java/org/apache/ignite/cache/database/IgnitePersistentStoreDataStructuresTest.java
@@ -0,0 +1,205 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.cache.database;
+
+import org.apache.ignite.Ignite;
+import org.apache.ignite.IgniteAtomicLong;
+import org.apache.ignite.IgniteAtomicSequence;
+import org.apache.ignite.IgniteQueue;
+import org.apache.ignite.IgniteSet;
+import org.apache.ignite.configuration.CollectionConfiguration;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.configuration.MemoryConfiguration;
+import org.apache.ignite.configuration.MemoryPolicyConfiguration;
+import org.apache.ignite.configuration.PersistentStoreConfiguration;
+import 
org.apache.ignite.internal.processors.cache.database.wal.FileWriteAheadLogManager;
+import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
+import org.apache.ignite.testframework.GridTestUtils;
+import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+
+/**
+ *
+ */
+public class IgnitePersistentStoreDataStructuresTest extends 
GridCommonAbstractTest {
+    /** */
+    private static final TcpDiscoveryIpFinder ipFinder = new 
TcpDiscoveryVmIpFinder(true);
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String 
igniteInstanceName) throws Exception {
+        IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
+
+        ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder);
+
+        MemoryConfiguration dbCfg = new MemoryConfiguration();
+
+        MemoryPolicyConfiguration memPlcCfg = new MemoryPolicyConfiguration();
+
+        memPlcCfg.setName("dfltMemPlc");
+        memPlcCfg.setInitialSize(200 * 1024 * 1024);
+        memPlcCfg.setMaxSize(200 * 1024 * 1024);
+
+        dbCfg.setMemoryPolicies(memPlcCfg);
+        dbCfg.setDefaultMemoryPolicyName("dfltMemPlc");
+
+        cfg.setMemoryConfiguration(dbCfg);
+
+        cfg.setPersistentStoreConfiguration(new 
PersistentStoreConfiguration());
+
+        cfg.setActiveOnStart(false);
+
+        return cfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTestsStarted() throws Exception {
+        super.beforeTestsStarted();
+
+        System.setProperty(FileWriteAheadLogManager.IGNITE_PDS_WAL_MODE, 
"LOG_ONLY");
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTestsStopped() throws Exception {
+        System.clearProperty(FileWriteAheadLogManager.IGNITE_PDS_WAL_MODE);
+
+        GridTestUtils.deleteDbFiles();
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTest() throws Exception {
+        super.beforeTest();
+
+        GridTestUtils.deleteDbFiles();
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTest() throws Exception {
+        super.afterTest();
+
+        stopAllGrids();
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testQueue() throws Exception {
+        Ignite ignite = startGrids(4);
+
+        ignite.active(true);
+
+        IgniteQueue<Object> queue = ignite.queue("testQueue", 100, new 
CollectionConfiguration());
+
+        for (int i = 0; i < 100; i++)
+            queue.offer(i);
+
+        stopAllGrids();
+
+        ignite = startGrids(4);
+
+        ignite.active(true);
+
+        queue = ignite.queue("testQueue", 0, null);
+
+        for (int i = 0; i < 100; i++)
+            assertEquals(i, queue.poll());
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testAtomic() throws Exception {
+        Ignite ignite = startGrids(4);
+
+        ignite.active(true);
+
+        IgniteAtomicLong atomicLong = ignite.atomicLong("testLong", 0, true);
+
+        for (int i = 0; i < 100; i++)
+            atomicLong.incrementAndGet();
+
+        stopAllGrids();
+
+        ignite = startGrids(4);
+
+        ignite.active(true);
+
+        atomicLong = ignite.atomicLong("testLong", 0, false);
+
+        for (int i = 100; i != 0; )
+            assertEquals(i--, atomicLong.getAndDecrement());
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testSequence() throws Exception {
+        Ignite ignite = startGrids(4);
+
+        ignite.active(true);
+
+        IgniteAtomicSequence sequence = ignite.atomicSequence("testSequence", 
0, true);
+
+        int i = 0;
+
+        while (i < 1000) {
+            sequence.incrementAndGet();
+
+            i++;
+        }
+
+        stopAllGrids();
+
+        ignite = startGrids(4);
+
+        ignite.active(true);
+
+        sequence = ignite.atomicSequence("testSequence", 0, false);
+
+        assertTrue(sequence.incrementAndGet() > i);
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testSet() throws Exception {
+        Ignite ignite = startGrids(4);
+
+        ignite.active(true);
+
+        IgniteSet<Object> set = ignite.set("testSet", new 
CollectionConfiguration());
+
+        for (int i = 0; i < 100; i++)
+            set.add(i);
+
+        stopAllGrids();
+
+        ignite = startGrids(4);
+
+        ignite.active(true);
+
+        set = ignite.set("testSet", null);
+
+        assertFalse(set.add(99));
+
+        for (int i = 0; i < 100; i++)
+            assertTrue(set.contains(i));
+
+        assertEquals(100, set.size());
+    }
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/19dc8237/modules/pds/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite2.java
----------------------------------------------------------------------
diff --git 
a/modules/pds/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite2.java
 
b/modules/pds/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite2.java
index 223c3cb..2db7ff7 100644
--- 
a/modules/pds/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite2.java
+++ 
b/modules/pds/src/test/java/org/apache/ignite/testsuites/IgnitePdsTestSuite2.java
@@ -19,10 +19,11 @@ package org.apache.ignite.testsuites;
 
 import junit.framework.TestSuite;
 import 
org.apache.ignite.cache.database.IgnitePersistentStoreAtomicCacheRebalancingTest;
-import 
org.apache.ignite.cache.database.IgnitePersistentStoreTxCacheRebalancingTest;
 import 
org.apache.ignite.cache.database.IgnitePersistentStoreContinuousRestartSelfTest;
+import 
org.apache.ignite.cache.database.IgnitePersistentStoreDataStructuresTest;
 import org.apache.ignite.cache.database.IgnitePersistentStorePageSizesTest;
 import 
org.apache.ignite.cache.database.IgnitePersistentStoreRecoveryAfterFileCorruptionTest;
+import 
org.apache.ignite.cache.database.IgnitePersistentStoreTxCacheRebalancingTest;
 import 
org.apache.ignite.cache.database.db.DbPageEvictionDuringPartitionClearSelfTest;
 import org.apache.ignite.cache.database.db.IgniteDbWholeClusterRestartSelfTest;
 import org.apache.ignite.cache.database.db.RebalancingOnNotStableTopologyTest;
@@ -70,6 +71,8 @@ public class IgnitePdsTestSuite2 extends TestSuite {
 
         
suite.addTestSuite(IgnitePersistentStoreContinuousRestartSelfTest.class);
 
+        suite.addTestSuite(IgnitePersistentStoreDataStructuresTest.class);
+
         return suite;
     }
 }

Reply via email to