Repository: ignite Updated Branches: refs/heads/master 2285420cf -> d3566c145
IGNITE-9004 Do not allow to start two Ignite nodes on the same persistence folder - Fixes #4383. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d3566c14 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d3566c14 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d3566c14 Branch: refs/heads/master Commit: d3566c1458443555c7813f55f9a82fa64f083226 Parents: 2285420 Author: Eduard Shangareev <[email protected]> Authored: Thu Aug 9 15:38:22 2018 +0300 Committer: Alexey Goncharuk <[email protected]> Committed: Thu Aug 9 15:38:22 2018 +0300 ---------------------------------------------------------------------- .../rest/AbstractRestProcessorSelfTest.java | 7 ++ .../cache/GridCacheSharedContext.java | 19 +--- .../GridCacheDatabaseSharedManager.java | 77 ++++++------- .../IgniteCacheDatabaseSharedManager.java | 46 +++----- .../filename/PdsConsistentIdProcessor.java | 13 +-- .../service/GridServiceProcessor.java | 4 +- .../IgniteClusterActivateDeactivateTest.java | 22 ++-- .../IgniteChangeGlobalStateAbstractTest.java | 4 +- .../IgniteChangeGlobalStateTest.java | 7 -- .../IgniteNoParrallelClusterIsAllowedTest.java | 111 +++++++++++++++++++ .../testsuites/IgniteStandByClusterSuite.java | 16 +-- .../development/utils/IgniteWalConverter.java | 10 +- 12 files changed, 204 insertions(+), 132 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/d3566c14/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java index 3a8afa4..9781152 100644 --- a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java +++ b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/AbstractRestProcessorSelfTest.java @@ -43,6 +43,7 @@ public abstract class AbstractRestProcessorSelfTest extends GridCommonAbstractTe /** {@inheritDoc} */ @Override protected void beforeTestsStarted() throws Exception { + cleanPersistenceDir(); startGrids(gridCount()); } @@ -59,6 +60,12 @@ public abstract class AbstractRestProcessorSelfTest extends GridCommonAbstractTe } /** {@inheritDoc} */ + @Override protected void afterTestsStopped() throws Exception { + stopAllGrids(); + cleanPersistenceDir(); + } + + /** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName); http://git-wip-us.apache.org/repos/asf/ignite/blob/d3566c14/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java index b195508..381d5bf 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java @@ -246,23 +246,8 @@ public class GridCacheSharedContext<K, V> { * @throws IgniteCheckedException If failed. */ public void activate() throws IgniteCheckedException { - if (!kernalCtx.clientNode()) - dbMgr.lock(); - - boolean success = false; - - try { - for (IgniteChangeGlobalStateSupport mgr : stateAwareMgrs) - mgr.onActivate(kernalCtx); - - success = true; - } - finally { - if (!success) { - if (!kernalCtx.clientNode()) - dbMgr.unLock(); - } - } + for (IgniteChangeGlobalStateSupport mgr : stateAwareMgrs) + mgr.onActivate(kernalCtx); } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/d3566c14/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java index 1203de8..3e73629 100755 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java @@ -472,14 +472,21 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan if (!U.mkdirs(cpDir)) throw new IgniteCheckedException("Could not create directory for checkpoint metadata: " + cpDir); - cleanupTempCheckpointDirectory(); - final FileLockHolder preLocked = kernalCtx.pdsFolderResolver() - .resolveFolders() - .getLockedFileLockHolder(); + .resolveFolders() + .getLockedFileLockHolder(); + + fileLockHolder = preLocked == null ? + new FileLockHolder(storeMgr.workDir().getPath(), kernalCtx, log) : preLocked; - if (preLocked == null) - fileLockHolder = new FileLockHolder(storeMgr.workDir().getPath(), kernalCtx, log); + if (log.isDebugEnabled()) + log.debug("Try to capture file lock [nodeId=" + + cctx.localNodeId() + " path=" + fileLockHolder.lockPath() + "]"); + + if (!fileLockHolder.isLocked()) + fileLockHolder.tryLock(lockWaitTime); + + cleanupTempCheckpointDirectory(); persStoreMetrics.wal(cctx.wal()); @@ -710,16 +717,10 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan onKernalStop0(false); - stop0(false); + super.onDeActivate(kctx); /* Must be here, because after deactivate we can invoke activate and file lock must be already configured */ stopping = false; - - if (!cctx.localNode().isClient()) { - //we replace lock with new instance (only if we're responsible for locking folders) - if (fileLockHolder != null) - fileLockHolder = new FileLockHolder(storeMgr.workDir().getPath(), cctx.kernalContext(), log); - } } /** @@ -958,28 +959,6 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan } /** {@inheritDoc} */ - @Override public void lock() throws IgniteCheckedException { - if (fileLockHolder != null) { - if (log.isDebugEnabled()) - log.debug("Try to capture file lock [nodeId=" + - cctx.localNodeId() + " path=" + fileLockHolder.lockPath() + "]"); - - fileLockHolder.tryLock(lockWaitTime); - } - } - - /** {@inheritDoc} */ - @Override public void unLock() { - if (fileLockHolder != null) { - if (log.isDebugEnabled()) - log.debug("Release file lock [nodeId=" + - cctx.localNodeId() + " path=" + fileLockHolder.lockPath() + "]"); - - fileLockHolder.release(); - } - } - - /** {@inheritDoc} */ @Override protected void onKernalStop0(boolean cancel) { checkpointLock.writeLock().lock(); @@ -996,14 +975,22 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan super.onKernalStop0(cancel); + unRegistrateMetricsMBean(); + } + + /** {@inheritDoc} */ + @Override protected void stop0(boolean cancel) { + super.stop0(cancel); + if (!cctx.kernalContext().clientNode()) { - unLock(); + if (fileLockHolder != null) { + if (log.isDebugEnabled()) + log.debug("Release file lock [nodeId=" + + cctx.localNodeId() + " path=" + fileLockHolder.lockPath() + "]"); - if (fileLockHolder != null) fileLockHolder.close(); + } } - - unRegistrateMetricsMBean(); } /** */ @@ -4110,7 +4097,7 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan private RandomAccessFile lockFile; /** Lock. */ - private FileLock lock; + private volatile FileLock lock; /** Kernal context to generate Id of locked node in file. */ @NotNull private GridKernalContext ctx; @@ -4183,6 +4170,7 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan for (int i = 0; i < lockWaitTimeMillis; i += 1000) { try { lock = ch.tryLock(0, 1, false); + if (lock != null && lock.isValid()) { writeContent(sb.toString()); @@ -4253,13 +4241,20 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan return content; } + /** Locked or not. */ + public boolean isLocked() { + return lock != null && lock.isValid(); + } + /** Releases file lock */ public void release() { U.releaseQuiet(lock); } /** Closes file channel */ - public void close() { + @Override public void close() { + release(); + U.closeQuiet(lockFile); } http://git-wip-us.apache.org/repos/asf/ignite/blob/d3566c14/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java index 92de54a..f17e527 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java @@ -659,21 +659,7 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap /** {@inheritDoc} */ @Override protected void stop0(boolean cancel) { - if (dataRegionMap != null) { - for (DataRegion memPlc : dataRegionMap.values()) { - memPlc.pageMemory().stop(); - - memPlc.evictionTracker().stop(); - - unregisterMBean(memPlc.memoryMetrics().getName()); - } - - dataRegionMap.clear(); - - dataRegionMap = null; - - dataRegionsInitialized = false; - } + onDeActivate(cctx.kernalContext()); } /** @@ -708,20 +694,6 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap } /** - * - */ - public void lock() throws IgniteCheckedException { - - } - - /** - * - */ - public void unLock() { - - } - - /** * No-op for non-persistent storage. */ public void checkpointReadLock() { @@ -1071,7 +1043,21 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap /** {@inheritDoc} */ @Override public void onDeActivate(GridKernalContext kctx) { - stop0(false); + if (dataRegionMap != null) { + for (DataRegion memPlc : dataRegionMap.values()) { + memPlc.pageMemory().stop(); + + memPlc.evictionTracker().stop(); + + unregisterMBean(memPlc.memoryMetrics().getName()); + } + + dataRegionMap.clear(); + + dataRegionMap = null; + + dataRegionsInitialized = false; + } } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/d3566c14/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/filename/PdsConsistentIdProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/filename/PdsConsistentIdProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/filename/PdsConsistentIdProcessor.java index ba6d822..ffef9af 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/filename/PdsConsistentIdProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/filename/PdsConsistentIdProcessor.java @@ -211,18 +211,12 @@ public class PdsConsistentIdProcessor extends GridProcessorAdapter implements Pd } // was not able to find free slot, allocating new - final GridCacheDatabaseSharedManager.FileLockHolder rootDirLock = lockRootDirectory(pstStoreBasePath); - - try { + try (final GridCacheDatabaseSharedManager.FileLockHolder rootDirLock = lockRootDirectory(pstStoreBasePath)) { final List<FolderCandidate> sortedCandidates = getNodeIndexSortedCandidates(pstStoreBasePath); final int nodeIdx = sortedCandidates.isEmpty() ? 0 : (sortedCandidates.get(sortedCandidates.size() - 1).nodeIndex() + 1); return generateAndLockNewDbStorage(pstStoreBasePath, nodeIdx); } - finally { - rootDirLock.release(); - rootDirLock.close(); - } } /** @@ -505,11 +499,10 @@ public class PdsConsistentIdProcessor extends GridProcessorAdapter implements Pd if (settings != null) { final GridCacheDatabaseSharedManager.FileLockHolder fileLockHolder = settings.getLockedFileLockHolder(); - if (fileLockHolder != null) { - fileLockHolder.release(); + if (fileLockHolder != null) fileLockHolder.close(); - } } + super.stop(cancel); } http://git-wip-us.apache.org/repos/asf/ignite/blob/d3566c14/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java index 949c0c7..9e8c7fa 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java @@ -1759,8 +1759,8 @@ public class GridServiceProcessor extends GridProcessorAdapter implements Ignite affReadyFut.get(); } catch (IgniteCheckedException e) { - U.error(log, "Failed to wait for affinity ready future " + - "(the assignment will be recalculated anyway)", e); + U.warn(log, "Failed to wait for affinity ready future " + + "(the assignment will be recalculated anyway):" + e.toString()); } } http://git-wip-us.apache.org/repos/asf/ignite/blob/d3566c14/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteClusterActivateDeactivateTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteClusterActivateDeactivateTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteClusterActivateDeactivateTest.java index 4ff97ba..4be660d 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteClusterActivateDeactivateTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteClusterActivateDeactivateTest.java @@ -357,11 +357,13 @@ public class IgniteClusterActivateDeactivateTest extends GridCommonAbstractTest * @return State change future. * @throws Exception If failed. */ - private IgniteInternalFuture<?> startNodesAndBlockStatusChange(int srvs, + private IgniteInternalFuture<?> startNodesAndBlockStatusChange( + int srvs, int clients, final int stateChangeFrom, final boolean initiallyActive, - int... blockMsgNodes) throws Exception { + int... blockMsgNodes + ) throws Exception { active = initiallyActive; testSpi = true; @@ -1138,20 +1140,16 @@ public class IgniteClusterActivateDeactivateTest extends GridCommonAbstractTest client = false; - IgniteInternalFuture startFut1 = GridTestUtils.runAsync(new Callable() { - @Override public Object call() throws Exception { - startGrid(4); + IgniteInternalFuture startFut1 = GridTestUtils.runAsync((Callable) () -> { + startGrid(4); - return null; - } + return null; }, "start-node1"); - IgniteInternalFuture startFut2 = GridTestUtils.runAsync(new Callable() { - @Override public Object call() throws Exception { - startGrid(5); + IgniteInternalFuture startFut2 = GridTestUtils.runAsync((Callable) () -> { + startGrid(5); - return null; - } + return null; }, "start-node2"); U.sleep(1000); http://git-wip-us.apache.org/repos/asf/ignite/blob/d3566c14/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateAbstractTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateAbstractTest.java index 016b6a4..fcbe62f 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateAbstractTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateAbstractTest.java @@ -151,7 +151,7 @@ public abstract class IgniteChangeGlobalStateAbstractTest extends GridCommonAbst * @param cnt Count. * @throws Exception If failed. */ - private void startPrimaryNodes(int cnt) throws Exception { + void startPrimaryNodes(int cnt) throws Exception { for (int i = 0; i < cnt; i++) startPrimary(i); @@ -181,7 +181,7 @@ public abstract class IgniteChangeGlobalStateAbstractTest extends GridCommonAbst * @param cnt Count. * @throws Exception If failed. */ - private void startBackUpNodes(int cnt) throws Exception { + void startBackUpNodes(int cnt) throws Exception { for (int i = 0; i < cnt; i++) startBackUp(i); } http://git-wip-us.apache.org/repos/asf/ignite/blob/d3566c14/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateTest.java index 70a9251..9152ab9 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateTest.java @@ -40,13 +40,6 @@ import static org.apache.ignite.testframework.GridTestUtils.runAsync; * */ public class IgniteChangeGlobalStateTest extends IgniteChangeGlobalStateAbstractTest { - /** {@inheritDoc} */ - @Override protected void beforeTest() throws Exception { - fail("https://issues.apache.org/jira/browse/IGNITE-9004"); - - super.beforeTest(); - } - /** * @throws Exception if fail. */ http://git-wip-us.apache.org/repos/asf/ignite/blob/d3566c14/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteNoParrallelClusterIsAllowedTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteNoParrallelClusterIsAllowedTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteNoParrallelClusterIsAllowedTest.java new file mode 100644 index 0000000..5c986ee --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteNoParrallelClusterIsAllowedTest.java @@ -0,0 +1,111 @@ +/* + * 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.internal.processors.cache.persistence.standbycluster; + +import junit.framework.AssertionFailedError; +import org.apache.ignite.internal.util.typedef.internal.U; +import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder; +import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; + +/** + * + */ +public class IgniteNoParrallelClusterIsAllowedTest extends IgniteChangeGlobalStateAbstractTest { + /** */ + private static final TcpDiscoveryIpFinder vmIpFinder = new TcpDiscoveryVmIpFinder(true); + + /** + * @throws Exception if failed. + */ + public void testSimple() throws Exception { + startPrimaryNodes(primaryNodes()); + + tryToStartBackupClusterWhatShouldFail(); + + primary(0).cluster().active(true); + + tryToStartBackupClusterWhatShouldFail(); + + primary(0).cluster().active(false); + + tryToStartBackupClusterWhatShouldFail(); + + primary(0).cluster().active(true); + + tryToStartBackupClusterWhatShouldFail(); + + stopAllPrimary(); + + startBackUp(backUpNodes()); + + stopAllBackUp(); + + startPrimaryNodes(primaryNodes()); + + tryToStartBackupClusterWhatShouldFail(); + } + + /** + * + */ + private void tryToStartBackupClusterWhatShouldFail() { + try { + startBackUpNodes(backUpNodes()); + + fail(); + } + catch (AssertionFailedError er) { + throw er; + } + catch (Throwable e) { + while (true) { + String message = e.getMessage(); + + if (message.contains("Failed to acquire file lock during")) + break; + + if (e.getCause() != null) + e = e.getCause(); + else + fail(); + } + } + } + + /** + * + */ + @Override protected void beforeTest() throws Exception { + stopAllGrids(); + + U.delete(U.resolveWorkDirectory(U.defaultWorkDirectory(), testName(), true)); + + cleanPersistenceDir(); + } + + /** + * + */ + @Override protected void afterTest() throws Exception { + stopAllGrids(); + + cleanPersistenceDir(); + + U.delete(U.resolveWorkDirectory(U.defaultWorkDirectory(), testName(), true)); + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/d3566c14/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteStandByClusterSuite.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteStandByClusterSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteStandByClusterSuite.java index fd124b7..f524420 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteStandByClusterSuite.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteStandByClusterSuite.java @@ -21,12 +21,9 @@ import junit.framework.TestSuite; import org.apache.ignite.internal.processors.cache.IgniteClusterActivateDeactivateTest; import org.apache.ignite.internal.processors.cache.distributed.CacheBaselineTopologyTest; import org.apache.ignite.internal.processors.cache.persistence.IgniteBaselineAffinityTopologyActivationTest; -import org.apache.ignite.internal.processors.cache.persistence.standbycluster.IgniteChangeGlobalStateCacheTest; import org.apache.ignite.internal.processors.cache.persistence.standbycluster.IgniteChangeGlobalStateDataStreamerTest; -import org.apache.ignite.internal.processors.cache.persistence.standbycluster.IgniteChangeGlobalStateDataStructureTest; import org.apache.ignite.internal.processors.cache.persistence.standbycluster.IgniteChangeGlobalStateFailOverTest; -import org.apache.ignite.internal.processors.cache.persistence.standbycluster.IgniteChangeGlobalStateServiceTest; -import org.apache.ignite.internal.processors.cache.persistence.standbycluster.IgniteChangeGlobalStateTest; +import org.apache.ignite.internal.processors.cache.persistence.standbycluster.IgniteNoParrallelClusterIsAllowedTest; import org.apache.ignite.internal.processors.cache.persistence.standbycluster.IgniteStandByClusterTest; import org.apache.ignite.internal.processors.cache.persistence.standbycluster.join.JoinActiveNodeToActiveCluster; import org.apache.ignite.internal.processors.cache.persistence.standbycluster.join.JoinActiveNodeToInActiveCluster; @@ -65,12 +62,15 @@ public class IgniteStandByClusterSuite extends TestSuite { suite.addTestSuite(JoinInActiveNodeToActiveClusterWithPersistence.class); suite.addTestSuite(JoinInActiveNodeToInActiveClusterWithPersistence.class); - suite.addTestSuite(IgniteChangeGlobalStateTest.class); - suite.addTestSuite(IgniteChangeGlobalStateCacheTest.class); - suite.addTestSuite(IgniteChangeGlobalStateDataStructureTest.class); +//TODO https://issues.apache.org/jira/browse/IGNITE-9081 suite.addTestSuite(IgniteChangeGlobalStateTest.class); +//TODO https://issues.apache.org/jira/browse/IGNITE-9081 suite.addTestSuite(IgniteChangeGlobalStateCacheTest.class); +//TODO https://issues.apache.org/jira/browse/IGNITE-9081 suite.addTestSuite(IgniteChangeGlobalStateDataStructureTest.class); +//TODO https://issues.apache.org/jira/browse/IGNITE-9081 suite.addTestSuite(IgniteChangeGlobalStateServiceTest.class); + suite.addTestSuite(IgniteChangeGlobalStateDataStreamerTest.class); suite.addTestSuite(IgniteChangeGlobalStateFailOverTest.class); - suite.addTestSuite(IgniteChangeGlobalStateServiceTest.class); + + suite.addTestSuite(IgniteNoParrallelClusterIsAllowedTest.class); suite.addTestSuite(CacheBaselineTopologyTest.class); suite.addTestSuite(IgniteBaselineAffinityTopologyActivationTest.class); http://git-wip-us.apache.org/repos/asf/ignite/blob/d3566c14/modules/dev-utils/src/main/java/org/apache/ignite/development/utils/IgniteWalConverter.java ---------------------------------------------------------------------- diff --git a/modules/dev-utils/src/main/java/org/apache/ignite/development/utils/IgniteWalConverter.java b/modules/dev-utils/src/main/java/org/apache/ignite/development/utils/IgniteWalConverter.java index eee193a..21a0c61 100644 --- a/modules/dev-utils/src/main/java/org/apache/ignite/development/utils/IgniteWalConverter.java +++ b/modules/dev-utils/src/main/java/org/apache/ignite/development/utils/IgniteWalConverter.java @@ -51,8 +51,8 @@ public class IgniteWalConverter { H2ExtrasInnerIO.register(); H2ExtrasLeafIO.register(); - boolean printRecords = IgniteSystemProperties.getBoolean("PRINT_RECORDS", false); - boolean printStat = IgniteSystemProperties.getBoolean("PRINT_STAT", true); + boolean printRecords = IgniteSystemProperties.getBoolean("PRINT_RECORDS", false); //TODO read them from argumetns + boolean printStat = IgniteSystemProperties.getBoolean("PRINT_STAT", true); //TODO read them from argumetns final IgniteWalIteratorFactory factory = new IgniteWalIteratorFactory(new NullLogger()); @@ -65,7 +65,11 @@ public class IgniteWalConverter { @Nullable final WalStat stat = printStat ? new WalStat() : null; - try (WALIterator stIt = factory.iterator(workFiles)) { + IgniteWalIteratorFactory.IteratorParametersBuilder iteratorParametersBuilder = + new IgniteWalIteratorFactory.IteratorParametersBuilder().filesOrDirs(workFiles) + .pageSize(Integer.parseInt(args[0])); + + try (WALIterator stIt = factory.iterator(iteratorParametersBuilder)) { while (stIt.hasNextX()) { IgniteBiTuple<WALPointer, WALRecord> next = stIt.nextX();
