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 2018/08/09 12:44:32 UTC
ignite git commit: IGNITE-9004 Do not allow to start two Ignite nodes
on the same persistence folder - Fixes #4383.
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 <es...@gridgain.com>
Authored: Thu Aug 9 15:38:22 2018 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
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();