Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 969BE200CA3 for ; Thu, 1 Jun 2017 18:35:36 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 90FE4160BC4; Thu, 1 Jun 2017 16:35:36 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id AF8E8160BC1 for ; Thu, 1 Jun 2017 18:35:35 +0200 (CEST) Received: (qmail 11479 invoked by uid 500); 1 Jun 2017 16:35:34 -0000 Mailing-List: contact commits-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list commits@ignite.apache.org Received: (qmail 11470 invoked by uid 99); 1 Jun 2017 16:35:33 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Jun 2017 16:35:33 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 68977DFB94; Thu, 1 Jun 2017 16:35:33 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sboikov@apache.org To: commits@ignite.apache.org Message-Id: <9d4cc2f7aceb402c839a650cfa61d647@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: ignite git commit: ignite-5075-pds Date: Thu, 1 Jun 2017 16:35:33 +0000 (UTC) archived-at: Thu, 01 Jun 2017 16:35:36 -0000 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 Authored: Thu Jun 1 19:35:27 2017 +0300 Committer: sboikov 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 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 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; } }