Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-7573
diff --git a/bin/control.bat b/bin/control.bat
index 8a6821a..0cdefa8 100644
--- a/bin/control.bat
+++ b/bin/control.bat
@@ -42,7 +42,7 @@
goto error_finish
:checkJdkVersion
-"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr /R /c:"java version .9\..*" /c:"java version .1\.8\..*" > nul
+"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr /R /c:"version .9\..*" /c:"java version .1\.8\..*" > nul
if %ERRORLEVEL% equ 0 goto checkIgniteHome1
echo %0, ERROR:
echo The version of JAVA installed in %JAVA_HOME% is incorrect.
@@ -201,7 +201,7 @@
::
:: Final JVM_OPTS for Java 9 compatibility
::
-"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr /R /c:"java version .9\..*" > nul && set JVM_OPTS=--add-exports java.base/jdk.internal.misc=ALL-UNNAMED --add-exports java.base/sun.nio.ch=ALL-UNNAMED --add-exports java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED --add-exports jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-modules java.xml.bind %JVM_OPTS%
+"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr /R /c:"version .9\..*" > nul && set JVM_OPTS=--add-exports java.base/jdk.internal.misc=ALL-UNNAMED --add-exports java.base/sun.nio.ch=ALL-UNNAMED --add-exports java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED --add-exports jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-modules java.xml.bind %JVM_OPTS%
if "%INTERACTIVE%" == "1" (
"%JAVA_HOME%\bin\java.exe" %JVM_OPTS% %QUIET% %RESTART_SUCCESS_OPT% %JMX_MON% ^
diff --git a/bin/ignite.bat b/bin/ignite.bat
index 6201ed4..301dad9 100644
--- a/bin/ignite.bat
+++ b/bin/ignite.bat
@@ -42,7 +42,7 @@
goto error_finish
:checkJdkVersion
-"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr /R /c:"java version .9\..*" /c:"java version .1\.8\..*" > nul
+"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr /R /c:"version .9\..*" /c:"version .1\.8\..*" > nul
if %ERRORLEVEL% equ 0 goto checkIgniteHome1
echo %0, ERROR:
echo The version of JAVA installed in %JAVA_HOME% is incorrect.
@@ -216,7 +216,7 @@
::
:: Final JVM_OPTS for Java 9 compatibility
::
-"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr /R /c:"java version .9\..*" > nul && set JVM_OPTS=--add-exports java.base/jdk.internal.misc=ALL-UNNAMED --add-exports java.base/sun.nio.ch=ALL-UNNAMED --add-exports java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED --add-exports jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-modules java.xml.bind %JVM_OPTS%
+"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr /R /c:"version .9\..*" > nul && set JVM_OPTS=--add-exports java.base/jdk.internal.misc=ALL-UNNAMED --add-exports java.base/sun.nio.ch=ALL-UNNAMED --add-exports java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED --add-exports jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-modules java.xml.bind %JVM_OPTS%
if "%INTERACTIVE%" == "1" (
"%JAVA_HOME%\bin\java.exe" %JVM_OPTS% %QUIET% %RESTART_SUCCESS_OPT% %JMX_MON% ^
diff --git a/bin/ignitevisorcmd.bat b/bin/ignitevisorcmd.bat
index a480a70..c12869b 100644
--- a/bin/ignitevisorcmd.bat
+++ b/bin/ignitevisorcmd.bat
@@ -42,7 +42,7 @@
goto error_finish
:checkJdkVersion
-"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr /R /c:"java version .9\..*" /c:"java version .1\.8\..*" > nul
+"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr /R /c:"version .9\..*" /c:"version .1\.8\..*" > nul
if %ERRORLEVEL% equ 0 goto checkIgniteHome1
echo %0, ERROR:
echo The version of JAVA installed in %JAVA_HOME% is incorrect.
@@ -144,7 +144,7 @@
::
:: Final JVM_OPTS for Java 9 compatibility
::
-"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr /R /c:"java version .9\..*" > nul && set JVM_OPTS_VISOR=--add-exports java.base/jdk.internal.misc=ALL-UNNAMED --add-exports java.base/sun.nio.ch=ALL-UNNAMED --add-exports java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED --add-exports jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-modules java.xml.bind %JVM_OPTS%
+"%JAVA_HOME%\bin\java.exe" -version 2>&1 | findstr /R /c:"version .9\..*" > nul && set JVM_OPTS_VISOR=--add-exports java.base/jdk.internal.misc=ALL-UNNAMED --add-exports java.base/sun.nio.ch=ALL-UNNAMED --add-exports java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED --add-exports jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-modules java.xml.bind %JVM_OPTS%
::
:: Starts Visor console.
diff --git a/bin/include/functions.sh b/bin/include/functions.sh
index 8f4570b..3fd1a72 100755
--- a/bin/include/functions.sh
+++ b/bin/include/functions.sh
@@ -63,7 +63,7 @@
exit 1
fi
- "$JAVA" -version 2>&1 | grep -qE 'java version "(1.8.*|9.*)"' || {
+ "$JAVA" -version 2>&1 | grep -qE 'version "(1.8.*|9.*)"' || {
echo "$0, ERROR:"
echo "The version of JAVA installed in JAVA_HOME=$JAVA_HOME is incorrect."
echo "Please point JAVA_HOME variable to installation of JDK 1.8 or JDK 9."
diff --git a/examples/src/main/java/org/apache/ignite/examples/ml/knn/classification/KNNClassificationExample.java b/examples/src/main/java/org/apache/ignite/examples/ml/knn/classification/KNNClassificationExample.java
index 0e1a52f..6532ac5 100644
--- a/examples/src/main/java/org/apache/ignite/examples/ml/knn/classification/KNNClassificationExample.java
+++ b/examples/src/main/java/org/apache/ignite/examples/ml/knn/classification/KNNClassificationExample.java
@@ -17,15 +17,14 @@
package org.apache.ignite.examples.ml.knn.classification;
+import java.io.File;
import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
import java.nio.file.Path;
-import java.nio.file.Paths;
import java.util.Arrays;
import org.apache.ignite.Ignite;
import org.apache.ignite.Ignition;
import org.apache.ignite.examples.ExampleNodeStartup;
+import org.apache.ignite.internal.util.IgniteUtils;
import org.apache.ignite.ml.knn.models.KNNModel;
import org.apache.ignite.ml.knn.models.KNNStrategy;
import org.apache.ignite.ml.math.distances.EuclideanDistance;
@@ -53,7 +52,7 @@
private static final String SEPARATOR = "\t";
/** Path to the Iris dataset. */
- private static final String KNN_IRIS_TXT = "../datasets/iris.txt";
+ private static final String KNN_IRIS_TXT = "examples/src/main/resources/datasets/iris.txt";
/**
* Executes example.
@@ -71,11 +70,11 @@
try {
// Prepare path to read
- URL url = KNNClassificationExample.class.getResource(KNN_IRIS_TXT);
- if (url == null)
- throw new RuntimeException("Can't get URL for: " + KNN_IRIS_TXT);
+ File file = IgniteUtils.resolveIgnitePath(KNN_IRIS_TXT);
+ if (file == null)
+ throw new RuntimeException("Can't find file: " + KNN_IRIS_TXT);
- Path path = Paths.get(url.toURI());
+ Path path = file.toPath();
// Read dataset from file
LabeledDataset dataset = LabeledDatasetLoader.loadFromTxtFile(path, SEPARATOR, true, false);
@@ -138,7 +137,7 @@
}
}
- catch (URISyntaxException | IOException e) {
+ catch (IOException e) {
e.printStackTrace();
System.out.println("\n>>> Unexpected exception, check resources: " + e);
}
diff --git a/examples/src/main/java/org/apache/ignite/examples/ml/knn/regression/KNNRegressionExample.java b/examples/src/main/java/org/apache/ignite/examples/ml/knn/regression/KNNRegressionExample.java
index b52613a..ba079cc 100644
--- a/examples/src/main/java/org/apache/ignite/examples/ml/knn/regression/KNNRegressionExample.java
+++ b/examples/src/main/java/org/apache/ignite/examples/ml/knn/regression/KNNRegressionExample.java
@@ -17,15 +17,13 @@
package org.apache.ignite.examples.ml.knn.regression;
+import java.io.File;
import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
import java.nio.file.Path;
-import java.nio.file.Paths;
import org.apache.ignite.Ignite;
import org.apache.ignite.Ignition;
import org.apache.ignite.examples.ExampleNodeStartup;
-import org.apache.ignite.examples.ml.knn.classification.KNNClassificationExample;
+import org.apache.ignite.internal.util.IgniteUtils;
import org.apache.ignite.ml.knn.models.KNNStrategy;
import org.apache.ignite.ml.knn.regression.KNNMultipleLinearRegression;
import org.apache.ignite.ml.math.distances.ManhattanDistance;
@@ -54,7 +52,7 @@
private static final String SEPARATOR = ",";
/** */
- private static final String KNN_CLEARED_MACHINES_TXT = "../datasets/cleared_machines.txt";
+ private static final String KNN_CLEARED_MACHINES_TXT = "examples/src/main/resources/datasets/cleared_machines.txt";
/**
* Executes example.
@@ -72,11 +70,11 @@
try {
// Prepare path to read
- URL url = KNNClassificationExample.class.getResource(KNN_CLEARED_MACHINES_TXT);
- if (url == null)
- throw new RuntimeException("Can't get URL for: " + KNN_CLEARED_MACHINES_TXT);
+ File file = IgniteUtils.resolveIgnitePath(KNN_CLEARED_MACHINES_TXT);
+ if (file == null)
+ throw new RuntimeException("Can't find file: " + KNN_CLEARED_MACHINES_TXT);
- Path path = Paths.get(url.toURI());
+ Path path = file.toPath();
// Read dataset from file
LabeledDataset dataset = LabeledDatasetLoader.loadFromTxtFile(path, SEPARATOR, false, false);
@@ -141,7 +139,7 @@
System.out.println("\n>>> R^2 " + detCf);
}
- catch (URISyntaxException | IOException e) {
+ catch (IOException e) {
e.printStackTrace();
System.out.println("\n>>> Unexpected exception, check resources: " + e);
}
diff --git a/examples/src/main/java/org/apache/ignite/examples/ml/knn/datasets/README.md b/examples/src/main/resources/datasets/README.md
similarity index 100%
rename from examples/src/main/java/org/apache/ignite/examples/ml/knn/datasets/README.md
rename to examples/src/main/resources/datasets/README.md
diff --git a/examples/src/main/java/org/apache/ignite/examples/ml/knn/datasets/cleared_machines.txt b/examples/src/main/resources/datasets/cleared_machines.txt
similarity index 100%
rename from examples/src/main/java/org/apache/ignite/examples/ml/knn/datasets/cleared_machines.txt
rename to examples/src/main/resources/datasets/cleared_machines.txt
diff --git a/examples/src/main/java/org/apache/ignite/examples/ml/knn/datasets/iris.txt b/examples/src/main/resources/datasets/iris.txt
similarity index 100%
rename from examples/src/main/java/org/apache/ignite/examples/ml/knn/datasets/iris.txt
rename to examples/src/main/resources/datasets/iris.txt
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index 6c09b6a..a45c9b9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -168,7 +168,11 @@
/** */
private AtomicBoolean added = new AtomicBoolean(false);
- /** Event latch. */
+ /**
+ * Discovery event receive latch. There is a race between discovery event processing and single message
+ * processing, so it is possible to create an exchange future before the actual discovery event is received.
+ * This latch is notified when the discovery event arrives.
+ */
@GridToStringExclude
private final CountDownLatch evtLatch = new CountDownLatch(1);
@@ -344,6 +348,10 @@
}
/**
+ * Sets exchange actions associated with the exchange future (such as cache start or stop).
+ * Exchange actions is created from discovery event, so the actions must be set before the event is processed,
+ * thus the setter requires that {@code evtLatch} be armed.
+ *
* @param exchActions Exchange actions.
*/
public void exchangeActions(ExchangeActions exchActions) {
@@ -354,6 +362,20 @@
}
/**
+ * Gets exchanges actions (such as cache start or stop) associated with the exchange future.
+ * Exchange actions can be {@code null} (for example, if the exchange is created for topology
+ * change event).
+ *
+ * @return Exchange actions.
+ */
+ @Nullable public ExchangeActions exchangeActions() {
+ return exchActions;
+ }
+
+ /**
+ * Sets affinity change message associated with the exchange. Affinity change message is required when
+ * centralized affinity change is performed.
+ *
* @param affChangeMsg Affinity change message.
*/
public void affinityChangeMessage(CacheAffinityChangeMessage affChangeMsg) {
@@ -361,9 +383,12 @@
}
/**
+ * Gets the affinity topology version for which this exchange was created. If several exchanges
+ * were merged, initial version is the version of the earliest merged exchange.
+ *
* @return Initial exchange version.
*/
- public AffinityTopologyVersion initialVersion() {
+ @Override public AffinityTopologyVersion initialVersion() {
return exchId.topologyVersion();
}
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 f833911..0b35f18 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
@@ -105,6 +105,7 @@
import org.apache.ignite.internal.processors.cache.CacheGroupContext;
import org.apache.ignite.internal.processors.cache.CacheGroupDescriptor;
import org.apache.ignite.internal.processors.cache.DynamicCacheDescriptor;
+import org.apache.ignite.internal.processors.cache.ExchangeActions;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
import org.apache.ignite.internal.processors.cache.StoredCacheData;
@@ -320,8 +321,8 @@
/** Thread local with buffers for the checkpoint threads. Each buffer represent one page for durable memory. */
private ThreadLocal<ByteBuffer> threadBuf;
- /** */
- private final ConcurrentMap<Integer, IgniteInternalFuture> idxRebuildFuts = new ConcurrentHashMap<>();
+ /** Map from a cacheId to a future indicating that there is an in-progress index rebuild for the given cache. */
+ private final ConcurrentMap<Integer, GridFutureAdapter<Void>> idxRebuildFuts = new ConcurrentHashMap<>();
/**
* Lock holder for compatible folders mode. Null if lock holder was created at start node. <br>
@@ -1127,33 +1128,59 @@
// Before local node join event.
if (clusterInTransitionStateToActive || (joinEvt && locNode && isSrvNode))
restoreState();
+
+ if (cctx.kernalContext().query().moduleEnabled()) {
+ ExchangeActions acts = fut.exchangeActions();
+
+ if (acts != null && !F.isEmpty(acts.cacheStartRequests())) {
+ for (ExchangeActions.CacheActionData actionData : acts.cacheStartRequests()) {
+ int cacheId = CU.cacheId(actionData.request().cacheName());
+
+ GridFutureAdapter<Void> old = idxRebuildFuts.put(cacheId, new GridFutureAdapter<>());
+
+ if (old != null)
+ old.onDone();
+ }
+ }
+ }
}
/** {@inheritDoc} */
@Override public void rebuildIndexesIfNeeded(GridDhtPartitionsExchangeFuture fut) {
if (cctx.kernalContext().query().moduleEnabled()) {
for (final GridCacheContext cacheCtx : (Collection<GridCacheContext>)cctx.cacheContexts()) {
- if (cacheCtx.startTopologyVersion().equals(fut.initialVersion()) &&
- !cctx.pageStore().hasIndexStore(cacheCtx.groupId()) && cacheCtx.affinityNode()) {
+ if (cacheCtx.startTopologyVersion().equals(fut.initialVersion())) {
final int cacheId = cacheCtx.cacheId();
+ final GridFutureAdapter<Void> usrFut = idxRebuildFuts.get(cacheId);
- final IgniteInternalFuture<?> rebuildFut = cctx.kernalContext().query()
- .rebuildIndexesFromHash(Collections.singletonList(cacheCtx.cacheId()));
+ if (!cctx.pageStore().hasIndexStore(cacheCtx.groupId()) && cacheCtx.affinityNode()) {
+ IgniteInternalFuture<?> rebuildFut = cctx.kernalContext().query()
+ .rebuildIndexesFromHash(Collections.singletonList(cacheCtx.cacheId()));
- idxRebuildFuts.put(cacheId, rebuildFut);
+ assert usrFut != null : "Missing user future for cache: " + cacheCtx.name();
- rebuildFut.listen(new CI1<IgniteInternalFuture>() {
- @Override public void apply(IgniteInternalFuture igniteInternalFut) {
- idxRebuildFuts.remove(cacheId, rebuildFut);
+ rebuildFut.listen(new CI1<IgniteInternalFuture>() {
+ @Override public void apply(IgniteInternalFuture igniteInternalFut) {
+ idxRebuildFuts.remove(cacheId, usrFut);
- CacheConfiguration ccfg = cacheCtx.config();
+ usrFut.onDone(igniteInternalFut.error());
- if (ccfg != null) {
- log().info("Finished indexes rebuilding for cache [name=" + ccfg.getName()
- + ", grpName=" + ccfg.getGroupName() + ']');
+ CacheConfiguration ccfg = cacheCtx.config();
+
+ if (ccfg != null) {
+ log().info("Finished indexes rebuilding for cache [name=" + ccfg.getName()
+ + ", grpName=" + ccfg.getGroupName() + ']');
+ }
}
+ });
+ }
+ else {
+ if (usrFut != null) {
+ idxRebuildFuts.remove(cacheId, usrFut);
+
+ usrFut.onDone();
}
- });
+ }
}
}
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/DiscoveryDataClusterState.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/DiscoveryDataClusterState.java
index 1c8e830..dea2ce7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/DiscoveryDataClusterState.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/DiscoveryDataClusterState.java
@@ -146,13 +146,20 @@
}
/**
- * @return {@code True} if state change is in progress.
+ * @return {@code True} if any cluster state change is in progress (e.g. active state change, baseline change).
*/
public boolean transition() {
return transitionReqId != null;
}
/**
+ * @return {@code True} if cluster active state change is in progress, {@code false} otherwise.
+ */
+ public boolean activeStateChanging() {
+ return transition() && active != prevState.active;
+ }
+
+ /**
* @return State change exchange version.
*/
public AffinityTopologyVersion transitionTopologyVersion() {
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
index f28df8a..aa23b61 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
@@ -180,7 +180,7 @@
assert globalState != null;
- if (globalState.transition()) {
+ if (globalState.transition() && globalState.activeStateChanging()) {
Boolean transitionRes = globalState.transitionResult();
if (transitionRes != null)
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheBaselineTopologyTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheBaselineTopologyTest.java
index e70773d..7b40b03 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheBaselineTopologyTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/CacheBaselineTopologyTest.java
@@ -30,8 +30,6 @@
import org.apache.ignite.IgniteCache;
import org.apache.ignite.cache.CacheAtomicityMode;
import org.apache.ignite.cache.CacheMode;
-import org.apache.ignite.cache.CacheWriteSynchronizationMode;
-import org.apache.ignite.cache.PartitionLossPolicy;
import org.apache.ignite.cluster.BaselineNode;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.configuration.CacheConfiguration;
@@ -40,9 +38,10 @@
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.configuration.WALMode;
import org.apache.ignite.internal.IgniteEx;
+import org.apache.ignite.internal.IgniteInternalFuture;
+import org.apache.ignite.internal.IgniteInterruptedCheckedException;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopology;
-import org.apache.ignite.internal.util.lang.GridAbsPredicate;
-import org.apache.ignite.internal.util.typedef.PA;
+import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
@@ -85,6 +84,8 @@
@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
+ cfg.setConsistentId(igniteInstanceName);
+
cfg.setDataStorageConfiguration(
new DataStorageConfiguration().setDefaultDataRegionConfiguration(
new DataRegionConfiguration()
@@ -116,7 +117,7 @@
IgniteEx ignite = grid(0);
- ignite.active(true);
+ ignite.cluster().active(true);
awaitPartitionMapExchange();
@@ -258,6 +259,42 @@
}
/**
+ * @throws Exception if failed.
+ */
+ public void testClusterActiveWhileBaselineChanging() throws Exception {
+ startGrids(NODE_COUNT);
+
+ IgniteEx ig = grid(0);
+
+ ig.cluster().active(true);
+
+ assertTrue(ig.cluster().active());
+
+ startGrid(NODE_COUNT);
+
+ IgniteInternalFuture fut = GridTestUtils.runAsync(() -> {
+ try {
+ U.sleep(100);
+ }
+ catch (IgniteInterruptedCheckedException e) {
+ e.printStackTrace();
+ }
+ ig.cluster().setBaselineTopology(NODE_COUNT + 1);
+ });
+
+ while (!fut.isDone()) {
+ assertTrue(grid(0).cluster().active());
+ assertTrue(grid(0).context().state().publicApiActiveState(false));
+ assertTrue(grid(NODE_COUNT).cluster().active());
+ assertTrue(grid(NODE_COUNT).context().state().publicApiActiveState(false));
+ }
+
+ assertNull(String.valueOf(fut.error()), fut.error());
+
+ assertEquals(NODE_COUNT + 1, ig.cluster().currentBaselineTopology().size());
+ }
+
+ /**
* @throws Exception If failed.
*/
private void testBaselineTopologyChanges(boolean fromClient) throws Exception {
@@ -275,7 +312,7 @@
else
ignite = grid(0);
- ignite.active(true);
+ ignite.cluster().active(true);
awaitPartitionMapExchange();
@@ -287,14 +324,13 @@
nodes.put(ig.cluster().localNode(), ig);
}
- IgniteCache<Integer, Integer> cache =
- ignite.createCache(
- new CacheConfiguration<Integer, Integer>()
- .setName(CACHE_NAME)
- .setCacheMode(PARTITIONED)
- .setBackups(1)
- .setPartitionLossPolicy(READ_ONLY_SAFE)
- );
+ ignite.createCache(
+ new CacheConfiguration<Integer, Integer>()
+ .setName(CACHE_NAME)
+ .setCacheMode(PARTITIONED)
+ .setBackups(1)
+ .setPartitionLossPolicy(READ_ONLY_SAFE)
+ );
int key = -1;
@@ -307,8 +343,6 @@
assert key >= 0;
- int part = ignite.affinity(CACHE_NAME).partition(key);
-
Collection<ClusterNode> initialMapping = ignite.affinity(CACHE_NAME).mapKeyToPrimaryAndBackups(key);
assert initialMapping.size() == 2 : initialMapping;
@@ -474,7 +508,7 @@
IgniteEx ig = grid(0);
- ig.active(true);
+ ig.cluster().active(true);
IgniteCache<Integer, Integer> cache =
ig.createCache(
@@ -544,14 +578,13 @@
primary = grid(primaryIdx);
backup = grid(backupIdx);
- boolean activated = GridTestUtils.waitForCondition(new GridAbsPredicate() {
- @Override public boolean apply() {
- for (int i = 0; i < NODE_COUNT; i++)
- if (!grid(i).active())
- return false;
-
- return true;
+ boolean activated = GridTestUtils.waitForCondition(() -> {
+ for (int i = 0; i < NODE_COUNT; i++) {
+ if (!grid(i).cluster().active())
+ return false;
}
+
+ return true;
}, 10_000);
assert activated;
@@ -580,7 +613,7 @@
Ignite ignite3 = grid(3);
- ignite3.active(true);
+ ignite3.cluster().active(true);
CacheConfiguration<Object, Object> repCacheCfg = new CacheConfiguration<>("replicated")
.setCacheMode(CacheMode.REPLICATED)
@@ -600,12 +633,7 @@
startGrids(5);
- GridTestUtils.waitForCondition(new PA() {
- @Override
- public boolean apply() {
- return grid(0).cluster().active();
- }
- }, getTestTimeout());
+ GridTestUtils.waitForCondition(() -> grid(0).cluster().active(), getTestTimeout());
for (int g = 0; g < 5; g++) {
for (int i = 0; i < 100; i++)
@@ -621,7 +649,7 @@
Ignite ignite3 = grid(3);
- ignite3.active(true);
+ ignite3.cluster().active(true);
stopGrid(0);
@@ -640,12 +668,7 @@
startGrids(5);
- GridTestUtils.waitForCondition(new PA() {
- @Override
- public boolean apply() {
- return grid(0).cluster().active();
- }
- }, getTestTimeout());
+ GridTestUtils.waitForCondition(() -> grid(0).cluster().active(), getTestTimeout());
for (int g = 0; g < 5; g++) {
for (int i = 0; i < 2048; i++)
@@ -678,8 +701,7 @@
private Collection<BaselineNode> baselineNodes(Collection<ClusterNode> clNodes) {
Collection<BaselineNode> res = new ArrayList<>(clNodes.size());
- for (ClusterNode clN : clNodes)
- res.add(clN);
+ res.addAll(clNodes);
return res;
}
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPessimisticDeadlockDetectionTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPessimisticDeadlockDetectionTest.java
index 60f1c96..3102713 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPessimisticDeadlockDetectionTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPessimisticDeadlockDetectionTest.java
@@ -156,6 +156,8 @@
* @throws Exception If failed.
*/
public void testDeadlocksLocal() throws Exception {
+ fail("https://issues.apache.org/jira/browse/IGNITE-7581");
+
for (CacheWriteSynchronizationMode syncMode : CacheWriteSynchronizationMode.values()) {
IgniteCache cache = null;
diff --git a/modules/ignored-tests/pom.xml b/modules/ignored-tests/pom.xml
index 8e3993b..affa6fb 100644
--- a/modules/ignored-tests/pom.xml
+++ b/modules/ignored-tests/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-ignored-tests</artifactId>
- <version>1.7.0-SNAPSHOT</version>
+ <version>2.5.0-SNAPSHOT</version>
<url>http://ignite.apache.org</url>
<dependencies>
diff --git a/modules/platforms/cpp/common/configure.ac b/modules/platforms/cpp/common/configure.ac
index cf4f8cb..54403c8 100644
--- a/modules/platforms/cpp/common/configure.ac
+++ b/modules/platforms/cpp/common/configure.ac
@@ -19,7 +19,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
-AC_INIT([Apache Ignite JNI bridge for C++], [2.2.0.21810], [dev@ignite.apache.org], [ignite-common], [ignite.apache.org])
+AC_INIT([Apache Ignite JNI bridge for C++], [2.5.0.26265], [dev@ignite.apache.org], [ignite-common], [ignite.apache.org])
AC_CONFIG_SRCDIR(src)
AC_CANONICAL_SYSTEM
diff --git a/modules/platforms/cpp/configure.ac b/modules/platforms/cpp/configure.ac
index ed3b51b..d7fae96 100644
--- a/modules/platforms/cpp/configure.ac
+++ b/modules/platforms/cpp/configure.ac
@@ -19,7 +19,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
-AC_INIT([Apache Ignite C++], [2.4.0.21810], [dev@ignite.apache.org], [ignite], [ignite.apache.org])
+AC_INIT([Apache Ignite C++], [2.5.0.26265], [dev@ignite.apache.org], [ignite], [ignite.apache.org])
AC_CANONICAL_HOST
AC_CONFIG_MACRO_DIR([m4])
diff --git a/modules/platforms/cpp/configure.acrel b/modules/platforms/cpp/configure.acrel
index 43ac20d..8d9479b 100644
--- a/modules/platforms/cpp/configure.acrel
+++ b/modules/platforms/cpp/configure.acrel
@@ -19,7 +19,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
-AC_INIT([Apache Ignite C++], [2.4.0.21810], [dev@ignite.apache.org], [ignite], [ignite.apache.org])
+AC_INIT([Apache Ignite C++], [2.5.0.26265], [dev@ignite.apache.org], [ignite], [ignite.apache.org])
AC_CANONICAL_HOST
AC_CONFIG_MACRO_DIR([m4])
diff --git a/modules/platforms/cpp/core-test/configure.ac b/modules/platforms/cpp/core-test/configure.ac
index 1196239..60335d4 100644
--- a/modules/platforms/cpp/core-test/configure.ac
+++ b/modules/platforms/cpp/core-test/configure.ac
@@ -19,7 +19,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
-AC_INIT([Apache Ignite C++ Test], [2.2.0.21810], [dev@ignite.apache.org], [ignite], [ignite.apache.org])
+AC_INIT([Apache Ignite C++ Test], [2.5.0.26265], [dev@ignite.apache.org], [ignite], [ignite.apache.org])
AC_CONFIG_SRCDIR(src)
AC_CANONICAL_SYSTEM
diff --git a/modules/platforms/cpp/core/configure.ac b/modules/platforms/cpp/core/configure.ac
index 0673193..f7b6131 100644
--- a/modules/platforms/cpp/core/configure.ac
+++ b/modules/platforms/cpp/core/configure.ac
@@ -19,7 +19,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
-AC_INIT([Apache Ignite C++], [2.2.0.21810], [dev@ignite.apache.org], [ignite], [ignite.apache.org])
+AC_INIT([Apache Ignite C++], [2.5.0.26265], [dev@ignite.apache.org], [ignite], [ignite.apache.org])
AC_CONFIG_SRCDIR(src)
AC_CANONICAL_SYSTEM
diff --git a/modules/platforms/cpp/examples/configure.ac b/modules/platforms/cpp/examples/configure.ac
index d8c3da2..7cef4ac 100644
--- a/modules/platforms/cpp/examples/configure.ac
+++ b/modules/platforms/cpp/examples/configure.ac
@@ -19,7 +19,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
-AC_INIT([Apache Ignite C++ Examples], [2.2.0.21810], [dev@ignite.apache.org], [ignite-examples], [ignite.apache.org])
+AC_INIT([Apache Ignite C++ Examples], [2.5.0.26265], [dev@ignite.apache.org], [ignite-examples], [ignite.apache.org])
AC_CANONICAL_HOST
AC_CONFIG_MACRO_DIR([m4])
diff --git a/modules/platforms/cpp/ignite/configure.ac b/modules/platforms/cpp/ignite/configure.ac
index e3dfd3e..2e5fdc6 100644
--- a/modules/platforms/cpp/ignite/configure.ac
+++ b/modules/platforms/cpp/ignite/configure.ac
@@ -19,7 +19,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
-AC_INIT([Apache Ignite C++ Runner], [2.2.0.21810], [dev@ignite.apache.org], [ignite], [ignite.apache.org])
+AC_INIT([Apache Ignite C++ Runner], [2.5.0.26265], [dev@ignite.apache.org], [ignite], [ignite.apache.org])
AC_CONFIG_SRCDIR(src)
AC_CANONICAL_SYSTEM
diff --git a/modules/platforms/cpp/odbc/install/ignite-odbc-amd64.wxs b/modules/platforms/cpp/odbc/install/ignite-odbc-amd64.wxs
index cf1e8f1..f28d0de 100644
--- a/modules/platforms/cpp/odbc/install/ignite-odbc-amd64.wxs
+++ b/modules/platforms/cpp/odbc/install/ignite-odbc-amd64.wxs
@@ -21,7 +21,7 @@
<Product Name='Apache Ignite ODBC 64-bit Driver' Manufacturer='The Apache Software Foundation'
Id='F3E308E4-910C-4AF5-82DE-2ACF4D64830E'
UpgradeCode='1D7AEFDF-6CD2-4FB5-88F2-811A89832D6D'
- Language='1033' Codepage='1252' Version='2.4.0.21810'>
+ Language='1033' Codepage='1252' Version='2.5.0.26265'>
<Package Id='*' Keywords='Installer' Description="Apache Ignite ODBC 64-bit Driver Installer"
Comments='Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are trademarks of The Apache Software Foundation.'
diff --git a/modules/platforms/cpp/odbc/install/ignite-odbc-x86.wxs b/modules/platforms/cpp/odbc/install/ignite-odbc-x86.wxs
index a5e0e40..8b66956 100644
--- a/modules/platforms/cpp/odbc/install/ignite-odbc-x86.wxs
+++ b/modules/platforms/cpp/odbc/install/ignite-odbc-x86.wxs
@@ -21,7 +21,7 @@
<Product Name='Apache Ignite ODBC 32-bit Driver' Manufacturer='The Apache Software Foundation'
Id='D39CBABA-1E21-4701-AA5C-91EDA07B383B'
UpgradeCode='743902A4-365C-424E-B226-5B2898A3941E'
- Language='1033' Codepage='1252' Version='2.4.0.21810'>
+ Language='1033' Codepage='1252' Version='2.5.0.26265'>
<Package Id='*' Keywords='Installer' Description="Apache Ignite ODBC 32-bit Driver Installer"
Comments='Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are trademarks of The Apache Software Foundation.'
diff --git a/modules/platforms/dotnet/Apache.Ignite.AspNet.Tests/Properties/AssemblyInfo.cs b/modules/platforms/dotnet/Apache.Ignite.AspNet.Tests/Properties/AssemblyInfo.cs
index 0914c5f..726da11 100644
--- a/modules/platforms/dotnet/Apache.Ignite.AspNet.Tests/Properties/AssemblyInfo.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.AspNet.Tests/Properties/AssemblyInfo.cs
@@ -35,8 +35,8 @@
[assembly: Guid("18ea4c71-a11d-4ab1-8042-418f7559d84f")]
-[assembly: AssemblyVersion("2.4.0.25406")]
-[assembly: AssemblyFileVersion("2.4.0.25406")]
-[assembly: AssemblyInformationalVersion("2.4.0")]
+[assembly: AssemblyVersion("2.5.0.26265")]
+[assembly: AssemblyFileVersion("2.5.0.26265")]
+[assembly: AssemblyInformationalVersion("2.5.0")]
[assembly: CLSCompliant(true)]
\ No newline at end of file
diff --git a/modules/platforms/dotnet/Apache.Ignite.AspNet/Properties/AssemblyInfo.cs b/modules/platforms/dotnet/Apache.Ignite.AspNet/Properties/AssemblyInfo.cs
index 063f999..96b6d56 100644
--- a/modules/platforms/dotnet/Apache.Ignite.AspNet/Properties/AssemblyInfo.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.AspNet/Properties/AssemblyInfo.cs
@@ -33,9 +33,9 @@
[assembly: Guid("13ea96fc-cc83-4164-a7c0-4f30ed797460")]
-[assembly: AssemblyVersion("2.4.0.25406")]
-[assembly: AssemblyFileVersion("2.4.0.25406")]
-[assembly: AssemblyInformationalVersion("2.4.0")]
+[assembly: AssemblyVersion("2.5.0.26265")]
+[assembly: AssemblyFileVersion("2.5.0.26265")]
+[assembly: AssemblyInformationalVersion("2.5.0")]
[assembly: CLSCompliant(true)]
diff --git a/modules/platforms/dotnet/Apache.Ignite.Benchmarks/Properties/AssemblyInfo.cs b/modules/platforms/dotnet/Apache.Ignite.Benchmarks/Properties/AssemblyInfo.cs
index 512d248..1620f95 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Benchmarks/Properties/AssemblyInfo.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Benchmarks/Properties/AssemblyInfo.cs
@@ -31,6 +31,6 @@
[assembly: Guid("8fae8395-7e91-411a-a78f-44d6d3fed0fc")]
-[assembly: AssemblyVersion("2.4.0.25406")]
-[assembly: AssemblyFileVersion("2.4.0.25406")]
-[assembly: AssemblyInformationalVersion("2.4.0")]
\ No newline at end of file
+[assembly: AssemblyVersion("2.5.0.26265")]
+[assembly: AssemblyFileVersion("2.5.0.26265")]
+[assembly: AssemblyInformationalVersion("2.5.0")]
\ No newline at end of file
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests.NuGet/Properties/AssemblyInfo.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests.NuGet/Properties/AssemblyInfo.cs
index c088101..bac4cb4 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests.NuGet/Properties/AssemblyInfo.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests.NuGet/Properties/AssemblyInfo.cs
@@ -30,6 +30,6 @@
[assembly: ComVisible(false)]
[assembly: Guid("134707f6-155d-47f6-9eb2-c67abbf3c009")]
-[assembly: AssemblyVersion("2.4.0.25406")]
-[assembly: AssemblyFileVersion("2.4.0.25406")]
-[assembly: AssemblyInformationalVersion("2.4.0")]
\ No newline at end of file
+[assembly: AssemblyVersion("2.5.0.26265")]
+[assembly: AssemblyFileVersion("2.5.0.26265")]
+[assembly: AssemblyInformationalVersion("2.5.0")]
\ No newline at end of file
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests.TestDll/Properties/AssemblyInfo.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests.TestDll/Properties/AssemblyInfo.cs
index 47e8270..4a24f77 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests.TestDll/Properties/AssemblyInfo.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests.TestDll/Properties/AssemblyInfo.cs
@@ -45,6 +45,6 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("2.4.0.25406")]
-[assembly: AssemblyFileVersion("2.4.0.25406")]
-[assembly: AssemblyInformationalVersion("2.4.0")]
+[assembly: AssemblyVersion("2.5.0.26265")]
+[assembly: AssemblyFileVersion("2.5.0.26265")]
+[assembly: AssemblyInformationalVersion("2.5.0")]
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Properties/AssemblyInfo.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Properties/AssemblyInfo.cs
index 596f549..7b888f0 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Properties/AssemblyInfo.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Properties/AssemblyInfo.cs
@@ -31,6 +31,6 @@
[assembly: Guid("de8dd5cc-7c7f-4a09-80d5-7086d9416a7b")]
-[assembly: AssemblyVersion("2.4.0.25406")]
-[assembly: AssemblyFileVersion("2.4.0.25406")]
-[assembly: AssemblyInformationalVersion("2.4.0")]
\ No newline at end of file
+[assembly: AssemblyVersion("2.5.0.26265")]
+[assembly: AssemblyFileVersion("2.5.0.26265")]
+[assembly: AssemblyInformationalVersion("2.5.0")]
\ No newline at end of file
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Properties/AssemblyInfo.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Properties/AssemblyInfo.cs
index 6379807..98ad8f6 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Properties/AssemblyInfo.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Properties/AssemblyInfo.cs
@@ -33,9 +33,9 @@
[assembly: Guid("97db45a8-f922-456a-a819-7b3c6e5e03ba")]
-[assembly: AssemblyVersion("2.4.0.25406")]
-[assembly: AssemblyFileVersion("2.4.0.25406")]
-[assembly: AssemblyInformationalVersion("2.4.0")]
+[assembly: AssemblyVersion("2.5.0.26265")]
+[assembly: AssemblyFileVersion("2.5.0.26265")]
+[assembly: AssemblyInformationalVersion("2.5.0")]
[assembly: CLSCompliant(true)]
diff --git a/modules/platforms/dotnet/Apache.Ignite.EntityFramework.Tests/Properties/AssemblyInfo.cs b/modules/platforms/dotnet/Apache.Ignite.EntityFramework.Tests/Properties/AssemblyInfo.cs
index b5c88d6..3768d9c 100644
--- a/modules/platforms/dotnet/Apache.Ignite.EntityFramework.Tests/Properties/AssemblyInfo.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.EntityFramework.Tests/Properties/AssemblyInfo.cs
@@ -32,8 +32,8 @@
[assembly: Guid("cda5700e-78f3-4a9e-a9b0-704cbe94651c")]
-[assembly: AssemblyVersion("2.4.0.25406")]
-[assembly: AssemblyFileVersion("2.4.0.25406")]
-[assembly: AssemblyInformationalVersion("2.4.0")]
+[assembly: AssemblyVersion("2.5.0.26265")]
+[assembly: AssemblyFileVersion("2.5.0.26265")]
+[assembly: AssemblyInformationalVersion("2.5.0")]
[assembly: CLSCompliant(true)]
\ No newline at end of file
diff --git a/modules/platforms/dotnet/Apache.Ignite.EntityFramework/Properties/AssemblyInfo.cs b/modules/platforms/dotnet/Apache.Ignite.EntityFramework/Properties/AssemblyInfo.cs
index 4f3f819..1b1159e 100644
--- a/modules/platforms/dotnet/Apache.Ignite.EntityFramework/Properties/AssemblyInfo.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.EntityFramework/Properties/AssemblyInfo.cs
@@ -32,9 +32,9 @@
[assembly: ComVisible(false)]
[assembly: Guid("c558518a-c1a0-4224-aaa9-a8688474b4dc")]
-[assembly: AssemblyVersion("2.4.0.25406")]
-[assembly: AssemblyFileVersion("2.4.0.25406")]
-[assembly: AssemblyInformationalVersion("2.4.0")]
+[assembly: AssemblyVersion("2.5.0.26265")]
+[assembly: AssemblyFileVersion("2.5.0.26265")]
+[assembly: AssemblyInformationalVersion("2.5.0")]
[assembly: CLSCompliant(true)]
diff --git a/modules/platforms/dotnet/Apache.Ignite.Linq/Properties/AssemblyInfo.cs b/modules/platforms/dotnet/Apache.Ignite.Linq/Properties/AssemblyInfo.cs
index bd2382f..f8173d9 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Linq/Properties/AssemblyInfo.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Linq/Properties/AssemblyInfo.cs
@@ -33,8 +33,8 @@
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("5b571661-17f4-4f29-8c7d-0edb38ca9b55")]
-[assembly: AssemblyVersion("2.4.0.25406")]
-[assembly: AssemblyFileVersion("2.4.0.25406")]
-[assembly: AssemblyInformationalVersion("2.4.0")]
+[assembly: AssemblyVersion("2.5.0.26265")]
+[assembly: AssemblyFileVersion("2.5.0.26265")]
+[assembly: AssemblyInformationalVersion("2.5.0")]
[assembly: CLSCompliant(true)]
\ No newline at end of file
diff --git a/modules/platforms/dotnet/Apache.Ignite.Log4Net/Properties/AssemblyInfo.cs b/modules/platforms/dotnet/Apache.Ignite.Log4Net/Properties/AssemblyInfo.cs
index d6963ef..ac141cc 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Log4Net/Properties/AssemblyInfo.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Log4Net/Properties/AssemblyInfo.cs
@@ -33,8 +33,8 @@
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("6f82d669-382e-4435-8092-68c4440146d8")]
-[assembly: AssemblyVersion("2.4.0.25406")]
-[assembly: AssemblyFileVersion("2.4.0.25406")]
-[assembly: AssemblyInformationalVersion("2.4.0")]
+[assembly: AssemblyVersion("2.5.0.26265")]
+[assembly: AssemblyFileVersion("2.5.0.26265")]
+[assembly: AssemblyInformationalVersion("2.5.0")]
[assembly: CLSCompliant(true)]
\ No newline at end of file
diff --git a/modules/platforms/dotnet/Apache.Ignite.NLog/Properties/AssemblyInfo.cs b/modules/platforms/dotnet/Apache.Ignite.NLog/Properties/AssemblyInfo.cs
index ae72611..b7e79b6 100644
--- a/modules/platforms/dotnet/Apache.Ignite.NLog/Properties/AssemblyInfo.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.NLog/Properties/AssemblyInfo.cs
@@ -33,8 +33,8 @@
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("c6b58e4a-a2e9-4554-ad02-68ce6da5cfb7")]
-[assembly: AssemblyVersion("2.4.0.25406")]
-[assembly: AssemblyFileVersion("2.4.0.25406")]
-[assembly: AssemblyInformationalVersion("2.4.0")]
+[assembly: AssemblyVersion("2.5.0.26265")]
+[assembly: AssemblyFileVersion("2.5.0.26265")]
+[assembly: AssemblyInformationalVersion("2.5.0")]
[assembly: CLSCompliant(true)]
diff --git a/modules/platforms/dotnet/Apache.Ignite/Properties/AssemblyInfo.cs b/modules/platforms/dotnet/Apache.Ignite/Properties/AssemblyInfo.cs
index 05646ab..48de959 100644
--- a/modules/platforms/dotnet/Apache.Ignite/Properties/AssemblyInfo.cs
+++ b/modules/platforms/dotnet/Apache.Ignite/Properties/AssemblyInfo.cs
@@ -31,6 +31,6 @@
[assembly: Guid("0f9702ec-da7d-4ce5-b4b7-73310c885355")]
-[assembly: AssemblyVersion("2.4.0.25406")]
-[assembly: AssemblyFileVersion("2.4.0.25406")]
-[assembly: AssemblyInformationalVersion("2.4.0")]
\ No newline at end of file
+[assembly: AssemblyVersion("2.5.0.26265")]
+[assembly: AssemblyFileVersion("2.5.0.26265")]
+[assembly: AssemblyInformationalVersion("2.5.0")]
\ No newline at end of file
diff --git a/parent/pom.xml b/parent/pom.xml
index c937227..0d6729e 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -844,9 +844,7 @@
<exclude>src/main/java/org/apache/ignite/examples/streaming/wordcount/*.txt</exclude><!--books examples-->
<exclude>examples/src/main/java/org/apache/ignite/examples/streaming/wordcount/*.txt</exclude><!--books examples-->
<exclude>src/main/resources/person.csv</exclude><!--CacheLoadOnlyStoreExample csv-->
- <exclude>**/resources/datasets/knn/*</exclude><!--Dataset examples in ml module-->
- <exclude>**/resources/datasets/regression/*</exclude><!--Dataset examples in ml module-->
- <exclude>**/ml/knn/datasets/*</exclude><!--Datasets for ML KNN in examples module-->
+ <exclude>**/resources/datasets/**/*</exclude><!--KNN Datasets in ml module-->
<exclude>examples/src/main/resources/person.csv</exclude><!--CacheLoadOnlyStoreExample csv-->
<exclude>src/main/java/org/jetbrains/annotations/*.java</exclude><!--copyright-->
<exclude>dev-tools/IGNITE-*.patch</exclude>
diff --git a/pom.xml b/pom.xml
index 4d62d28..086d241 100644
--- a/pom.xml
+++ b/pom.xml
@@ -661,7 +661,7 @@
setClientVersion('new.ignite.version.fixed', 'new.client.version');
</script>
- <echo message="Update ignite.version in dotnet client" />
+ <echo message="Update ignite.version in .NET" />
<echo message="${new.client.version}" />
<replaceregexp byline="true" encoding="UTF-8">
@@ -682,7 +682,7 @@
</fileset>
</replaceregexp>
- <echo message="Update ignite.version in cpp client" />
+ <echo message="Update ignite.version in C++" />
<replaceregexp byline="true" encoding="UTF-8">
<regexp pattern="(AC_INIT.+\[)\d+\.\d+\.\d+.*?(\].+)" />
<substitution expression="\1${new.client.version}\2" />
diff --git a/scripts/update-versions.sh b/scripts/update-versions.sh
new file mode 100755
index 0000000..a9535c3
--- /dev/null
+++ b/scripts/update-versions.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# 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.
+#
+
+#
+# Updates Ignite version in Java pom files, .NET AssemblyInfo files, C++ configure files.
+# Run in Ignite sources root directory.
+# Usage: ./update-versions 2.6.0
+#
+
+if [ $# -eq 0 ]
+ then
+ echo "Version not specified"
+ exit 1
+fi
+
+echo Updating Java versions to $1 with Maven...
+mvn versions:set -DnewVersion=$1 -Pall-java,all-scala,all-other -DgenerateBackupPoms=false -DgroupId=* -DartifactId=* -DoldVersion=* -DprocessDependencies=false
+
+echo Updating .NET & C++ versions to $1 with Maven...
+mvn validate -P update-versions -D new.ignite.version=$1