You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/07/14 15:19:34 UTC
[01/50] [abbrv] incubator-ignite git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-591
Repository: incubator-ignite
Updated Branches:
refs/heads/ignite-890 3a4d008b0 -> 86b85455f
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-591
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/9a51cdf8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/9a51cdf8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/9a51cdf8
Branch: refs/heads/ignite-890
Commit: 9a51cdf8d051dd0a6c0159fe1a2bc4bf56201da7
Parents: bc29797 0f1b31a
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Tue Jul 7 19:09:30 2015 -0700
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Tue Jul 7 19:09:30 2015 -0700
----------------------------------------------------------------------
dev-tools/slurp.sh | 2 +-
.../internal/interop/InteropIgnition.java | 17 +-
.../internal/interop/InteropProcessor.java | 7 +
.../cache/query/GridCacheQueryAdapter.java | 35 ++++-
.../processors/query/GridQueryProcessor.java | 5 +
.../CacheAbstractQueryMetricsSelfTest.java | 157 ++++++++++++++++++-
.../cache/CacheLocalQueryMetricsSelfTest.java | 33 ++++
...titionedQueryMetricsDistributedSelfTest.java | 33 ++++
...chePartitionedQueryMetricsLocalSelfTest.java | 33 ++++
.../CachePartitionedQueryMetricsSelfTest.java | 32 ----
...plicatedQueryMetricsDistributedSelfTest.java | 33 ++++
...acheReplicatedQueryMetricsLocalSelfTest.java | 33 ++++
.../CacheReplicatedQueryMetricsSelfTest.java | 32 ----
.../IgniteCacheQuerySelfTestSuite.java | 7 +-
scripts/git-patch-prop.sh | 2 +-
15 files changed, 386 insertions(+), 75 deletions(-)
----------------------------------------------------------------------
[08/50] [abbrv] incubator-ignite git commit: Fixed notes
Posted by sb...@apache.org.
Fixed notes
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/1a6948e8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/1a6948e8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/1a6948e8
Branch: refs/heads/ignite-890
Commit: 1a6948e8778d0e6379ffc0c99fee0d83d8bbebd7
Parents: 82f4992
Author: nikolay_tikhonov <nt...@gridgain.com>
Authored: Wed Jul 8 13:04:31 2015 +0300
Committer: nikolay_tikhonov <nt...@gridgain.com>
Committed: Wed Jul 8 13:04:31 2015 +0300
----------------------------------------------------------------------
.../config/benchmark-index-put.properties | 64 --------
.../config/benchmark-put-indexed-val.properties | 64 ++++++++
.../cache/IgnitePutIndex1Benchmark.java | 42 -----
.../cache/IgnitePutIndex2Benchmark.java | 42 -----
.../cache/IgnitePutIndexedValue1Benchmark.java | 42 +++++
.../cache/IgnitePutIndexedValue2Benchmark.java | 42 +++++
.../cache/IgnitePutIndexedValue8Benchmark.java | 2 +-
.../ignite/yardstick/cache/model/Person1.java | 29 +---
.../ignite/yardstick/cache/model/Person2.java | 45 +-----
.../ignite/yardstick/cache/model/Person8.java | 155 ++-----------------
10 files changed, 167 insertions(+), 360 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a6948e8/modules/yardstick/config/benchmark-index-put.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-index-put.properties b/modules/yardstick/config/benchmark-index-put.properties
deleted file mode 100644
index fb73656..0000000
--- a/modules/yardstick/config/benchmark-index-put.properties
+++ /dev/null
@@ -1,64 +0,0 @@
-# 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.
-
-#
-# Contains benchmarks for SQL queries.
-#
-
-# JVM options.
-# JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
-
-# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
-JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false" \
- -XX:+UseParNewGC \
- -XX:+UseConcMarkSweepGC \
- -XX:+UseTLAB \
- -XX:NewSize=128m \
- -XX:MaxNewSize=128m \
- -XX:MaxTenuringThreshold=0 \
- -XX:SurvivorRatio=1024 \
- -XX:+UseCMSInitiatingOccupancyOnly \
- -XX:CMSInitiatingOccupancyFraction=60 \
-"
-
-# List of default probes.
-# Add DStatProbe or VmStatProbe if your OS supports it (e.g. if running on Linux).
-BENCHMARK_DEFAULT_PROBES=ThroughputLatencyProbe,PercentileProbe
-
-# Packages where the specified benchmark is searched by reflection mechanism.
-BENCHMARK_PACKAGES=org.yardstickframework,org.apache.ignite.yardstick
-
-# Probe point writer class name.
-# BENCHMARK_WRITER=
-
-# Comma-separated list of the hosts to run BenchmarkServers on. 2 nodes on local host are enabled by default.
-SERVER_HOSTS=localhost,localhost
-
-# Comma-separated list of the hosts to run BenchmarkDrivers on. 1 node on local host is enabled by default.
-DRIVER_HOSTS=localhost
-
-# Remote username.
-# REMOTE_USER=
-
-# Number of nodes, used to wait for the specified number of nodes to start.
-nodesNum=$((`echo ${SERVER_HOSTS} | tr ',' '\n' | wc -l` + `echo ${DRIVER_HOSTS} | tr ',' '\n' | wc -l`))
-
-# Run configuration.
-# Note that each benchmark is set to run for 300 seconds (5 mins) with warm-up set to 60 seconds (1 minute).
-CONFIGS="\
--cfg ${SCRIPT_DIR}/../config/ignite-localhost-config.xml -nn ${nodesNum} -b 1 -w 60 -d 300 -t 64 -sm PRIMARY_SYNC -dn IgnitePutIndex1Benchmark -sn IgniteNode -ds atomic-indexed1-put,\
--cfg ${SCRIPT_DIR}/../config/ignite-localhost-config.xml -nn ${nodesNum} -b 1 -w 60 -d 300 -t 64 -sm PRIMARY_SYNC -dn IgnitePutIndex2Benchmark -sn IgniteNode -ds atomic-indexed2-put,\
--cfg ${SCRIPT_DIR}/../config/ignite-localhost-config.xml -nn ${nodesNum} -b 1 -w 60 -d 300 -t 64 -sm PRIMARY_SYNC -dn IgnitePutIndex8Benchmark -sn IgniteNode -ds atomic-indexed8-put\
-"
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a6948e8/modules/yardstick/config/benchmark-put-indexed-val.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-put-indexed-val.properties b/modules/yardstick/config/benchmark-put-indexed-val.properties
new file mode 100644
index 0000000..8f3a505
--- /dev/null
+++ b/modules/yardstick/config/benchmark-put-indexed-val.properties
@@ -0,0 +1,64 @@
+# 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.
+
+#
+# Contains benchmarks for SQL queries.
+#
+
+# JVM options.
+# JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
+
+# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
+JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false" \
+ -XX:+UseParNewGC \
+ -XX:+UseConcMarkSweepGC \
+ -XX:+UseTLAB \
+ -XX:NewSize=128m \
+ -XX:MaxNewSize=128m \
+ -XX:MaxTenuringThreshold=0 \
+ -XX:SurvivorRatio=1024 \
+ -XX:+UseCMSInitiatingOccupancyOnly \
+ -XX:CMSInitiatingOccupancyFraction=60 \
+"
+
+# List of default probes.
+# Add DStatProbe or VmStatProbe if your OS supports it (e.g. if running on Linux).
+BENCHMARK_DEFAULT_PROBES=ThroughputLatencyProbe,PercentileProbe
+
+# Packages where the specified benchmark is searched by reflection mechanism.
+BENCHMARK_PACKAGES=org.yardstickframework,org.apache.ignite.yardstick
+
+# Probe point writer class name.
+# BENCHMARK_WRITER=
+
+# Comma-separated list of the hosts to run BenchmarkServers on. 2 nodes on local host are enabled by default.
+SERVER_HOSTS=localhost,localhost
+
+# Comma-separated list of the hosts to run BenchmarkDrivers on. 1 node on local host is enabled by default.
+DRIVER_HOSTS=localhost
+
+# Remote username.
+# REMOTE_USER=
+
+# Number of nodes, used to wait for the specified number of nodes to start.
+nodesNum=$((`echo ${SERVER_HOSTS} | tr ',' '\n' | wc -l` + `echo ${DRIVER_HOSTS} | tr ',' '\n' | wc -l`))
+
+# Run configuration.
+# Note that each benchmark is set to run for 300 seconds (5 mins) with warm-up set to 60 seconds (1 minute).
+CONFIGS="\
+-cfg ${SCRIPT_DIR}/../config/ignite-localhost-config.xml -nn ${nodesNum} -b 1 -w 60 -d 300 -t 64 -sm PRIMARY_SYNC -dn IgnitePutIndexedValue1Benchmark -sn IgniteNode -ds atomic-put-indexed-val-1,\
+-cfg ${SCRIPT_DIR}/../config/ignite-localhost-config.xml -nn ${nodesNum} -b 1 -w 60 -d 300 -t 64 -sm PRIMARY_SYNC -dn IgnitePutIndexedValue2Benchmark -sn IgniteNode -ds atomic-put-indexed-val-2,\
+-cfg ${SCRIPT_DIR}/../config/ignite-localhost-config.xml -nn ${nodesNum} -b 1 -w 60 -d 300 -t 64 -sm PRIMARY_SYNC -dn IgnitePutIndexedValue8Benchmark -sn IgniteNode -ds atomic-put-indexed-val-8\
+"
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a6948e8/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex1Benchmark.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex1Benchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex1Benchmark.java
deleted file mode 100644
index 65dd39a..0000000
--- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex1Benchmark.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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.yardstick.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.yardstick.cache.model.*;
-
-import java.util.*;
-
-/**
- * Ignite benchmark that performs put operations for entity with indexed fields.
- */
-public class IgnitePutIndex1Benchmark extends IgniteCacheAbstractBenchmark {
- /** {@inheritDoc} */
- @Override public boolean test(Map<Object, Object> ctx) throws Exception {
- int key = nextRandom(args.range());
-
- cache.put(key, new Person1(key));
-
- return true;
- }
-
- /** {@inheritDoc} */
- @Override protected IgniteCache<Integer, Object> cache() {
- return ignite().cache("atomic-index");
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a6948e8/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex2Benchmark.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex2Benchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex2Benchmark.java
deleted file mode 100644
index b4cf86f..0000000
--- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex2Benchmark.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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.yardstick.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.yardstick.cache.model.*;
-
-import java.util.*;
-
-/**
- * Ignite benchmark that performs put operations for entity with indexed fields.
- */
-public class IgnitePutIndex2Benchmark extends IgniteCacheAbstractBenchmark {
- /** {@inheritDoc} */
- @Override public boolean test(Map<Object, Object> ctx) throws Exception {
- int key = nextRandom(args.range());
-
- cache.put(key, new Person2(key, key + 1));
-
- return true;
- }
-
- /** {@inheritDoc} */
- @Override protected IgniteCache<Integer, Object> cache() {
- return ignite().cache("atomic-index");
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a6948e8/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue1Benchmark.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue1Benchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue1Benchmark.java
new file mode 100644
index 0000000..68de785
--- /dev/null
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue1Benchmark.java
@@ -0,0 +1,42 @@
+/*
+ * 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.yardstick.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.yardstick.cache.model.*;
+
+import java.util.*;
+
+/**
+ * Ignite benchmark that performs put operations for entity with indexed fields.
+ */
+public class IgnitePutIndexedValue1Benchmark extends IgniteCacheAbstractBenchmark {
+ /** {@inheritDoc} */
+ @Override public boolean test(Map<Object, Object> ctx) throws Exception {
+ int key = nextRandom(args.range());
+
+ cache.put(key, new Person1(key));
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected IgniteCache<Integer, Object> cache() {
+ return ignite().cache("atomic-index");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a6948e8/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue2Benchmark.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue2Benchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue2Benchmark.java
new file mode 100644
index 0000000..3256ee3
--- /dev/null
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue2Benchmark.java
@@ -0,0 +1,42 @@
+/*
+ * 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.yardstick.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.yardstick.cache.model.*;
+
+import java.util.*;
+
+/**
+ * Ignite benchmark that performs put operations for entity with indexed fields.
+ */
+public class IgnitePutIndexedValue2Benchmark extends IgniteCacheAbstractBenchmark {
+ /** {@inheritDoc} */
+ @Override public boolean test(Map<Object, Object> ctx) throws Exception {
+ int key = nextRandom(args.range());
+
+ cache.put(key, new Person2(key));
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected IgniteCache<Integer, Object> cache() {
+ return ignite().cache("atomic-index");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a6948e8/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue8Benchmark.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue8Benchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue8Benchmark.java
index b51ff34..42aa67d 100644
--- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue8Benchmark.java
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue8Benchmark.java
@@ -30,7 +30,7 @@ public class IgnitePutIndexedValue8Benchmark extends IgniteCacheAbstractBenchmar
@Override public boolean test(Map<Object, Object> ctx) throws Exception {
int key = nextRandom(args.range());
- cache.put(key, new Person8(key, key + 1, key + 2, key + 3, key + 4, key + 5, key + 6, key + 7));
+ cache.put(key, new Person8(key));
return true;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a6948e8/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person1.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person1.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person1.java
index 0b2a0bf..91d1ccc 100644
--- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person1.java
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person1.java
@@ -30,35 +30,12 @@ public class Person1 implements Serializable {
private int val1;
/**
- * Empty constructor.
- */
- public Person1() {
- // No-op.
- }
-
- /**
* Constructs.
*
- * @param val1 Indexed value.
- */
- public Person1(int val1) {
- this.val1 = val1;
- }
-
- /**
- * @return Get value.
- */
- public int getVal1() {
- return val1;
- }
-
- /**
- * Set value.
- *
- * @param val1 Value.
+ * @param val Indexed value.
*/
- public void setVal1(int val1) {
- this.val1 = val1;
+ public Person1(int val) {
+ this.val1 = val;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a6948e8/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person2.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person2.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person2.java
index 3b1cb9e..dc5729c 100644
--- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person2.java
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person2.java
@@ -34,50 +34,13 @@ public class Person2 implements Serializable {
private int val2;
/**
- * Empty constructor.
- */
- public Person2() {
- // No-op.
- }
-
- /**
* Constructs.
- */
- public Person2(int val1, int val2) {
- this.val1 = val1;
- this.val2 = val2;
- }
-
- /**
- * @return Get value.
- */
- public int getVal1() {
- return val1;
- }
-
- /**
- * Set value.
- *
- * @param val1 Value.
- */
- public void setVal1(int val1) {
- this.val1 = val1;
- }
-
- /**
- * @return Get value.
- */
- public int getVal2() {
- return val2;
- }
-
- /**
- * Set value.
*
- * @param val2 Value.
+ * @param val Value.
*/
- public void setVal2(int val2) {
- this.val2 = val2;
+ public Person2(int val) {
+ this.val1 = val;
+ this.val2 = val + 1;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1a6948e8/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person8.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person8.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person8.java
index b8e3f7c..92d65ac 100644
--- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person8.java
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person8.java
@@ -58,152 +58,19 @@ public class Person8 implements Serializable {
private int val8;
/**
- * Empty constructor.
- */
- public Person8() {
- // No-op.
- }
-
- /**
* Constructs.
- */
- public Person8(int val1, int val2, int val3, int val4, int val5, int val6, int val7, int val8) {
- this.val1 = val1;
- this.val2 = val2;
- this.val3 = val3;
- this.val4 = val4;
- this.val5 = val5;
- this.val6 = val6;
- this.val7 = val7;
- this.val8 = val8;
- }
-
- /**
- * @return Get value.
- */
- public int getVal1() {
- return val1;
- }
-
- /**
- * Set value.
- *
- * @param val1 Value.
- */
- public void setVal1(int val1) {
- this.val1 = val1;
- }
-
- /**
- * @return Get value.
- */
- public int getVal2() {
- return val2;
- }
-
- /**
- * Set value.
- *
- * @param val2 Value.
- */
- public void setVal2(int val2) {
- this.val2 = val2;
- }
-
- /**
- * @return Get value.
- */
- public int getVal3() {
- return val3;
- }
-
- /**
- * Set value.
- *
- * @param val3 Value.
- */
- public void setVal3(int val3) {
- this.val3 = val3;
- }
-
- /**
- * @return Get value.
- */
- public int getVal4() {
- return val4;
- }
-
- /**
- * Set value.
- *
- * @param val4 Value.
- */
- public void setVal4(int val4) {
- this.val4 = val4;
- }
-
- /**
- * @return Get value.
- */
- public int getVal5() {
- return val5;
- }
-
- /**
- * Set value.
- *
- * @param val5 Value.
- */
- public void setVal5(int val5) {
- this.val5 = val5;
- }
-
- /**
- * @return Get value.
- */
- public int getVal6() {
- return val6;
- }
-
- /**
- * Set value.
*
- * @param val6 Value.
- */
- public void setVal6(int val6) {
- this.val6 = val6;
- }
-
- /**
- * @return Get value.
- */
- public int getVal7() {
- return val7;
- }
-
- /**
- * Set value.
- *
- * @param val7 Value.
- */
- public void setVal7(int val7) {
- this.val7 = val7;
- }
-
- /**
- * @return Get value.
- */
- public int getVal8() {
- return val8;
- }
-
- /**
- * Set value.
- *
- * @param val8 Value.
- */
- public void setVal8(int val8) {
- this.val8 = val8;
+ * @param val Indexed value.
+ */
+ public Person8(int val) {
+ this.val1 = val;
+ this.val2 = val + 1;
+ this.val3 = val + 2;
+ this.val4 = val + 3;
+ this.val5 = val + 4;
+ this.val6 = val + 5;
+ this.val7 = val + 6;
+ this.val8 = val + 7;
}
/** {@inheritDoc} */
[27/50] [abbrv] incubator-ignite git commit: ignite-890: filtering
out non verified messages for client
Posted by sb...@apache.org.
ignite-890: filtering out non verified messages for client
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/c4f933fa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/c4f933fa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/c4f933fa
Branch: refs/heads/ignite-890
Commit: c4f933fa69f63886a199242957c3a86c254344e3
Parents: a1ed65b
Author: Denis Magda <dm...@gridgain.com>
Authored: Thu Jul 9 16:55:38 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Thu Jul 9 16:55:38 2015 +0300
----------------------------------------------------------------------
.../ignite/spi/discovery/tcp/ClientImpl.java | 10 +--
.../ignite/spi/discovery/tcp/ServerImpl.java | 22 ++++++-
.../spi/discovery/tcp/TcpDiscoveryImpl.java | 16 ++---
.../spi/discovery/tcp/TcpDiscoverySpi.java | 10 +--
.../tcp/TcpDiscoveryMultiThreadedTest.java | 69 +++++++++++++++++++-
5 files changed, 105 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c4f933fa/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index 75e44d2..68017a2 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -595,11 +595,11 @@ class ClientImpl extends TcpDiscoveryImpl {
NavigableSet<ClusterNode> allNodes = allVisibleNodes();
if (!topHist.containsKey(topVer)) {
- assert topHist.isEmpty() || topHist.lastKey() == topVer - 1 :
- "lastVer=" + (topHist.isEmpty() ? null : topHist.lastKey()) +
- ", newVer=" + topVer +
- ", locNode=" + locNode +
- ", msg=" + msg;
+// assert topHist.isEmpty() || topHist.lastKey() == topVer - 1 :
+// "lastVer=" + (topHist.isEmpty() ? null : topHist.lastKey()) +
+// ", newVer=" + topVer +
+// ", locNode=" + locNode +
+// ", msg=" + msg;
topHist.put(topVer, allNodes);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c4f933fa/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index 5faa437..e398885 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -57,7 +57,7 @@ import static org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryStatusChe
@SuppressWarnings("NonPrivateFieldAccessedInSynchronizedContext")
class ServerImpl extends TcpDiscoveryImpl {
/** */
- private final Executor utilityPool = new ThreadPoolExecutor(0, 1, 2000, TimeUnit.MILLISECONDS,
+ private final ThreadPoolExecutor utilityPool = new ThreadPoolExecutor(0, 1, 2000, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>());
/** Nodes ring. */
@@ -331,6 +331,15 @@ class ServerImpl extends TcpDiscoveryImpl {
U.interrupt(msgWorker);
U.join(msgWorker, log);
+ for (ClientMessageWorker clientWorker : clientMsgWorkers.values()) {
+ U.interrupt(clientWorker);
+ U.join(clientWorker, log);
+ }
+
+ clientMsgWorkers.clear();
+
+ utilityPool.shutdownNow();
+
U.interrupt(statsPrinter);
U.join(statsPrinter, log);
@@ -1699,7 +1708,7 @@ class ServerImpl extends TcpDiscoveryImpl {
res = new ArrayList<>(msgs.size());
}
- if (res != null)
+ if (res != null && msg.verified())
res.add(prepare(msg, node.id()));
}
@@ -1725,7 +1734,7 @@ class ServerImpl extends TcpDiscoveryImpl {
if (msg.id().equals(lastMsgId))
skip = false;
}
- else
+ else if (msg.verified())
cp.add(prepare(msg, node.id()));
}
@@ -3894,6 +3903,13 @@ class ServerImpl extends TcpDiscoveryImpl {
private void processClientPingRequest(final TcpDiscoveryClientPingRequest msg) {
utilityPool.execute(new Runnable() {
@Override public void run() {
+ if (spiState == DISCONNECTED) {
+ if (log.isDebugEnabled())
+ log.debug("Ignoring ping request, SPI is already disconnected: " + msg);
+
+ return;
+ }
+
boolean res = pingNode(msg.nodeToPing());
final ClientMessageWorker worker = clientMsgWorkers.get(msg.creatorNodeId());
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c4f933fa/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
index 9172afe..8fedce1 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
@@ -95,14 +95,14 @@ abstract class TcpDiscoveryImpl {
protected void debugLog(String msg) {
assert debugMode;
- String msg0 = new SimpleDateFormat("[HH:mm:ss,SSS]").format(new Date(System.currentTimeMillis())) +
- '[' + Thread.currentThread().getName() + "][" + getLocalNodeId() +
- "-" + locNode.internalOrder() + "] " +
- msg;
-
- debugLog.add(msg0);
-
- int delta = debugLog.size() - debugMsgHist;
+// String msg0 = new SimpleDateFormat("[HH:mm:ss,SSS]").format(new Date(System.currentTimeMillis())) +
+// '[' + Thread.currentThread().getName() + "][" + getLocalNodeId() +
+// "-" + locNode.internalOrder() + "] " +
+// msg;
+//
+// debugLog.add(msg0);
+//
+// int delta = debugLog.size() - debugMsgHist;
//
// for (int i = 0; i < delta && debugLog.size() > debugMsgHist; i++)
// debugLog.poll();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c4f933fa/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 650c22d..b84e6c8 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -1563,11 +1563,11 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
impl = new ServerImpl(this);
}
- impl.setDebugMode(true);
-
- synchronized (allSpis) {
- allSpis.add(this);
- }
+// impl.setDebugMode(true);
+//
+// synchronized (allSpis) {
+// allSpis.add(this);
+// }
assertParameter(ipFinder != null, "ipFinder != null");
assertParameter(hbFreq > 0, "heartbeatFreq > 0");
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c4f933fa/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 1ae334b..87d9304 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -102,7 +102,7 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
* @throws Exception If any error occurs.
*/
public void testMultiThreaded() throws Exception {
- execute();
+ execute2();
}
/**
@@ -164,6 +164,73 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
/**
* @throws Exception If failed.
*/
+ private void execute2() throws Exception {
+ info("Test timeout: " + (getTestTimeout() / (60 * 1000)) + " min.");
+
+ startGridsMultiThreaded(GRID_CNT);
+
+ clientFlagGlobal = true;
+
+ startGridsMultiThreaded(GRID_CNT, CLIENT_GRID_CNT);
+
+ final AtomicBoolean done = new AtomicBoolean();
+
+ final AtomicInteger clientIdx = new AtomicInteger(GRID_CNT);
+
+ IgniteInternalFuture<?> fut1 = multithreadedAsync(
+ new Callable<Object>() {
+ @Override public Object call() throws Exception {
+ clientFlagPerThread.set(true);
+
+ int idx = clientIdx.getAndIncrement();
+
+ while (!done.get()) {
+ stopGrid(idx);
+ startGrid(idx);
+ }
+
+ return null;
+ }
+ },
+ 1
+ );
+
+ final BlockingQueue<Integer> srvIdx = new LinkedBlockingQueue<>();
+
+ for (int i = 0; i < GRID_CNT; i++)
+ srvIdx.add(i);
+
+ IgniteInternalFuture<?> fut2 = multithreadedAsync(
+ new Callable<Object>() {
+ @Override public Object call() throws Exception {
+ clientFlagPerThread.set(false);
+
+ while (!done.get()) {
+ int idx = srvIdx.take();
+
+ stopGrid(idx);
+ startGrid(idx);
+
+ srvIdx.add(idx);
+ }
+
+ return null;
+ }
+ },
+ 1
+ );
+
+ Thread.sleep(getTestTimeout() - 60 * 1000);
+
+ done.set(true);
+
+ fut1.get();
+ fut2.get();
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
private void execute() throws Exception {
info("Test timeout: " + (getTestTimeout() / (60 * 1000)) + " min.");
[15/50] [abbrv] incubator-ignite git commit: Redundant dependencies
removed from ignite-kafka module
Posted by sb...@apache.org.
Redundant dependencies removed from ignite-kafka module
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/4c9d8c2e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/4c9d8c2e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/4c9d8c2e
Branch: refs/heads/ignite-890
Commit: 4c9d8c2e4d5421d4088a3f3bfe3f17df589a4f0f
Parents: 23dc8fc
Author: agura <ag...@gridgain.com>
Authored: Wed Jul 8 17:09:19 2015 +0300
Committer: agura <ag...@gridgain.com>
Committed: Wed Jul 8 17:09:56 2015 +0300
----------------------------------------------------------------------
modules/kafka/pom.xml | 11 -----------
1 file changed, 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4c9d8c2e/modules/kafka/pom.xml
----------------------------------------------------------------------
diff --git a/modules/kafka/pom.xml b/modules/kafka/pom.xml
index d0e9cd9..c492100 100644
--- a/modules/kafka/pom.xml
+++ b/modules/kafka/pom.xml
@@ -87,17 +87,6 @@
</dependency>
<dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.gridgain</groupId>
- <artifactId>ignite-shmem</artifactId>
- <version>1.0.0</version>
- </dependency>
-
- <dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-spring</artifactId>
<version>${project.version}</version>
[05/50] [abbrv] incubator-ignite git commit: merge from ignite-747
Posted by sb...@apache.org.
merge from ignite-747
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/4031db76
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/4031db76
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/4031db76
Branch: refs/heads/ignite-890
Commit: 4031db76d2bd9992001a5b63f17af7739e82cff0
Parents: 0f1b31a
Author: Denis Magda <dm...@gridgain.com>
Authored: Wed Jul 8 10:19:11 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Wed Jul 8 10:19:11 2015 +0300
----------------------------------------------------------------------
.../ignite/spi/discovery/tcp/ServerImpl.java | 20 +++++++++++
.../tcp/internal/TcpDiscoveryNode.java | 2 +-
.../tcp/internal/TcpDiscoveryNodesRing.java | 8 ++++-
.../tcp/internal/TcpDiscoveryStatistics.java | 10 ++++--
...acheAtomicReplicatedNodeRestartSelfTest.java | 8 ++---
.../tcp/TcpDiscoveryMultiThreadedTest.java | 38 ++++++++++++++++++++
.../IgniteSpiDiscoverySelfTestSuite.java | 3 ++
7 files changed, 81 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4031db76/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index f8fae34..d51293e 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -2881,6 +2881,24 @@ class ServerImpl extends TcpDiscoveryImpl {
msg.verify(locNodeId);
}
+ else if (!locNodeId.equals(node.id()) && ring.node(node.id()) != null) {
+ // Local node already has node from message in local topology.
+ // Just pass it to coordinator via the ring.
+ if (ring.hasRemoteNodes())
+ sendMessageAcrossRing(msg);
+
+ if (log.isDebugEnabled())
+ log.debug("Local node already has node being added. Passing TcpDiscoveryNodeAddedMessage to " +
+ "coordinator for final processing [ring=" + ring + ", node=" + node + ", locNode="
+ + locNode + ", msg=" + msg + ']');
+
+ if (debugMode)
+ debugLog("Local node already has node being added. Passing TcpDiscoveryNodeAddedMessage to " +
+ "coordinator for final processing [ring=" + ring + ", node=" + node + ", locNode="
+ + locNode + ", msg=" + msg + ']');
+
+ return;
+ }
if (msg.verified() && !locNodeId.equals(node.id())) {
if (node.internalOrder() <= ring.maxInternalOrder()) {
@@ -3163,6 +3181,8 @@ class ServerImpl extends TcpDiscoveryImpl {
if (msg.verified() && locNodeId.equals(nodeId) && spiStateCopy() == CONNECTING) {
assert node != null;
+ assert topVer > 0 : "Invalid topology version: " + msg;
+
ring.topologyVersion(topVer);
node.order(topVer);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4031db76/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
index 36ae39e..4b4df45 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
@@ -300,7 +300,7 @@ public class TcpDiscoveryNode extends GridMetadataAwareAdapter implements Cluste
* @param order Order of the node.
*/
public void order(long order) {
- assert order >= 0 : "Order is invalid: " + this;
+ assert order > 0 : "Order is invalid: " + this;
this.order = order;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4031db76/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNodesRing.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNodesRing.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNodesRing.java
index e9eaa1d..acb479d 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNodesRing.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNodesRing.java
@@ -34,7 +34,13 @@ public class TcpDiscoveryNodesRing {
/** Visible nodes filter. */
public static final IgnitePredicate<TcpDiscoveryNode> VISIBLE_NODES = new P1<TcpDiscoveryNode>() {
@Override public boolean apply(TcpDiscoveryNode node) {
- return node.visible();
+ if (node.visible()) {
+ assert node.order() > 0 : "Invalid node order: " + node;
+
+ return true;
+ }
+
+ return false;
}
};
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4031db76/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryStatistics.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryStatistics.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryStatistics.java
index da8c4ea..377d8a8 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryStatistics.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryStatistics.java
@@ -256,7 +256,10 @@ public class TcpDiscoveryStatistics {
if (maxMsgQueueTime < duration)
maxMsgQueueTime = duration;
- avgMsgQueueTime = (avgMsgQueueTime * (totalReceivedMessages() -1)) / totalProcessedMessages();
+ int totalProcMsgs = totalProcessedMessages();
+
+ if (totalProcMsgs != 0)
+ avgMsgQueueTime = (avgMsgQueueTime * (totalProcMsgs - 1)) / totalProcMsgs;
}
msgsProcStartTs.put(msg.id(), U.currentTimeMillis());
@@ -275,7 +278,10 @@ public class TcpDiscoveryStatistics {
if (startTs != null) {
long duration = U.currentTimeMillis() - startTs;
- avgMsgProcTime = (avgMsgProcTime * (totalProcessedMessages() - 1) + duration) / totalProcessedMessages();
+ int totalProcMsgs = totalProcessedMessages();
+
+ if (totalProcMsgs != 0)
+ avgMsgProcTime = (avgMsgProcTime * (totalProcMsgs - 1) + duration) / totalProcMsgs;
if (duration > maxMsgProcTime) {
maxMsgProcTime = duration;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4031db76/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheAtomicReplicatedNodeRestartSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheAtomicReplicatedNodeRestartSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheAtomicReplicatedNodeRestartSelfTest.java
index 54409d1..b4ed18d 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheAtomicReplicatedNodeRestartSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/IgniteCacheAtomicReplicatedNodeRestartSelfTest.java
@@ -26,17 +26,17 @@ import static org.apache.ignite.cache.CacheAtomicityMode.*;
*/
public class IgniteCacheAtomicReplicatedNodeRestartSelfTest extends GridCacheReplicatedNodeRestartSelfTest {
/** {@inheritDoc} */
- @Override protected void beforeTest() throws Exception {
- fail("https://issues.apache.org/jira/browse/IGNITE-747");
+ @Override public void testRestartWithPutSixNodesTwoBackups() throws Throwable {
+ fail("https://issues.apache.org/jira/browse/IGNITE-1095");
}
/** {@inheritDoc} */
- @Override public void testRestartWithPutSixNodesTwoBackups() throws Throwable {
+ @Override public void testRestartWithPutEightNodesTwoBackups() throws Throwable {
fail("https://issues.apache.org/jira/browse/IGNITE-1095");
}
/** {@inheritDoc} */
- @Override public void testRestartWithPutEightNodesTwoBackups() throws Throwable {
+ @Override public void testRestartWithPutTenNodesTwoBackups() throws Throwable {
fail("https://issues.apache.org/jira/browse/IGNITE-1095");
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4031db76/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index cfefff4..0bf7cad 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -21,8 +21,10 @@ import org.apache.ignite.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.internal.*;
import org.apache.ignite.internal.util.typedef.*;
+import org.apache.ignite.internal.util.typedef.internal.*;
import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.testframework.*;
import org.apache.ignite.testframework.junits.common.*;
import java.util.concurrent.*;
@@ -100,6 +102,8 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
* @throws Exception If any error occurs.
*/
public void testMultiThreaded() throws Exception {
+ fail("https://issues.apache.org/jira/browse/IGNITE-1100");
+
execute();
}
@@ -126,6 +130,40 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
}
/**
+ * @throws Exception If any error occurs.
+ */
+ public void testMultipleStartOnCoordinatorStop() throws Exception{
+ startGrids(GRID_CNT);
+
+ final CyclicBarrier barrier = new CyclicBarrier(GRID_CNT + 4);
+
+ final AtomicInteger startIdx = new AtomicInteger(GRID_CNT);
+
+ IgniteInternalFuture<?> fut = GridTestUtils.runMultiThreadedAsync(new Callable<Object>() {
+ @Override public Object call() throws Exception {
+ barrier.await();
+
+ Ignite ignite = startGrid(startIdx.getAndIncrement());
+
+ assertFalse(ignite.configuration().isClientMode());
+
+ log.info("Started node: " + ignite.name());
+
+ return null;
+ }
+ }, GRID_CNT + 3, "start-thread");
+
+ barrier.await();
+
+ U.sleep(ThreadLocalRandom.current().nextInt(10, 100));
+
+ for (int i = 0; i < GRID_CNT; i++)
+ stopGrid(i);
+
+ fut.get();
+ }
+
+ /**
* @throws Exception If failed.
*/
private void execute() throws Exception {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4031db76/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiDiscoverySelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiDiscoverySelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiDiscoverySelfTestSuite.java
index 498f50c..6f59f14 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiDiscoverySelfTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteSpiDiscoverySelfTestSuite.java
@@ -57,6 +57,9 @@ public class IgniteSpiDiscoverySelfTestSuite extends TestSuite {
suite.addTest(new TestSuite(TcpDiscoveryNodeConsistentIdSelfTest.class));
+ suite.addTest(new TestSuite(TcpDiscoveryRestartTest.class));
+ suite.addTest(new TestSuite(TcpDiscoveryMultiThreadedTest.class));
+
return suite;
}
}
[06/50] [abbrv] incubator-ignite git commit: Added benchmarks.
Posted by sb...@apache.org.
Added benchmarks.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/946b08ba
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/946b08ba
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/946b08ba
Branch: refs/heads/ignite-890
Commit: 946b08ba435813881920f8547d7cff36a9faf9a2
Parents: 4031db7
Author: nikolay_tikhonov <nt...@gridgain.com>
Authored: Wed Jul 8 12:30:41 2015 +0300
Committer: nikolay_tikhonov <nt...@gridgain.com>
Committed: Wed Jul 8 12:30:41 2015 +0300
----------------------------------------------------------------------
.../config/benchmark-index-put.properties | 64 +++++
modules/yardstick/config/ignite-base-config.xml | 23 ++
.../cache/IgnitePutIndex1Benchmark.java | 42 ++++
.../cache/IgnitePutIndex2Benchmark.java | 42 ++++
.../cache/IgnitePutIndex8Benchmark.java | 42 ++++
.../ignite/yardstick/cache/model/Person1.java | 78 ++++++
.../ignite/yardstick/cache/model/Person2.java | 104 ++++++++
.../ignite/yardstick/cache/model/Person8.java | 242 +++++++++++++++++++
8 files changed, 637 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/config/benchmark-index-put.properties
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/benchmark-index-put.properties b/modules/yardstick/config/benchmark-index-put.properties
new file mode 100644
index 0000000..fb73656
--- /dev/null
+++ b/modules/yardstick/config/benchmark-index-put.properties
@@ -0,0 +1,64 @@
+# 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.
+
+#
+# Contains benchmarks for SQL queries.
+#
+
+# JVM options.
+# JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false"
+
+# Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses.
+JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false" \
+ -XX:+UseParNewGC \
+ -XX:+UseConcMarkSweepGC \
+ -XX:+UseTLAB \
+ -XX:NewSize=128m \
+ -XX:MaxNewSize=128m \
+ -XX:MaxTenuringThreshold=0 \
+ -XX:SurvivorRatio=1024 \
+ -XX:+UseCMSInitiatingOccupancyOnly \
+ -XX:CMSInitiatingOccupancyFraction=60 \
+"
+
+# List of default probes.
+# Add DStatProbe or VmStatProbe if your OS supports it (e.g. if running on Linux).
+BENCHMARK_DEFAULT_PROBES=ThroughputLatencyProbe,PercentileProbe
+
+# Packages where the specified benchmark is searched by reflection mechanism.
+BENCHMARK_PACKAGES=org.yardstickframework,org.apache.ignite.yardstick
+
+# Probe point writer class name.
+# BENCHMARK_WRITER=
+
+# Comma-separated list of the hosts to run BenchmarkServers on. 2 nodes on local host are enabled by default.
+SERVER_HOSTS=localhost,localhost
+
+# Comma-separated list of the hosts to run BenchmarkDrivers on. 1 node on local host is enabled by default.
+DRIVER_HOSTS=localhost
+
+# Remote username.
+# REMOTE_USER=
+
+# Number of nodes, used to wait for the specified number of nodes to start.
+nodesNum=$((`echo ${SERVER_HOSTS} | tr ',' '\n' | wc -l` + `echo ${DRIVER_HOSTS} | tr ',' '\n' | wc -l`))
+
+# Run configuration.
+# Note that each benchmark is set to run for 300 seconds (5 mins) with warm-up set to 60 seconds (1 minute).
+CONFIGS="\
+-cfg ${SCRIPT_DIR}/../config/ignite-localhost-config.xml -nn ${nodesNum} -b 1 -w 60 -d 300 -t 64 -sm PRIMARY_SYNC -dn IgnitePutIndex1Benchmark -sn IgniteNode -ds atomic-indexed1-put,\
+-cfg ${SCRIPT_DIR}/../config/ignite-localhost-config.xml -nn ${nodesNum} -b 1 -w 60 -d 300 -t 64 -sm PRIMARY_SYNC -dn IgnitePutIndex2Benchmark -sn IgniteNode -ds atomic-indexed2-put,\
+-cfg ${SCRIPT_DIR}/../config/ignite-localhost-config.xml -nn ${nodesNum} -b 1 -w 60 -d 300 -t 64 -sm PRIMARY_SYNC -dn IgnitePutIndex8Benchmark -sn IgniteNode -ds atomic-indexed8-put\
+"
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/config/ignite-base-config.xml
----------------------------------------------------------------------
diff --git a/modules/yardstick/config/ignite-base-config.xml b/modules/yardstick/config/ignite-base-config.xml
index 9d28774..b2c976a 100644
--- a/modules/yardstick/config/ignite-base-config.xml
+++ b/modules/yardstick/config/ignite-base-config.xml
@@ -104,6 +104,29 @@
</bean>
<bean class="org.apache.ignite.configuration.CacheConfiguration">
+ <property name="name" value="atomic-index"/>
+
+ <property name="cacheMode" value="PARTITIONED"/>
+
+ <property name="atomicityMode" value="ATOMIC"/>
+
+ <property name="swapEnabled" value="false"/>
+
+ <property name="indexedTypes">
+ <list>
+ <value>java.lang.Integer</value>
+ <value>org.apache.ignite.yardstick.cache.model.Person1</value>
+
+ <value>java.lang.Integer</value>
+ <value>org.apache.ignite.yardstick.cache.model.Person2</value>
+
+ <value>java.lang.Integer</value>
+ <value>org.apache.ignite.yardstick.cache.model.Person8</value>
+ </list>
+ </property>
+ </bean>
+
+ <bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="query"/>
<property name="cacheMode" value="PARTITIONED"/>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex1Benchmark.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex1Benchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex1Benchmark.java
new file mode 100644
index 0000000..65dd39a
--- /dev/null
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex1Benchmark.java
@@ -0,0 +1,42 @@
+/*
+ * 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.yardstick.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.yardstick.cache.model.*;
+
+import java.util.*;
+
+/**
+ * Ignite benchmark that performs put operations for entity with indexed fields.
+ */
+public class IgnitePutIndex1Benchmark extends IgniteCacheAbstractBenchmark {
+ /** {@inheritDoc} */
+ @Override public boolean test(Map<Object, Object> ctx) throws Exception {
+ int key = nextRandom(args.range());
+
+ cache.put(key, new Person1(key));
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected IgniteCache<Integer, Object> cache() {
+ return ignite().cache("atomic-index");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex2Benchmark.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex2Benchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex2Benchmark.java
new file mode 100644
index 0000000..b4cf86f
--- /dev/null
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex2Benchmark.java
@@ -0,0 +1,42 @@
+/*
+ * 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.yardstick.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.yardstick.cache.model.*;
+
+import java.util.*;
+
+/**
+ * Ignite benchmark that performs put operations for entity with indexed fields.
+ */
+public class IgnitePutIndex2Benchmark extends IgniteCacheAbstractBenchmark {
+ /** {@inheritDoc} */
+ @Override public boolean test(Map<Object, Object> ctx) throws Exception {
+ int key = nextRandom(args.range());
+
+ cache.put(key, new Person2(key, key + 1));
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected IgniteCache<Integer, Object> cache() {
+ return ignite().cache("atomic-index");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex8Benchmark.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex8Benchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex8Benchmark.java
new file mode 100644
index 0000000..542a139
--- /dev/null
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex8Benchmark.java
@@ -0,0 +1,42 @@
+/*
+ * 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.yardstick.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.yardstick.cache.model.*;
+
+import java.util.*;
+
+/**
+ * Ignite benchmark that performs put operations for entity with indexed fields.
+ */
+public class IgnitePutIndex8Benchmark extends IgniteCacheAbstractBenchmark {
+ /** {@inheritDoc} */
+ @Override public boolean test(Map<Object, Object> ctx) throws Exception {
+ int key = nextRandom(args.range());
+
+ cache.put(key, new Person8(key, key + 1, key + 2, key + 3, key + 4, key + 5, key + 6, key + 7));
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected IgniteCache<Integer, Object> cache() {
+ return ignite().cache("atomic-index");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person1.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person1.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person1.java
new file mode 100644
index 0000000..0b2a0bf
--- /dev/null
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person1.java
@@ -0,0 +1,78 @@
+/*
+ * 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.yardstick.cache.model;
+
+import org.apache.ignite.cache.query.annotations.*;
+
+import java.io.*;
+
+/**
+ * Value used for indexed put test.
+ */
+public class Person1 implements Serializable {
+ /** Value. */
+ @QuerySqlField(index = true)
+ private int val1;
+
+ /**
+ * Empty constructor.
+ */
+ public Person1() {
+ // No-op.
+ }
+
+ /**
+ * Constructs.
+ *
+ * @param val1 Indexed value.
+ */
+ public Person1(int val1) {
+ this.val1 = val1;
+ }
+
+ /**
+ * @return Get value.
+ */
+ public int getVal1() {
+ return val1;
+ }
+
+ /**
+ * Set value.
+ *
+ * @param val1 Value.
+ */
+ public void setVal1(int val1) {
+ this.val1 = val1;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean equals(Object o) {
+ return this == o || (o instanceof Person1) && val1 == ((Person1)o).val1;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int hashCode() {
+ return val1;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return "IndexedValue1 [val1=" + val1 + ']';
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person2.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person2.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person2.java
new file mode 100644
index 0000000..3b1cb9e
--- /dev/null
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person2.java
@@ -0,0 +1,104 @@
+/*
+ * 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.yardstick.cache.model;
+
+import org.apache.ignite.cache.query.annotations.*;
+
+import java.io.*;
+
+/**
+ * Value used for indexed put test.
+ */
+public class Person2 implements Serializable {
+ /** Value 1. */
+ @QuerySqlField(index = true)
+ private int val1;
+
+ /** Value 2. */
+ @QuerySqlField(index = true)
+ private int val2;
+
+ /**
+ * Empty constructor.
+ */
+ public Person2() {
+ // No-op.
+ }
+
+ /**
+ * Constructs.
+ */
+ public Person2(int val1, int val2) {
+ this.val1 = val1;
+ this.val2 = val2;
+ }
+
+ /**
+ * @return Get value.
+ */
+ public int getVal1() {
+ return val1;
+ }
+
+ /**
+ * Set value.
+ *
+ * @param val1 Value.
+ */
+ public void setVal1(int val1) {
+ this.val1 = val1;
+ }
+
+ /**
+ * @return Get value.
+ */
+ public int getVal2() {
+ return val2;
+ }
+
+ /**
+ * Set value.
+ *
+ * @param val2 Value.
+ */
+ public void setVal2(int val2) {
+ this.val2 = val2;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean equals(Object o) {
+ if (this == o)
+ return true;
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ Person2 value2 = (Person2)o;
+
+ return val1 == value2.val1 && val2 == value2.val2;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int hashCode() {
+ return 31 * val1 + val2;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return "IndexedValue2 [val1=" + val1 + ", val2=" + val2 + ']';
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/946b08ba/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person8.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person8.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person8.java
new file mode 100644
index 0000000..b8e3f7c
--- /dev/null
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/model/Person8.java
@@ -0,0 +1,242 @@
+/*
+ * 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.yardstick.cache.model;
+
+import org.apache.ignite.cache.query.annotations.*;
+
+import java.io.*;
+
+/**
+ * Value used for indexed put test.
+ */
+public class Person8 implements Serializable {
+ /** Value 1. */
+ @QuerySqlField(index = true)
+ private int val1;
+
+ /** Value 2. */
+ @QuerySqlField(index = true)
+ private int val2;
+
+ /** Value 3. */
+ @QuerySqlField(index = true)
+ private int val3;
+
+ /** Value 4. */
+ @QuerySqlField(index = true)
+ private int val4;
+
+ /** Value 5. */
+ @QuerySqlField(index = true)
+ private int val5;
+
+ /** Value 6. */
+ @QuerySqlField(index = true)
+ private int val6;
+
+ /** Value 7. */
+ @QuerySqlField(index = true)
+ private int val7;
+
+ /** Value 8. */
+ @QuerySqlField(index = true)
+ private int val8;
+
+ /**
+ * Empty constructor.
+ */
+ public Person8() {
+ // No-op.
+ }
+
+ /**
+ * Constructs.
+ */
+ public Person8(int val1, int val2, int val3, int val4, int val5, int val6, int val7, int val8) {
+ this.val1 = val1;
+ this.val2 = val2;
+ this.val3 = val3;
+ this.val4 = val4;
+ this.val5 = val5;
+ this.val6 = val6;
+ this.val7 = val7;
+ this.val8 = val8;
+ }
+
+ /**
+ * @return Get value.
+ */
+ public int getVal1() {
+ return val1;
+ }
+
+ /**
+ * Set value.
+ *
+ * @param val1 Value.
+ */
+ public void setVal1(int val1) {
+ this.val1 = val1;
+ }
+
+ /**
+ * @return Get value.
+ */
+ public int getVal2() {
+ return val2;
+ }
+
+ /**
+ * Set value.
+ *
+ * @param val2 Value.
+ */
+ public void setVal2(int val2) {
+ this.val2 = val2;
+ }
+
+ /**
+ * @return Get value.
+ */
+ public int getVal3() {
+ return val3;
+ }
+
+ /**
+ * Set value.
+ *
+ * @param val3 Value.
+ */
+ public void setVal3(int val3) {
+ this.val3 = val3;
+ }
+
+ /**
+ * @return Get value.
+ */
+ public int getVal4() {
+ return val4;
+ }
+
+ /**
+ * Set value.
+ *
+ * @param val4 Value.
+ */
+ public void setVal4(int val4) {
+ this.val4 = val4;
+ }
+
+ /**
+ * @return Get value.
+ */
+ public int getVal5() {
+ return val5;
+ }
+
+ /**
+ * Set value.
+ *
+ * @param val5 Value.
+ */
+ public void setVal5(int val5) {
+ this.val5 = val5;
+ }
+
+ /**
+ * @return Get value.
+ */
+ public int getVal6() {
+ return val6;
+ }
+
+ /**
+ * Set value.
+ *
+ * @param val6 Value.
+ */
+ public void setVal6(int val6) {
+ this.val6 = val6;
+ }
+
+ /**
+ * @return Get value.
+ */
+ public int getVal7() {
+ return val7;
+ }
+
+ /**
+ * Set value.
+ *
+ * @param val7 Value.
+ */
+ public void setVal7(int val7) {
+ this.val7 = val7;
+ }
+
+ /**
+ * @return Get value.
+ */
+ public int getVal8() {
+ return val8;
+ }
+
+ /**
+ * Set value.
+ *
+ * @param val8 Value.
+ */
+ public void setVal8(int val8) {
+ this.val8 = val8;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean equals(Object o) {
+ if (this == o)
+ return true;
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ Person8 p8 = (Person8)o;
+
+ return val1 == p8.val1 && val2 == p8.val2 && val3 == p8.val3 && val4 == p8.val4
+ && val5 == p8.val5 && val6 == p8.val6 && val7 == p8.val7 && val8 == p8.val8;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int hashCode() {
+ int result = val1;
+
+ result = 31 * result + val2;
+ result = 31 * result + val3;
+ result = 31 * result + val4;
+ result = 31 * result + val5;
+ result = 31 * result + val6;
+ result = 31 * result + val7;
+ result = 31 * result + val8;
+
+ return result;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return "Person8 [val1=" + val1 + ", val2=" + val2 + ", val3=" + val3 + ", val4=" + val4 + ", val5=" + val5 +
+ ", val6=" + val6 + ", val7=" + val7 + ", val8=" + val8 +']';
+ }
+}
[46/50] [abbrv] incubator-ignite git commit: 1.4.1-SNAPSHOT
Posted by sb...@apache.org.
1.4.1-SNAPSHOT
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/d52fe87f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/d52fe87f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/d52fe87f
Branch: refs/heads/ignite-890
Commit: d52fe87fd3229d828dd59be5f01bd00cd9d9fba4
Parents: f5a09f4
Author: Ignite Teamcity <ig...@apache.org>
Authored: Tue Jul 14 12:53:24 2015 +0300
Committer: Ignite Teamcity <ig...@apache.org>
Committed: Tue Jul 14 12:53:24 2015 +0300
----------------------------------------------------------------------
examples/pom.xml | 2 +-
modules/aop/pom.xml | 2 +-
modules/aws/pom.xml | 2 +-
modules/clients/pom.xml | 2 +-
modules/cloud/pom.xml | 2 +-
modules/codegen/pom.xml | 2 +-
modules/core/pom.xml | 2 +-
.../core/src/main/resources/ignite.properties | 2 +-
modules/extdata/p2p/pom.xml | 2 +-
.../extdata/uri/modules/uri-dependency/pom.xml | 6 ++---
modules/extdata/uri/pom.xml | 26 ++++++++------------
modules/gce/pom.xml | 2 +-
modules/geospatial/pom.xml | 2 +-
modules/hadoop/pom.xml | 2 +-
modules/hibernate/pom.xml | 2 +-
modules/indexing/pom.xml | 2 +-
modules/jcl/pom.xml | 2 +-
modules/jta/pom.xml | 2 +-
modules/kafka/pom.xml | 2 +-
modules/log4j/pom.xml | 2 +-
modules/mesos/pom.xml | 2 +-
modules/rest-http/pom.xml | 2 +-
modules/scalar-2.10/pom.xml | 2 +-
modules/scalar/pom.xml | 2 +-
modules/schedule/pom.xml | 2 +-
modules/schema-import/pom.xml | 2 +-
modules/slf4j/pom.xml | 2 +-
modules/spark-2.10/pom.xml | 2 +-
modules/spark/pom.xml | 2 +-
modules/spring/pom.xml | 2 +-
modules/ssh/pom.xml | 2 +-
modules/tools/pom.xml | 2 +-
modules/urideploy/pom.xml | 2 +-
modules/visor-console-2.10/pom.xml | 2 +-
modules/visor-console/pom.xml | 2 +-
modules/visor-plugins/pom.xml | 2 +-
modules/web/pom.xml | 2 +-
modules/yardstick/pom.xml | 2 +-
pom.xml | 2 +-
39 files changed, 49 insertions(+), 57 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/examples/pom.xml
----------------------------------------------------------------------
diff --git a/examples/pom.xml b/examples/pom.xml
index 2f292e9..a2ac452 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -28,7 +28,7 @@
</parent>
<artifactId>ignite-examples</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/aop/pom.xml
----------------------------------------------------------------------
diff --git a/modules/aop/pom.xml b/modules/aop/pom.xml
index 704358f..ce5cd10 100644
--- a/modules/aop/pom.xml
+++ b/modules/aop/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-aop</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/aws/pom.xml
----------------------------------------------------------------------
diff --git a/modules/aws/pom.xml b/modules/aws/pom.xml
index 38d300e..8c660ab 100644
--- a/modules/aws/pom.xml
+++ b/modules/aws/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-aws</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/clients/pom.xml
----------------------------------------------------------------------
diff --git a/modules/clients/pom.xml b/modules/clients/pom.xml
index ca68ef8..0374bdf 100644
--- a/modules/clients/pom.xml
+++ b/modules/clients/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-clients</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/cloud/pom.xml
----------------------------------------------------------------------
diff --git a/modules/cloud/pom.xml b/modules/cloud/pom.xml
index d752588..47aedd5 100644
--- a/modules/cloud/pom.xml
+++ b/modules/cloud/pom.xml
@@ -29,7 +29,7 @@
</parent>
<artifactId>ignite-cloud</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<properties>
<jcloud.version>1.9.0</jcloud.version>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/codegen/pom.xml
----------------------------------------------------------------------
diff --git a/modules/codegen/pom.xml b/modules/codegen/pom.xml
index 9a09a69..261e588 100644
--- a/modules/codegen/pom.xml
+++ b/modules/codegen/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-codegen</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
index 5ac49ae..c8abe15 100644
--- a/modules/core/pom.xml
+++ b/modules/core/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-core</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/core/src/main/resources/ignite.properties
----------------------------------------------------------------------
diff --git a/modules/core/src/main/resources/ignite.properties b/modules/core/src/main/resources/ignite.properties
index 830ca22..c1c2d0f 100644
--- a/modules/core/src/main/resources/ignite.properties
+++ b/modules/core/src/main/resources/ignite.properties
@@ -15,7 +15,7 @@
# limitations under the License.
#
-ignite.version=1.2.1-SNAPSHOT
+ignite.version=1.4.1-SNAPSHOT
ignite.build=0
ignite.revision=DEV
ignite.rel.date=01011970
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/extdata/p2p/pom.xml
----------------------------------------------------------------------
diff --git a/modules/extdata/p2p/pom.xml b/modules/extdata/p2p/pom.xml
index 5de55f5..b48859b 100644
--- a/modules/extdata/p2p/pom.xml
+++ b/modules/extdata/p2p/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-extdata-p2p</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/extdata/uri/modules/uri-dependency/pom.xml
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/modules/uri-dependency/pom.xml b/modules/extdata/uri/modules/uri-dependency/pom.xml
index c92eb38..f863bed 100644
--- a/modules/extdata/uri/modules/uri-dependency/pom.xml
+++ b/modules/extdata/uri/modules/uri-dependency/pom.xml
@@ -16,9 +16,7 @@
limitations under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-parent</artifactId>
@@ -29,7 +27,7 @@
<artifactId>ignite-extdata-uri-dep</artifactId>
<packaging>jar</packaging>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<modelVersion>4.0.0</modelVersion>
<dependencies>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/extdata/uri/pom.xml
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/pom.xml b/modules/extdata/uri/pom.xml
index c7b4067..0b4f92f 100644
--- a/modules/extdata/uri/pom.xml
+++ b/modules/extdata/uri/pom.xml
@@ -20,8 +20,7 @@
<!--
POM file.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
@@ -33,7 +32,7 @@
</parent>
<artifactId>ignite-extdata-uri</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
@@ -140,33 +139,28 @@
<!-- copying resources to classes -->
<copy todir="${basedir}/target/classes">
<fileset dir="${basedir}/src/main/java">
- <include name="**/*.xml"/>
- <include name="**/*.properties"/>
+ <include name="**/*.xml" />
+ <include name="**/*.properties" />
</fileset>
</copy>
- <copy
- file="${settings.localRepository}/com/sun/mail/javax.mail/1.5.2/javax.mail-1.5.2.jar"
- todir="${basedir}/target/classes/lib"/>
+ <copy file="${settings.localRepository}/com/sun/mail/javax.mail/1.5.2/javax.mail-1.5.2.jar" todir="${basedir}/target/classes/lib" />
<zip destfile="${basedir}/target/classes/lib/depend.jar" encoding="UTF-8">
- <zipfileset dir="modules/uri-dependency/target/classes"/>
+ <zipfileset dir="modules/uri-dependency/target/classes" />
</zip>
- <taskdef name="gar"
- classname="org.apache.ignite.util.antgar.IgniteDeploymentGarAntTask"/>
+ <taskdef name="gar" classname="org.apache.ignite.util.antgar.IgniteDeploymentGarAntTask" />
- <gar destfile="${basedir}/target/deploy/uri.gar" basedir="${basedir}/target/classes"/>
+ <gar destfile="${basedir}/target/deploy/uri.gar" basedir="${basedir}/target/classes" />
<!--
This is created for test GridTaskUriDeploymentDeadlockSelfTest.
We put two files here to have a collision and make deployment SPI to unregister class loaders.
This is intended to test GG-2852 issue.
-->
- <gar destfile="${basedir}/target/resources/helloworld.gar"
- descrdir="${basedir}/META-INF" basedir="${basedir}/target/classes"/>
- <gar destfile="${basedir}/target/resources/helloworld1.gar"
- descrdir="${basedir}/META-INF" basedir="${basedir}/target/classes"/>
+ <gar destfile="${basedir}/target/resources/helloworld.gar" descrdir="${basedir}/META-INF" basedir="${basedir}/target/classes" />
+ <gar destfile="${basedir}/target/resources/helloworld1.gar" descrdir="${basedir}/META-INF" basedir="${basedir}/target/classes" />
</target>
</configuration>
</execution>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/gce/pom.xml
----------------------------------------------------------------------
diff --git a/modules/gce/pom.xml b/modules/gce/pom.xml
index f132d39..0e545bf 100644
--- a/modules/gce/pom.xml
+++ b/modules/gce/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-gce</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/geospatial/pom.xml
----------------------------------------------------------------------
diff --git a/modules/geospatial/pom.xml b/modules/geospatial/pom.xml
index 10035c6..ba29dcf 100644
--- a/modules/geospatial/pom.xml
+++ b/modules/geospatial/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-geospatial</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/hadoop/pom.xml
----------------------------------------------------------------------
diff --git a/modules/hadoop/pom.xml b/modules/hadoop/pom.xml
index bb46b2a..d7f5ac8 100644
--- a/modules/hadoop/pom.xml
+++ b/modules/hadoop/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-hadoop</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/hibernate/pom.xml
----------------------------------------------------------------------
diff --git a/modules/hibernate/pom.xml b/modules/hibernate/pom.xml
index 3130f4b..f8f915b 100644
--- a/modules/hibernate/pom.xml
+++ b/modules/hibernate/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-hibernate</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/indexing/pom.xml
----------------------------------------------------------------------
diff --git a/modules/indexing/pom.xml b/modules/indexing/pom.xml
index 8c02e02..ddbd1e3 100644
--- a/modules/indexing/pom.xml
+++ b/modules/indexing/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-indexing</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/jcl/pom.xml
----------------------------------------------------------------------
diff --git a/modules/jcl/pom.xml b/modules/jcl/pom.xml
index 9f65eb0..0c405ee 100644
--- a/modules/jcl/pom.xml
+++ b/modules/jcl/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-jcl</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/jta/pom.xml
----------------------------------------------------------------------
diff --git a/modules/jta/pom.xml b/modules/jta/pom.xml
index 2d4df0b..2df9bda 100644
--- a/modules/jta/pom.xml
+++ b/modules/jta/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-jta</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/kafka/pom.xml
----------------------------------------------------------------------
diff --git a/modules/kafka/pom.xml b/modules/kafka/pom.xml
index c492100..9b9d95c 100644
--- a/modules/kafka/pom.xml
+++ b/modules/kafka/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-kafka</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/log4j/pom.xml
----------------------------------------------------------------------
diff --git a/modules/log4j/pom.xml b/modules/log4j/pom.xml
index 3343438..fbba149 100644
--- a/modules/log4j/pom.xml
+++ b/modules/log4j/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-log4j</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/mesos/pom.xml
----------------------------------------------------------------------
diff --git a/modules/mesos/pom.xml b/modules/mesos/pom.xml
index 328e5b8..e9ccf8b 100644
--- a/modules/mesos/pom.xml
+++ b/modules/mesos/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-mesos</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<properties>
<mesos.version>0.22.0</mesos.version>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/rest-http/pom.xml
----------------------------------------------------------------------
diff --git a/modules/rest-http/pom.xml b/modules/rest-http/pom.xml
index bf4b216..780d8ae 100644
--- a/modules/rest-http/pom.xml
+++ b/modules/rest-http/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-rest-http</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/scalar-2.10/pom.xml
----------------------------------------------------------------------
diff --git a/modules/scalar-2.10/pom.xml b/modules/scalar-2.10/pom.xml
index b7c9178..a2ae7b8 100644
--- a/modules/scalar-2.10/pom.xml
+++ b/modules/scalar-2.10/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-scalar_2.10</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/scalar/pom.xml
----------------------------------------------------------------------
diff --git a/modules/scalar/pom.xml b/modules/scalar/pom.xml
index 7a2e243..84a709d 100644
--- a/modules/scalar/pom.xml
+++ b/modules/scalar/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-scalar</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/schedule/pom.xml
----------------------------------------------------------------------
diff --git a/modules/schedule/pom.xml b/modules/schedule/pom.xml
index 49b75bd..b3e1c18 100644
--- a/modules/schedule/pom.xml
+++ b/modules/schedule/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-schedule</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/schema-import/pom.xml
----------------------------------------------------------------------
diff --git a/modules/schema-import/pom.xml b/modules/schema-import/pom.xml
index 7f8fff4..7364e1e 100644
--- a/modules/schema-import/pom.xml
+++ b/modules/schema-import/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-schema-import</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/slf4j/pom.xml
----------------------------------------------------------------------
diff --git a/modules/slf4j/pom.xml b/modules/slf4j/pom.xml
index 01ad28f..cf98419 100644
--- a/modules/slf4j/pom.xml
+++ b/modules/slf4j/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-slf4j</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/spark-2.10/pom.xml
----------------------------------------------------------------------
diff --git a/modules/spark-2.10/pom.xml b/modules/spark-2.10/pom.xml
index 7463d52..848d550 100644
--- a/modules/spark-2.10/pom.xml
+++ b/modules/spark-2.10/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-spark_2.10</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/spark/pom.xml
----------------------------------------------------------------------
diff --git a/modules/spark/pom.xml b/modules/spark/pom.xml
index 265bb16..3783a40 100644
--- a/modules/spark/pom.xml
+++ b/modules/spark/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-spark</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/spring/pom.xml
----------------------------------------------------------------------
diff --git a/modules/spring/pom.xml b/modules/spring/pom.xml
index ab98384..f5563f5 100644
--- a/modules/spring/pom.xml
+++ b/modules/spring/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-spring</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/ssh/pom.xml
----------------------------------------------------------------------
diff --git a/modules/ssh/pom.xml b/modules/ssh/pom.xml
index 708be4f..2d77c80 100644
--- a/modules/ssh/pom.xml
+++ b/modules/ssh/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-ssh</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/tools/pom.xml
----------------------------------------------------------------------
diff --git a/modules/tools/pom.xml b/modules/tools/pom.xml
index 17ba197..30b1a3e 100644
--- a/modules/tools/pom.xml
+++ b/modules/tools/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-tools</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/urideploy/pom.xml
----------------------------------------------------------------------
diff --git a/modules/urideploy/pom.xml b/modules/urideploy/pom.xml
index 7e19578..1de61e1 100644
--- a/modules/urideploy/pom.xml
+++ b/modules/urideploy/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-urideploy</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/visor-console-2.10/pom.xml
----------------------------------------------------------------------
diff --git a/modules/visor-console-2.10/pom.xml b/modules/visor-console-2.10/pom.xml
index 193e676..167708b 100644
--- a/modules/visor-console-2.10/pom.xml
+++ b/modules/visor-console-2.10/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-visor-console_2.10</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/visor-console/pom.xml
----------------------------------------------------------------------
diff --git a/modules/visor-console/pom.xml b/modules/visor-console/pom.xml
index 87fa4f9..9cadedb 100644
--- a/modules/visor-console/pom.xml
+++ b/modules/visor-console/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-visor-console</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/visor-plugins/pom.xml
----------------------------------------------------------------------
diff --git a/modules/visor-plugins/pom.xml b/modules/visor-plugins/pom.xml
index 8a80009..ae038cd 100644
--- a/modules/visor-plugins/pom.xml
+++ b/modules/visor-plugins/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-visor-plugins</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<!-- Ignite dependencies -->
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/web/pom.xml
----------------------------------------------------------------------
diff --git a/modules/web/pom.xml b/modules/web/pom.xml
index 0509af2..c0b555f 100644
--- a/modules/web/pom.xml
+++ b/modules/web/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-web</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/modules/yardstick/pom.xml
----------------------------------------------------------------------
diff --git a/modules/yardstick/pom.xml b/modules/yardstick/pom.xml
index a9ee178..dc4a033 100644
--- a/modules/yardstick/pom.xml
+++ b/modules/yardstick/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-yardstick</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<properties>
<yardstick.version>0.7.0</yardstick.version>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d52fe87f/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9d1b7d9..0201f84 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
<groupId>org.apache.ignite</groupId>
<artifactId>apache-ignite</artifactId>
- <version>1.2.1-SNAPSHOT</version>
+ <version>1.4.1-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
[30/50] [abbrv] incubator-ignite git commit: GG-10507 Need to add
StreamReceiver to .NET
Posted by sb...@apache.org.
GG-10507 Need to add StreamReceiver to .NET
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/90580d8f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/90580d8f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/90580d8f
Branch: refs/heads/ignite-890
Commit: 90580d8ff47b4f2a56b794c2a8596d0f9db28310
Parents: bee6f68
Author: Pavel Tupitsyn <pt...@gridgain.com>
Authored: Thu Jul 9 21:18:10 2015 +0300
Committer: Pavel Tupitsyn <pt...@gridgain.com>
Committed: Thu Jul 9 21:18:10 2015 +0300
----------------------------------------------------------------------
.../internal/processors/datastreamer/DataStreamProcessor.java | 3 +++
1 file changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90580d8f/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java
index 9e53bb5..54478f8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastreamer/DataStreamProcessor.java
@@ -255,6 +255,9 @@ public class DataStreamProcessor<K, V> extends GridProcessorAdapter {
try {
updater = marsh.unmarshal(req.updaterBytes(), clsLdr);
+
+ if (updater != null)
+ ctx.resource().injectGeneric(updater);
}
catch (IgniteCheckedException e) {
U.error(log, "Failed to unmarshal message [nodeId=" + nodeId + ", req=" + req + ']', e);
[33/50] [abbrv] incubator-ignite git commit: #ignite-gg-10526: fix
consistentId.
Posted by sb...@apache.org.
#ignite-gg-10526: fix consistentId.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/63867945
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/63867945
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/63867945
Branch: refs/heads/ignite-890
Commit: 638679451df99499b5699534b39da08b665cf5ba
Parents: e3fba88
Author: ivasilinets <iv...@gridgain.com>
Authored: Fri Jul 10 10:42:17 2015 +0300
Committer: ivasilinets <iv...@gridgain.com>
Committed: Fri Jul 10 10:48:38 2015 +0300
----------------------------------------------------------------------
.../java/org/apache/ignite/internal/util/IgniteUtils.java | 6 +-----
.../ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java | 8 ++++++--
2 files changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/63867945/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index 46a23d6..f457d6c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -8048,13 +8048,9 @@ public abstract class IgniteUtils {
public static String consistentId(Collection<String> addrs, int port) {
assert !F.isEmpty(addrs);
- List<String> sortedAddrs = new ArrayList<>(addrs);
-
- Collections.sort(sortedAddrs);
-
StringBuilder sb = new StringBuilder();
- for (String addr : sortedAddrs)
+ for (String addr : addrs)
sb.append(addr).append(',');
sb.delete(sb.length() - 1, sb.length());
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/63867945/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
index 4b4df45..22f56c3 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
@@ -143,13 +143,17 @@ public class TcpDiscoveryNode extends GridMetadataAwareAdapter implements Cluste
assert ver != null;
this.id = id;
- this.addrs = addrs;
+
+ List<String> sortedAddrs = new ArrayList<>(addrs);
+ Collections.sort(sortedAddrs);
+
+ this.addrs = sortedAddrs;
this.hostNames = hostNames;
this.discPort = discPort;
this.metricsProvider = metricsProvider;
this.ver = ver;
- consistentId = U.consistentId(addrs, discPort);
+ consistentId = U.consistentId(sortedAddrs, discPort);
metrics = metricsProvider.metrics();
cacheMetrics = metricsProvider.cacheMetrics();
[24/50] [abbrv] incubator-ignite git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10416
Posted by sb...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-gg-10416
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/d04c1042
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/d04c1042
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/d04c1042
Branch: refs/heads/ignite-890
Commit: d04c1042ec120027c1ddc84d672726db7b7135b0
Parents: 8cc75fc c134dcf
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 9 17:04:20 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 9 17:04:20 2015 +0700
----------------------------------------------------------------------
RELEASE_NOTES.txt | 12 ++
.../src/main/java/org/apache/ignite/Ignite.java | 2 +-
.../configuration/CacheConfiguration.java | 4 +
.../configuration/TransactionConfiguration.java | 23 +++
.../apache/ignite/internal/IgniteKernal.java | 32 +--
.../processors/cache/GridCacheAttributes.java | 3 +
.../processors/cache/GridCacheContext.java | 8 +-
.../processors/cache/GridCacheIoManager.java | 8 +-
.../processors/cache/GridCacheProcessor.java | 118 ++++-------
.../cache/GridCacheSharedContext.java | 15 +-
.../distributed/near/GridNearGetFuture.java | 4 +-
.../cache/jta/CacheJtaManagerAdapter.java | 17 +-
.../cache/jta/CacheNoopJtaManager.java | 2 +-
.../continuous/CacheContinuousQueryHandler.java | 4 +-
.../datastructures/DataStructuresProcessor.java | 39 +++-
.../GridCacheCountDownLatchImpl.java | 15 +-
.../visor/cache/VisorCacheConfiguration.java | 11 -
.../ignite/spi/discovery/tcp/ServerImpl.java | 20 ++
.../tcp/internal/TcpDiscoveryNode.java | 2 +-
.../tcp/internal/TcpDiscoveryNodesRing.java | 8 +-
.../tcp/internal/TcpDiscoveryStatistics.java | 10 +-
...cheStoreSessionListenerAbstractSelfTest.java | 1 -
.../cache/CacheFutureExceptionSelfTest.java | 161 +++++++--------
.../IgniteCacheConfigurationTemplateTest.java | 26 +--
.../cache/IgniteDynamicCacheStartSelfTest.java | 16 +-
.../IgniteDynamicClientCacheStartSelfTest.java | 5 +-
.../IgniteClientDataStructuresAbstractTest.java | 109 +++++++---
.../IgniteCountDownLatchAbstractSelfTest.java | 12 +-
...acheAtomicReplicatedNodeRestartSelfTest.java | 8 +-
.../loadtests/hashmap/GridCacheTestContext.java | 4 +-
.../tcp/TcpDiscoveryMultiThreadedTest.java | 38 ++++
.../IgniteSpiDiscoverySelfTestSuite.java | 3 +
.../HibernateTransactionalDataRegion.java | 12 +-
.../hibernate/HibernateL2CacheSelfTest.java | 7 +-
.../HibernateL2CacheTransactionalSelfTest.java | 5 -
.../apache/ignite/cache/jta/CacheTmLookup.java | 3 +-
.../processors/cache/jta/CacheJtaManager.java | 72 ++++++-
.../cache/jta/GridCacheXAResource.java | 16 +-
.../processors/cache/GridCacheJtaSelfTest.java | 52 +++--
.../GridTmLookupLifecycleAwareSelfTest.java | 29 ++-
modules/kafka/licenses/apache-2.0.txt | 202 +++++++++++++++++++
modules/kafka/pom.xml | 11 -
.../commands/cache/VisorCacheCommand.scala | 2 -
.../config/benchmark-put-indexed-val.properties | 64 ++++++
modules/yardstick/config/ignite-base-config.xml | 23 +++
.../cache/IgnitePutIndexedValue1Benchmark.java | 42 ++++
.../cache/IgnitePutIndexedValue2Benchmark.java | 42 ++++
.../cache/IgnitePutIndexedValue8Benchmark.java | 42 ++++
.../ignite/yardstick/cache/model/Person1.java | 55 +++++
.../ignite/yardstick/cache/model/Person2.java | 67 ++++++
.../ignite/yardstick/cache/model/Person8.java | 109 ++++++++++
51 files changed, 1219 insertions(+), 376 deletions(-)
----------------------------------------------------------------------
[40/50] [abbrv] incubator-ignite git commit: Merge remote-tracking
branch 'remotes/origin/master' into ignite-890
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/master' into ignite-890
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/b3355008
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/b3355008
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/b3355008
Branch: refs/heads/ignite-890
Commit: b3355008a3daea5eeaec49da5eb1a4373acb0743
Parents: 226b44f aa2d7cb
Author: Denis Magda <dm...@gridgain.com>
Authored: Mon Jul 13 12:32:53 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Mon Jul 13 12:32:53 2015 +0300
----------------------------------------------------------------------
.../examples/ScalarCacheAffinityExample.scala | 2 +-
.../scalar/examples/ScalarCacheExample.scala | 2 +-
.../ScalarCachePopularNumbersExample.scala | 2 +-
.../examples/ScalarCacheQueryExample.scala | 2 +-
.../examples/ScalarSnowflakeSchemaExample.scala | 4 +-
modules/core/pom.xml | 7 +
.../java/org/apache/ignite/IgniteCache.java | 14 +-
.../org/apache/ignite/cache/CacheManager.java | 13 +-
.../affinity/fair/FairAffinityFunction.java | 5 +-
.../configuration/CacheConfiguration.java | 2 +-
.../apache/ignite/internal/IgniteKernal.java | 2 +-
.../discovery/GridDiscoveryManager.java | 23 +-
.../cache/DynamicCacheChangeRequest.java | 39 +-
.../processors/cache/GridCacheGateway.java | 4 +-
.../GridCachePartitionExchangeManager.java | 6 +-
.../processors/cache/GridCacheProcessor.java | 102 ++-
.../processors/cache/IgniteCacheProxy.java | 448 +++++++---
.../distributed/dht/GridDhtCacheEntry.java | 4 +-
.../GridDhtPartitionsExchangeFuture.java | 30 +-
.../datastreamer/DataStreamProcessor.java | 3 +
.../ignite/internal/util/IgniteUtils.java | 6 +-
.../visor/cache/VisorCacheStopTask.java | 2 +-
.../tcp/internal/TcpDiscoveryNode.java | 8 +-
.../META-INF/classnames-jdk.properties | 3 +
.../affinity/IgniteClientNodeAffinityTest.java | 14 +-
.../IgniteFairAffinityDynamicCacheSelfTest.java | 3 +-
...cheStoreSessionListenerAbstractSelfTest.java | 111 ++-
.../GridCacheTxLoadFromStoreOnLockSelfTest.java | 34 +-
.../CacheMetricsForClusterGroupSelfTest.java | 10 +-
.../cache/CacheOffheapMapEntrySelfTest.java | 7 +-
.../cache/CacheStopAndDestroySelfTest.java | 859 +++++++++++++++++++
...eUsageMultinodeDynamicStartAbstractTest.java | 2 +-
.../cache/GridCacheAbstractFullApiSelfTest.java | 323 ++++---
.../cache/GridCacheAbstractSelfTest.java | 14 +-
...ProjectionForCachesOnDaemonNodeSelfTest.java | 2 +-
.../cache/IgniteDynamicCacheStartSelfTest.java | 140 +--
...teCacheClientNodePartitionsExchangeTest.java | 29 +-
...eAtomicNearOnlyMultiNodeFullApiSelfTest.java | 3 +
...idCacheNearOnlyMultiNodeFullApiSelfTest.java | 5 +-
.../near/GridCacheNearTxMultiNodeSelfTest.java | 10 +-
...achePartitionedMultiNodeFullApiSelfTest.java | 48 +-
...CacheLocalOffHeapAndSwapMetricsSelfTest.java | 2 +-
...OnlyFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...AtomicClientOnlyMultiJvmFullApiSelfTest.java | 31 +
...tOnlyMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...pyOnReadDisabledMultiJvmFullApiSelfTest.java | 31 +
...omicFairAffinityMultiJvmFullApiSelfTest.java | 31 +
.../GridCacheAtomicMultiJvmFullApiSelfTest.java | 30 +
...tomicMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...bledFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...tomicNearEnabledMultiJvmFullApiSelfTest.java | 31 +
...rimaryWriteOrderMultiJvmFullApiSelfTest.java | 31 +
...heAtomicNearOnlyMultiJvmFullApiSelfTest.java | 31 +
...rOnlyMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...cheAtomicOffHeapMultiJvmFullApiSelfTest.java | 31 +
...micOffHeapTieredMultiJvmFullApiSelfTest.java | 36 +
...rderFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...rimaryWriteOrderMultiJvmFullApiSelfTest.java | 31 +
...OrderMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...rityOrderOffHeapMultiJvmFullApiSelfTest.java | 31 +
...derOffHeapTieredMultiJvmFullApiSelfTest.java | 36 +
...OnlyFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...ridCacheNearOnlyMultiJvmFullApiSelfTest.java | 30 +
...rOnlyMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...pyOnReadDisabledMultiJvmFullApiSelfTest.java | 31 +
...onedFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...CachePartitionedMultiJvmFullApiSelfTest.java | 30 +
...ionedMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...micOffHeapTieredMultiJvmFullApiSelfTest.java | 36 +
...bledFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...onedNearDisabledMultiJvmFullApiSelfTest.java | 31 +
...abledMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...rDisabledOffHeapMultiJvmFullApiSelfTest.java | 31 +
...ledOffHeapTieredMultiJvmFullApiSelfTest.java | 36 +
...rtitionedOffHeapMultiJvmFullApiSelfTest.java | 31 +
...nedOffHeapTieredMultiJvmFullApiSelfTest.java | 36 +
...ReplicatedAtomicMultiJvmFullApiSelfTest.java | 31 +
...rimaryWriteOrderMultiJvmFullApiSelfTest.java | 31 +
...dCacheReplicatedMultiJvmFullApiSelfTest.java | 30 +
...catedMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...plicatedNearOnlyMultiJvmFullApiSelfTest.java | 37 +
...eplicatedOffHeapMultiJvmFullApiSelfTest.java | 31 +
...tedOffHeapTieredMultiJvmFullApiSelfTest.java | 36 +
.../DataStreamerMultinodeCreateCacheTest.java | 14 +-
.../GridCommandLineTransformerSelfTest.java | 12 +-
.../testframework/junits/GridAbstractTest.java | 380 +++++++-
.../junits/common/GridCommonAbstractTest.java | 50 +-
.../junits/multijvm/AffinityProcessProxy.java | 195 +++++
.../multijvm/IgniteCacheProcessProxy.java | 602 +++++++++++++
.../multijvm/IgniteClusterProcessProxy.java | 320 +++++++
.../multijvm/IgniteEventsProcessProxy.java | 148 ++++
.../junits/multijvm/IgniteNodeRunner.java | 184 ++++
.../junits/multijvm/IgniteProcessProxy.java | 571 ++++++++++++
...IgniteCacheFullApiMultiJvmSelfTestSuite.java | 89 ++
.../testsuites/IgniteCacheTestSuite4.java | 2 +
.../CacheConfigurationP2PTestClient.java | 4 +-
parent/pom.xml | 40 +
pom.xml | 1 -
98 files changed, 5707 insertions(+), 557 deletions(-)
----------------------------------------------------------------------
[44/50] [abbrv] incubator-ignite git commit: fix
Posted by sb...@apache.org.
fix
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/dda77273
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/dda77273
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/dda77273
Branch: refs/heads/ignite-890
Commit: dda77273b382fbafb96f3710beb514451189e4c5
Parents: cddbed5
Author: Denis Magda <dm...@gridgain.com>
Authored: Mon Jul 13 19:08:11 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Mon Jul 13 19:08:11 2015 +0300
----------------------------------------------------------------------
.../communication/tcp/TcpCommunicationSpi.java | 7 +-
.../tcp/TcpDiscoveryMultiThreadedTest.java | 77 ++------------------
2 files changed, 9 insertions(+), 75 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dda77273/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index f62cdd4..dcc7037 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -2066,7 +2066,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
client = null;
}
- onException("Handshake timedout (will retry with increased timeout) [timeout=" + connTimeout0 +
+ onException("Handshake timeout (will retry with increased timeout) [timeout=" + connTimeout0 +
", addr=" + addr + ']', e);
if (log.isDebugEnabled())
@@ -2100,8 +2100,9 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
}
}
catch (Exception e) {
- if (!getSpiContext().localNode().isClient() && node.isClient())
- getSpiContext().tryFailNode(node.id(), "Killing client");
+ if (X.hasCause(e, HandshakeFailureException.class) && node.isClient() &&
+ !getSpiContext().isStopping())
+ getSpiContext().tryFailNode(node.id(), "Killing client: " + e.getMessage());
if (client != null) {
client.forceClose();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dda77273/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 169a8b5..61fe95d 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -37,10 +37,10 @@ import static org.apache.ignite.events.EventType.*;
*/
public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
/** */
- private static final int GRID_CNT = 4;
+ private static final int GRID_CNT = 5;
/** */
- private static final int CLIENT_GRID_CNT = 1;
+ private static final int CLIENT_GRID_CNT = 5;
/** */
private static final ThreadLocal<Boolean> clientFlagPerThread = new ThreadLocal<>();
@@ -102,7 +102,9 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
* @throws Exception If any error occurs.
*/
public void testMultiThreaded() throws Exception {
- execute2();
+ //fail("https://issues.apache.org/jira/browse/IGNITE-1100");
+
+ execute();
}
/**
@@ -164,75 +166,6 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
/**
* @throws Exception If failed.
*/
- private void execute2() throws Exception {
- info("Test timeout: " + (getTestTimeout() / (60 * 1000)) + " min.");
-
- startGridsMultiThreaded(GRID_CNT);
-
- clientFlagGlobal = true;
-
- startGridsMultiThreaded(GRID_CNT, CLIENT_GRID_CNT);
-
- final AtomicBoolean done = new AtomicBoolean();
-
- final AtomicInteger clientIdx = new AtomicInteger(GRID_CNT);
-
- IgniteInternalFuture<?> fut1 = multithreadedAsync(
- new Callable<Object>() {
- @Override public Object call() throws Exception {
- clientFlagPerThread.set(true);
-
- int idx = clientIdx.getAndIncrement();
-
- while (!done.get()) {
- stopGrid(idx);
- //assertTrue(stopGrid(idx, true));
- startGrid(idx);
- }
-
- return null;
- }
- },
- 1
- );
-
- final BlockingQueue<Integer> srvIdx = new LinkedBlockingQueue<>();
-
- for (int i = 0; i < GRID_CNT; i++)
- srvIdx.add(i);
-
- IgniteInternalFuture<?> fut2 = multithreadedAsync(
- new Callable<Object>() {
- @Override public Object call() throws Exception {
- clientFlagPerThread.set(false);
-
- while (!done.get()) {
- int idx = srvIdx.take();
-
- stopGrid(idx);
- //assertTrue(stopGrid(idx, true));
- startGrid(idx);
-
- srvIdx.add(idx);
- }
-
- return null;
- }
- },
- GRID_CNT - 1
- );
-
- Thread.sleep(getTestTimeout() - 60 * 1000);
-
- done.set(true);
-
- fut1.get();
- fut2.get();
- }
-
- /**
- * @throws Exception If failed.
- */
private void execute() throws Exception {
info("Test timeout: " + (getTestTimeout() / (60 * 1000)) + " min.");
[48/50] [abbrv] incubator-ignite git commit: Merge remote-tracking
branch 'remotes/origin/master' into ignite-890
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/master' into ignite-890
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/da5d7e5d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/da5d7e5d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/da5d7e5d
Branch: refs/heads/ignite-890
Commit: da5d7e5d6bcfad8ba8f182c02c80241992ec994e
Parents: 4201077 d52fe87
Author: Denis Magda <dm...@gridgain.com>
Authored: Tue Jul 14 13:54:49 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Tue Jul 14 13:54:49 2015 +0300
----------------------------------------------------------------------
examples/pom.xml | 2 +-
modules/aop/pom.xml | 2 +-
modules/aws/pom.xml | 2 +-
modules/clients/pom.xml | 2 +-
modules/cloud/pom.xml | 2 +-
modules/codegen/pom.xml | 2 +-
modules/core/pom.xml | 2 +-
.../processors/cache/GridCacheContext.java | 14 +++++------
.../core/src/main/resources/ignite.properties | 2 +-
modules/extdata/p2p/pom.xml | 2 +-
.../extdata/uri/modules/uri-dependency/pom.xml | 6 ++---
modules/extdata/uri/pom.xml | 26 ++++++++------------
modules/gce/pom.xml | 2 +-
modules/geospatial/pom.xml | 2 +-
modules/hadoop/pom.xml | 2 +-
modules/hibernate/pom.xml | 2 +-
modules/indexing/pom.xml | 2 +-
modules/jcl/pom.xml | 2 +-
modules/jta/pom.xml | 2 +-
modules/kafka/pom.xml | 2 +-
modules/log4j/pom.xml | 2 +-
modules/mesos/pom.xml | 2 +-
modules/rest-http/pom.xml | 2 +-
modules/scalar-2.10/pom.xml | 2 +-
modules/scalar/pom.xml | 2 +-
modules/schedule/pom.xml | 2 +-
modules/schema-import/pom.xml | 2 +-
modules/slf4j/pom.xml | 2 +-
modules/spark-2.10/pom.xml | 2 +-
modules/spark/pom.xml | 2 +-
modules/spring/pom.xml | 2 +-
modules/ssh/pom.xml | 2 +-
modules/tools/pom.xml | 2 +-
modules/urideploy/pom.xml | 2 +-
modules/visor-console-2.10/pom.xml | 2 +-
modules/visor-console/pom.xml | 2 +-
modules/visor-plugins/pom.xml | 2 +-
modules/web/pom.xml | 2 +-
modules/yardstick/pom.xml | 2 +-
pom.xml | 2 +-
40 files changed, 56 insertions(+), 64 deletions(-)
----------------------------------------------------------------------
[43/50] [abbrv] incubator-ignite git commit: ignite-890: fixing
Posted by sb...@apache.org.
ignite-890: fixing
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/cddbed5c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/cddbed5c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/cddbed5c
Branch: refs/heads/ignite-890
Commit: cddbed5c33c791650f719df4def07287b1092c2a
Parents: e25d5b1
Author: Denis Magda <dm...@gridgain.com>
Authored: Mon Jul 13 16:50:06 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Mon Jul 13 16:50:06 2015 +0300
----------------------------------------------------------------------
.../communication/tcp/TcpCommunicationSpi.java | 27 +++++++++++++++++---
.../ignite/spi/discovery/tcp/ClientImpl.java | 8 +++++-
.../messages/TcpDiscoveryNodeFailedMessage.java | 1 +
.../tcp/TcpDiscoveryMultiThreadedTest.java | 6 +++--
.../testframework/junits/GridAbstractTest.java | 3 ++-
5 files changed, 37 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cddbed5c/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index 4ca2995..f62cdd4 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -1728,8 +1728,8 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
GridCommunicationClient client = clients.get(nodeId);
if (client == null) {
- if (isNodeStopping())
- throw new IgniteSpiException("Node is stopping.");
+ //if (isNodeStopping())
+ // throw new IgniteSpiException("Node is stopping.");
// Do not allow concurrent connects.
GridFutureAdapter<GridCommunicationClient> fut = new ConnectFuture();
@@ -1899,6 +1899,9 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
}
}
catch (IgniteCheckedException | RuntimeException | Error e) {
+ if (!getSpiContext().localNode().isClient() && node.isClient())
+ getSpiContext().tryFailNode(node.id(), "Killing client");
+
if (log.isDebugEnabled())
log.debug(
"Caught exception (will close client) [err=" + e.getMessage() + ", client=" + client + ']');
@@ -2097,6 +2100,9 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
}
}
catch (Exception e) {
+ if (!getSpiContext().localNode().isClient() && node.isClient())
+ getSpiContext().tryFailNode(node.id(), "Killing client");
+
if (client != null) {
client.forceClose();
@@ -2200,7 +2206,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
UUID rmtNodeId0 = U.bytesToUuid(buf.array(), 1);
if (!rmtNodeId.equals(rmtNodeId0))
- throw new IgniteCheckedException("Remote node ID is not as expected [expected=" + rmtNodeId +
+ throw new HandshakeFailureException("Remote node ID is not as expected [expected=" + rmtNodeId +
", rcvd=" + rmtNodeId0 + ']');
else if (log.isDebugEnabled())
log.debug("Received remote node ID: " + rmtNodeId0);
@@ -2242,7 +2248,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
int read = ch.read(buf);
if (read == -1)
- throw new IgniteCheckedException("Failed to read remote node recovery handshake " +
+ throw new HandshakeFailureException("Failed to read remote node recovery handshake " +
"(connection closed).");
i += read;
@@ -2421,6 +2427,19 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
}
}
+ /** Internal exception class for handshake failure handling. */
+ private static class HandshakeFailureException extends IgniteCheckedException {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /**
+ * @param msg Message.
+ */
+ HandshakeFailureException(String msg) {
+ super(msg);
+ }
+ }
+
/**
* This worker takes responsibility to shut the server down when stopping,
* No other thread shall stop passed server.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cddbed5c/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index d138a6a..bb8d52d 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -1134,14 +1134,18 @@ class ClientImpl extends TcpDiscoveryImpl {
assert spi.getSpiContext().isStopping();
if (currSock != null) {
+ System.out.println("Sending node left msg: " + getLocalNodeId());
+
TcpDiscoveryAbstractMessage leftMsg = new TcpDiscoveryNodeLeftMessage(getLocalNodeId());
leftMsg.client(true);
sockWriter.sendMessage(leftMsg);
}
- else
+ else {
+ System.out.println("No connection on leave: " + getLocalNodeId());
leaveLatch.countDown();
+ }
}
else if (msg instanceof SocketClosedMessage) {
if (((SocketClosedMessage)msg).sock == currSock) {
@@ -1174,6 +1178,8 @@ class ClientImpl extends TcpDiscoveryImpl {
reconnector.cancel();
reconnector.join();
+ System.out.println("RECONNECT FAILED: sending segmentation error: " + locNode);
+
notifyDiscovery(EVT_NODE_SEGMENTED, topVer, locNode, allVisibleNodes());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cddbed5c/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
index 93ecdaa..cd85bfd 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
@@ -51,6 +51,7 @@ public class TcpDiscoveryNodeFailedMessage extends TcpDiscoveryAbstractMessage {
public TcpDiscoveryNodeFailedMessage(UUID creatorNodeId, UUID failedNodeId, long order) {
super(creatorNodeId);
+ U.dumpStack("Failed = " + failedNodeId + ", creator=" + creatorNodeId);
assert failedNodeId != null;
assert order > 0;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cddbed5c/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index cd07341..169a8b5 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -185,7 +185,8 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
int idx = clientIdx.getAndIncrement();
while (!done.get()) {
- assertTrue(stopGrid(idx, true));
+ stopGrid(idx);
+ //assertTrue(stopGrid(idx, true));
startGrid(idx);
}
@@ -208,7 +209,8 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
while (!done.get()) {
int idx = srvIdx.take();
- assertTrue(stopGrid(idx, true));
+ stopGrid(idx);
+ //assertTrue(stopGrid(idx, true));
startGrid(idx);
srvIdx.add(idx);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cddbed5c/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
index 29d204e..f7ec124 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
@@ -1032,7 +1032,8 @@ public abstract class GridAbstractTest extends TestCase {
assert ignite != null : "Ignite returned null grid for name: " + gridName;
- info(">>> Stopping grid [name=" + ignite.name() + ", id=" + ignite.cluster().localNode().id() + ']');
+ info(">>> Stopping grid [name=" + ignite.name() + ", id=" + ignite.cluster().localNode().id() +
+ ", isClient=" + ignite.configuration().isClientMode() + ']');
res = G.stop(gridName, cancel);
}
[42/50] [abbrv] incubator-ignite git commit: ignite-890: fixing
Posted by sb...@apache.org.
ignite-890: fixing
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e25d5b11
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e25d5b11
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e25d5b11
Branch: refs/heads/ignite-890
Commit: e25d5b11cb08ba7fcb0a64721603de3f8c50aa28
Parents: dce50db
Author: Denis Magda <dm...@gridgain.com>
Authored: Mon Jul 13 14:01:46 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Mon Jul 13 14:01:46 2015 +0300
----------------------------------------------------------------------
.../org/apache/ignite/spi/discovery/tcp/ServerImpl.java | 4 ++++
.../spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java | 8 ++++----
.../ignite/testframework/junits/GridAbstractTest.java | 10 ++++++++--
3 files changed, 16 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e25d5b11/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index ff33efa..33abe55 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -1710,6 +1710,8 @@ class ServerImpl extends TcpDiscoveryImpl {
if (res != null && msg.verified())
res.add(prepare(msg, node.id()));
+ else
+ log.info("(1) Skipping message with [topVer=" + msg.topologyVersion() + ", msg=" + msg + ']');
}
if (log.isDebugEnabled()) {
@@ -1736,6 +1738,8 @@ class ServerImpl extends TcpDiscoveryImpl {
}
else if (msg.verified())
cp.add(prepare(msg, node.id()));
+ else
+ log.info("(2) Skipping message with [topVer=" + msg.topologyVersion() + ", msg=" + msg + ']');
}
cp = !skip ? cp : null;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e25d5b11/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index b291b9c..cd07341 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -37,10 +37,10 @@ import static org.apache.ignite.events.EventType.*;
*/
public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
/** */
- private static final int GRID_CNT = 3;
+ private static final int GRID_CNT = 4;
/** */
- private static final int CLIENT_GRID_CNT = 2;
+ private static final int CLIENT_GRID_CNT = 1;
/** */
private static final ThreadLocal<Boolean> clientFlagPerThread = new ThreadLocal<>();
@@ -185,7 +185,7 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
int idx = clientIdx.getAndIncrement();
while (!done.get()) {
- stopGrid(idx);
+ assertTrue(stopGrid(idx, true));
startGrid(idx);
}
@@ -208,7 +208,7 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
while (!done.get()) {
int idx = srvIdx.take();
- stopGrid(idx);
+ assertTrue(stopGrid(idx, true));
startGrid(idx);
srvIdx.add(idx);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e25d5b11/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
index 06a1523..29d204e 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
@@ -1022,9 +1022,11 @@ public abstract class GridAbstractTest extends TestCase {
* @param cancel Cancel flag.
*/
@SuppressWarnings("deprecation")
- protected void stopGrid(int idx, boolean cancel) {
+ protected boolean stopGrid(int idx, boolean cancel) {
String gridName = getTestGridName(idx);
+ boolean res;
+
try {
Ignite ignite = G.ignite(gridName);
@@ -1032,16 +1034,20 @@ public abstract class GridAbstractTest extends TestCase {
info(">>> Stopping grid [name=" + ignite.name() + ", id=" + ignite.cluster().localNode().id() + ']');
- G.stop(gridName, cancel);
+ res = G.stop(gridName, cancel);
}
catch (IllegalStateException ignored) {
// Ignore error if grid already stopped.
+ res = true;
}
catch (Throwable e) {
error("Failed to stop grid [gridName=" + gridName + ", cancel=" + cancel + ']', e);
stopGridErr = true;
+ res = false;
}
+
+ return res;
}
/**
[25/50] [abbrv] incubator-ignite git commit: # ignite-gg-10416 Fixed
tests.
Posted by sb...@apache.org.
# ignite-gg-10416 Fixed tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/546d5955
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/546d5955
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/546d5955
Branch: refs/heads/ignite-890
Commit: 546d5955a1fdb4a16c186242945d4a27ba13c52c
Parents: d04c104
Author: Andrey <an...@gridgain.com>
Authored: Thu Jul 9 17:14:10 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Jul 9 17:14:10 2015 +0700
----------------------------------------------------------------------
.../util/spring/IgniteSpringHelperImpl.java | 10 +++++-----
.../spring/IgniteExcludeInConfigurationTest.java | 5 ++++-
.../org/apache/ignite/spring/sprint-exclude.xml | 19 +++++++++++++++++++
3 files changed, 28 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/546d5955/modules/spring/src/main/java/org/apache/ignite/internal/util/spring/IgniteSpringHelperImpl.java
----------------------------------------------------------------------
diff --git a/modules/spring/src/main/java/org/apache/ignite/internal/util/spring/IgniteSpringHelperImpl.java b/modules/spring/src/main/java/org/apache/ignite/internal/util/spring/IgniteSpringHelperImpl.java
index 6cfca36..435f522 100644
--- a/modules/spring/src/main/java/org/apache/ignite/internal/util/spring/IgniteSpringHelperImpl.java
+++ b/modules/spring/src/main/java/org/apache/ignite/internal/util/spring/IgniteSpringHelperImpl.java
@@ -422,6 +422,8 @@ public class IgniteSpringHelperImpl implements IgniteSpringHelper {
GenericApplicationContext springCtx = new GenericApplicationContext();
if (excludedProps.length > 0) {
+ final List<String> excludedPropsList = Arrays.asList(excludedProps);
+
BeanFactoryPostProcessor postProc = new BeanFactoryPostProcessor() {
/**
* @param def Registered BeanDefinition.
@@ -433,12 +435,10 @@ public class IgniteSpringHelperImpl implements IgniteSpringHelper {
while (iterVals.hasNext()) {
PropertyValue val = iterVals.next();
- for (String excludedProp : excludedProps) {
- if (val.getName().equals(excludedProp)) {
- iterVals.remove();
+ if (excludedPropsList.contains(val.getName())) {
+ iterVals.remove();
- return;
- }
+ continue;
}
if (val.getValue() instanceof Iterable) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/546d5955/modules/spring/src/test/java/org/apache/ignite/spring/IgniteExcludeInConfigurationTest.java
----------------------------------------------------------------------
diff --git a/modules/spring/src/test/java/org/apache/ignite/spring/IgniteExcludeInConfigurationTest.java b/modules/spring/src/test/java/org/apache/ignite/spring/IgniteExcludeInConfigurationTest.java
index 1edca77..b708f21 100644
--- a/modules/spring/src/test/java/org/apache/ignite/spring/IgniteExcludeInConfigurationTest.java
+++ b/modules/spring/src/test/java/org/apache/ignite/spring/IgniteExcludeInConfigurationTest.java
@@ -40,7 +40,8 @@ public class IgniteExcludeInConfigurationTest extends GridCommonAbstractTest {
public void testExclude() throws Exception {
IgniteSpringHelper spring = SPRING.create(false);
- Collection<IgniteConfiguration> cfgs = spring.loadConfigurations(cfgLocation, "typeMetadata").get1();
+ Collection<IgniteConfiguration> cfgs = spring.loadConfigurations(cfgLocation, "fileSystemConfiguration",
+ "typeMetadata").get1();
assertNotNull(cfgs);
assertEquals(1, cfgs.size());
@@ -50,6 +51,8 @@ public class IgniteExcludeInConfigurationTest extends GridCommonAbstractTest {
assertEquals(1, cfg.getCacheConfiguration().length);
assertNull(cfg.getCacheConfiguration()[0].getTypeMetadata());
+ assertNull(cfg.getFileSystemConfiguration());
+
cfgs = spring.loadConfigurations(cfgLocation, "keyType").get1();
assertNotNull(cfgs);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/546d5955/modules/spring/src/test/java/org/apache/ignite/spring/sprint-exclude.xml
----------------------------------------------------------------------
diff --git a/modules/spring/src/test/java/org/apache/ignite/spring/sprint-exclude.xml b/modules/spring/src/test/java/org/apache/ignite/spring/sprint-exclude.xml
index 494f786..e6bf426 100644
--- a/modules/spring/src/test/java/org/apache/ignite/spring/sprint-exclude.xml
+++ b/modules/spring/src/test/java/org/apache/ignite/spring/sprint-exclude.xml
@@ -29,6 +29,25 @@
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
+ <property name="fileSystemConfiguration">
+ <list>
+ <bean class="org.apache.ignite.configuration.FileSystemConfiguration">
+ <property name="name" value="test"/>
+ <property name="metaCacheName" value="meta"/>
+ <property name="dataCacheName" value="data"/>
+
+ <property name="maxSpaceSize" value="#{100L * 1024 * 1024}"/>
+
+ <!-- Loopback endpoint. -->
+ <property name="ipcEndpointConfiguration">
+ <bean class="org.apache.ignite.igfs.IgfsIpcEndpointConfiguration">
+ <property name="type" value="TCP" />
+ </bean>
+ </property>
+ </bean>
+ </list>
+ </property>
+
<!-- Cache configurations (all properties are optional). -->
<property name="cacheConfiguration">
<list>
[11/50] [abbrv] incubator-ignite git commit: Merge remote-tracking
branch 'remotes/origin/master' into ignite-591
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/master' into ignite-591
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/cfeec2dd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/cfeec2dd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/cfeec2dd
Branch: refs/heads/ignite-890
Commit: cfeec2ddb63770dfe28176c3916630753162631c
Parents: 839fe79 44b52b4
Author: sevdokimov <se...@gridgain.com>
Authored: Wed Jul 8 14:32:52 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Wed Jul 8 14:32:52 2015 +0300
----------------------------------------------------------------------
.../ignite/spi/discovery/tcp/ServerImpl.java | 20 ++
.../tcp/internal/TcpDiscoveryNode.java | 2 +-
.../tcp/internal/TcpDiscoveryNodesRing.java | 8 +-
.../tcp/internal/TcpDiscoveryStatistics.java | 10 +-
...acheAtomicReplicatedNodeRestartSelfTest.java | 8 +-
.../tcp/TcpDiscoveryMultiThreadedTest.java | 38 ++++
.../IgniteSpiDiscoverySelfTestSuite.java | 3 +
modules/kafka/licenses/apache-2.0.txt | 202 +++++++++++++++++++
.../config/benchmark-put-indexed-val.properties | 64 ++++++
modules/yardstick/config/ignite-base-config.xml | 23 +++
.../cache/IgnitePutIndexedValue1Benchmark.java | 42 ++++
.../cache/IgnitePutIndexedValue2Benchmark.java | 42 ++++
.../cache/IgnitePutIndexedValue8Benchmark.java | 42 ++++
.../ignite/yardstick/cache/model/Person1.java | 55 +++++
.../ignite/yardstick/cache/model/Person2.java | 67 ++++++
.../ignite/yardstick/cache/model/Person8.java | 109 ++++++++++
16 files changed, 727 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
[28/50] [abbrv] incubator-ignite git commit: Merge remote-tracking
branch 'remotes/origin/master' into ignite-890
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/master' into ignite-890
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/97ab409f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/97ab409f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/97ab409f
Branch: refs/heads/ignite-890
Commit: 97ab409f52b106a75819d77ad5a6fef66e9dc1c7
Parents: c4f933f bee6f68
Author: Denis Magda <dm...@gridgain.com>
Authored: Thu Jul 9 16:57:00 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Thu Jul 9 16:57:00 2015 +0300
----------------------------------------------------------------------
RELEASE_NOTES.txt | 12 ++
.../src/main/java/org/apache/ignite/Ignite.java | 2 +-
.../configuration/CacheConfiguration.java | 4 +
.../configuration/TransactionConfiguration.java | 23 +++
.../apache/ignite/internal/IgniteKernal.java | 32 +--
.../processors/cache/GridCacheAttributes.java | 3 +
.../processors/cache/GridCacheContext.java | 8 +-
.../processors/cache/GridCacheIoManager.java | 8 +-
.../processors/cache/GridCacheProcessor.java | 118 ++++-------
.../cache/GridCacheSharedContext.java | 15 +-
.../distributed/near/GridNearGetFuture.java | 4 +-
.../cache/jta/CacheJtaManagerAdapter.java | 17 +-
.../cache/jta/CacheNoopJtaManager.java | 2 +-
.../continuous/CacheContinuousQueryHandler.java | 4 +-
.../datastructures/DataStructuresProcessor.java | 39 +++-
.../GridCacheCountDownLatchImpl.java | 15 +-
.../visor/cache/VisorCacheConfiguration.java | 11 -
...cheStoreSessionListenerAbstractSelfTest.java | 1 -
.../cache/CacheFutureExceptionSelfTest.java | 161 +++++++--------
.../IgniteCacheConfigurationTemplateTest.java | 26 +--
.../cache/IgniteDynamicCacheStartSelfTest.java | 16 +-
.../IgniteDynamicClientCacheStartSelfTest.java | 5 +-
.../IgniteClientDataStructuresAbstractTest.java | 109 +++++++---
.../IgniteCountDownLatchAbstractSelfTest.java | 12 +-
.../loadtests/hashmap/GridCacheTestContext.java | 4 +-
.../testsuites/IgniteHadoopTestSuite.java | 2 +-
.../HibernateTransactionalDataRegion.java | 12 +-
.../hibernate/HibernateL2CacheSelfTest.java | 7 +-
.../HibernateL2CacheTransactionalSelfTest.java | 5 -
.../apache/ignite/cache/jta/CacheTmLookup.java | 3 +-
.../processors/cache/jta/CacheJtaManager.java | 72 ++++++-
.../cache/jta/GridCacheXAResource.java | 16 +-
.../processors/cache/GridCacheJtaSelfTest.java | 52 +++--
.../GridTmLookupLifecycleAwareSelfTest.java | 29 ++-
modules/kafka/licenses/apache-2.0.txt | 202 +++++++++++++++++++
modules/kafka/pom.xml | 11 -
.../util/spring/IgniteSpringHelperImpl.java | 10 +-
.../IgniteExcludeInConfigurationTest.java | 5 +-
.../org/apache/ignite/spring/sprint-exclude.xml | 19 ++
.../commands/cache/VisorCacheCommand.scala | 2 -
.../visor/commands/open/VisorOpenCommand.scala | 2 +-
.../config/benchmark-put-indexed-val.properties | 64 ++++++
modules/yardstick/config/ignite-base-config.xml | 23 +++
.../cache/IgnitePutIndexedValue1Benchmark.java | 42 ++++
.../cache/IgnitePutIndexedValue2Benchmark.java | 42 ++++
.../cache/IgnitePutIndexedValue8Benchmark.java | 42 ++++
.../ignite/yardstick/cache/model/Person1.java | 55 +++++
.../ignite/yardstick/cache/model/Person2.java | 67 ++++++
.../ignite/yardstick/cache/model/Person8.java | 109 ++++++++++
49 files changed, 1168 insertions(+), 376 deletions(-)
----------------------------------------------------------------------
[26/50] [abbrv] incubator-ignite git commit: # Hive version changed
in tests: 1.2.0 -> 1.2.1
Posted by sb...@apache.org.
# Hive version changed in tests: 1.2.0 -> 1.2.1
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/bee6f688
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/bee6f688
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/bee6f688
Branch: refs/heads/ignite-890
Commit: bee6f6884ba0da9b9418842f7926d1dbd3ddd624
Parents: 546d595
Author: iveselovskiy <iv...@gridgain.com>
Authored: Thu Jul 9 15:05:01 2015 +0300
Committer: iveselovskiy <iv...@gridgain.com>
Committed: Thu Jul 9 15:05:01 2015 +0300
----------------------------------------------------------------------
.../java/org/apache/ignite/testsuites/IgniteHadoopTestSuite.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bee6f688/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteHadoopTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteHadoopTestSuite.java b/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteHadoopTestSuite.java
index 2ab3e8c..7393f69 100644
--- a/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteHadoopTestSuite.java
+++ b/modules/hadoop/src/test/java/org/apache/ignite/testsuites/IgniteHadoopTestSuite.java
@@ -130,7 +130,7 @@ public class IgniteHadoopTestSuite extends TestSuite {
* @throws Exception If failed.
*/
public static void downloadHive() throws Exception {
- String ver = IgniteSystemProperties.getString("hive.version", "1.2.0");
+ String ver = IgniteSystemProperties.getString("hive.version", "1.2.1");
X.println("Will use Hive version: " + ver);
[35/50] [abbrv] incubator-ignite git commit: Javadoc fixed
Posted by sb...@apache.org.
Javadoc fixed
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/ab655edf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/ab655edf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/ab655edf
Branch: refs/heads/ignite-890
Commit: ab655edf102328c654cac3dbd1ab31db1392fa47
Parents: a747ca4
Author: agura <ag...@gridgain.com>
Authored: Fri Jul 10 17:10:09 2015 +0300
Committer: agura <ag...@gridgain.com>
Committed: Fri Jul 10 17:10:09 2015 +0300
----------------------------------------------------------------------
.../java/org/apache/ignite/configuration/CacheConfiguration.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ab655edf/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
index 63c7269..57f1e9d 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
@@ -828,7 +828,7 @@ public class CacheConfiguration<K, V> extends MutableConfiguration<K, V> {
/**
* Gets caching mode to use. You can configure cache either to be local-only,
- * fully replicated, partitioned, or near. If not provided, {@link CacheMode#REPLICATED}
+ * fully replicated, partitioned, or near. If not provided, {@link CacheMode#PARTITIONED}
* mode will be used by default (defined by {@link #DFLT_CACHE_MODE} constant).
*
* @return {@code True} if cache is local.
[22/50] [abbrv] incubator-ignite git commit: Merge branches
'ignite-1076' and 'master' of
https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-1076
Posted by sb...@apache.org.
Merge branches 'ignite-1076' and 'master' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-1076
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/297d2506
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/297d2506
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/297d2506
Branch: refs/heads/ignite-890
Commit: 297d250639156e22eecc6b7f41a98b6c54538a84
Parents: 2cfe455 c134dcf
Author: Valentin Kulichenko <vk...@gridgain.com>
Authored: Wed Jul 8 20:36:44 2015 -0700
Committer: Valentin Kulichenko <vk...@gridgain.com>
Committed: Wed Jul 8 20:36:44 2015 -0700
----------------------------------------------------------------------
RELEASE_NOTES.txt | 12 +
bin/ignite.bat | 8 +-
bin/ignite.sh | 6 +-
bin/include/parseargs.bat | 1 +
bin/include/parseargs.sh | 3 +
dev-tools/slurp.sh | 2 +-
modules/core/pom.xml | 4 +-
.../src/main/java/org/apache/ignite/Ignite.java | 2 +-
.../java/org/apache/ignite/IgniteCache.java | 5 +
.../apache/ignite/IgniteSystemProperties.java | 3 +
.../cache/eviction/fifo/FifoEvictionPolicy.java | 5 -
.../cache/eviction/lru/LruEvictionPolicy.java | 5 -
.../eviction/sorted/SortedEvictionPolicy.java | 19 +-
.../configuration/CacheConfiguration.java | 4 +
.../configuration/TransactionConfiguration.java | 23 ++
.../apache/ignite/internal/IgniteKernal.java | 33 +-
.../internal/interop/InteropIgnition.java | 48 ++-
.../internal/interop/InteropProcessor.java | 7 +
.../managers/communication/GridIoManager.java | 124 ++++--
.../managers/communication/GridIoMessage.java | 15 +-
.../managers/communication/GridIoPolicy.java | 32 +-
.../eventstorage/GridEventStorageManager.java | 2 +-
.../processors/cache/CacheObjectImpl.java | 1 -
.../processors/cache/CacheOperationContext.java | 44 ++-
.../internal/processors/cache/CacheType.java | 8 +-
.../processors/cache/GridCacheAdapter.java | 91 +++--
.../processors/cache/GridCacheAtomicFuture.java | 12 +-
.../processors/cache/GridCacheAttributes.java | 3 +
.../processors/cache/GridCacheContext.java | 12 +-
.../processors/cache/GridCacheIoManager.java | 20 +-
.../processors/cache/GridCacheMvccManager.java | 8 +-
.../processors/cache/GridCacheProcessor.java | 118 ++----
.../processors/cache/GridCacheProxyImpl.java | 10 +-
.../cache/GridCacheSharedContext.java | 15 +-
.../processors/cache/GridCacheSwapManager.java | 257 ++++++++-----
.../processors/cache/GridCacheUtils.java | 42 +++
.../processors/cache/IgniteCacheProxy.java | 36 +-
.../GridDistributedTxFinishRequest.java | 11 +-
.../GridDistributedTxPrepareRequest.java | 9 +-
.../GridDistributedTxRemoteAdapter.java | 3 +-
.../distributed/dht/GridDhtTxFinishRequest.java | 3 +-
.../cache/distributed/dht/GridDhtTxLocal.java | 3 +-
.../distributed/dht/GridDhtTxLocalAdapter.java | 3 +-
.../cache/distributed/dht/GridDhtTxRemote.java | 5 +-
.../dht/GridPartitionedGetFuture.java | 13 +-
.../dht/atomic/GridDhtAtomicCache.java | 18 +-
.../dht/atomic/GridDhtAtomicUpdateFuture.java | 15 +-
.../dht/atomic/GridNearAtomicUpdateFuture.java | 177 ++++++++-
.../distributed/near/GridNearGetFuture.java | 4 +-
.../near/GridNearTxFinishRequest.java | 3 +-
.../cache/distributed/near/GridNearTxLocal.java | 3 +-
.../distributed/near/GridNearTxRemote.java | 5 +-
.../cache/jta/CacheJtaManagerAdapter.java | 17 +-
.../cache/jta/CacheNoopJtaManager.java | 2 +-
.../cache/query/GridCacheQueryAdapter.java | 35 +-
.../continuous/CacheContinuousQueryHandler.java | 4 +-
.../cache/transactions/IgniteInternalTx.java | 3 +-
.../cache/transactions/IgniteTxAdapter.java | 11 +-
.../transactions/IgniteTxLocalAdapter.java | 3 +-
.../datastructures/DataStructuresProcessor.java | 39 +-
.../datastructures/GridCacheAtomicLongImpl.java | 25 +-
.../GridCacheAtomicSequenceImpl.java | 11 +-
.../GridCacheAtomicStampedImpl.java | 21 +-
.../GridCacheCountDownLatchImpl.java | 31 +-
.../internal/processors/igfs/IgfsContext.java | 5 +-
.../plugin/IgnitePluginProcessor.java | 3 +-
.../processors/query/GridQueryProcessor.java | 5 +
.../ignite/internal/util/IgniteUtils.java | 6 +-
.../visor/cache/VisorCacheConfiguration.java | 11 -
.../plugin/extensions/communication/IoPool.java | 42 +++
.../communication/tcp/TcpCommunicationSpi.java | 2 +-
.../ignite/spi/discovery/tcp/ClientImpl.java | 5 +-
.../ignite/spi/discovery/tcp/ServerImpl.java | 51 ++-
.../tcp/internal/TcpDiscoveryNode.java | 2 +-
.../tcp/internal/TcpDiscoveryNodesRing.java | 8 +-
.../tcp/internal/TcpDiscoveryStatistics.java | 10 +-
.../TcpDiscoveryMulticastIpFinder.java | 2 +-
.../startup/cmdline/CommandLineStartup.java | 3 +-
.../startup/cmdline/CommandLineTransformer.java | 9 +
...cheStoreSessionListenerAbstractSelfTest.java | 1 -
.../communication/GridIoManagerSelfTest.java | 2 +-
.../cache/CacheFutureExceptionSelfTest.java | 158 ++++++++
.../IgniteCacheConfigurationTemplateTest.java | 26 +-
.../cache/IgniteDynamicCacheStartSelfTest.java | 16 +-
.../IgniteDynamicClientCacheStartSelfTest.java | 5 +-
.../cache/IgniteInternalCacheTypesTest.java | 3 +-
.../IgniteClientDataStructuresAbstractTest.java | 109 ++++--
.../IgniteCountDownLatchAbstractSelfTest.java | 12 +-
.../IgniteCachePutRetryAbstractSelfTest.java | 147 ++++++++
.../dht/IgniteCachePutRetryAtomicSelfTest.java | 34 ++
...gniteCachePutRetryTransactionalSelfTest.java | 74 ++++
...eAtomicInvalidPartitionHandlingSelfTest.java | 5 +-
.../GridCachePartitionedFailoverSelfTest.java | 5 +
.../GridCachePartitionedNodeRestartTest.java | 5 -
...ePartitionedOptimisticTxNodeRestartTest.java | 2 +-
.../GridCacheReplicatedFailoverSelfTest.java | 5 -
.../GridCacheReplicatedNodeRestartSelfTest.java | 5 -
...acheAtomicReplicatedNodeRestartSelfTest.java | 14 +-
...heConcurrentEvictionConsistencySelfTest.java | 15 +-
.../GridCacheEvictionFilterSelfTest.java | 2 -
.../loadtests/hashmap/GridCacheTestContext.java | 4 +-
.../tcp/TcpDiscoveryMultiThreadedTest.java | 38 ++
.../TcpDiscoveryNodeConsistentIdSelfTest.java | 80 ++++
.../inmemory/GridTestSwapSpaceSpi.java | 3 +-
.../IgniteCacheFailoverTestSuite.java | 3 +
.../ignite/testsuites/IgniteCacheTestSuite.java | 1 +
.../IgniteSpiDiscoverySelfTestSuite.java | 5 +
.../HibernateTransactionalDataRegion.java | 12 +-
.../hibernate/HibernateL2CacheSelfTest.java | 7 +-
.../HibernateL2CacheTransactionalSelfTest.java | 5 -
.../query/h2/opt/GridH2KeyValueRowOffheap.java | 8 +-
.../processors/query/h2/opt/GridH2Table.java | 2 +-
.../CacheAbstractQueryMetricsSelfTest.java | 157 +++++++-
.../cache/CacheLocalQueryMetricsSelfTest.java | 33 ++
...titionedQueryMetricsDistributedSelfTest.java | 33 ++
...chePartitionedQueryMetricsLocalSelfTest.java | 33 ++
.../CachePartitionedQueryMetricsSelfTest.java | 32 --
...plicatedQueryMetricsDistributedSelfTest.java | 33 ++
...acheReplicatedQueryMetricsLocalSelfTest.java | 33 ++
.../CacheReplicatedQueryMetricsSelfTest.java | 32 --
.../cache/IgniteCacheOffheapEvictQueryTest.java | 2 +-
.../IgniteCacheQueryMultiThreadedSelfTest.java | 4 +-
...QueryOffheapEvictsMultiThreadedSelfTest.java | 5 -
.../IgniteCacheQueryNodeRestartSelfTest2.java | 5 +
.../IgniteCacheQuerySelfTestSuite.java | 7 +-
.../apache/ignite/cache/jta/CacheTmLookup.java | 3 +-
.../processors/cache/jta/CacheJtaManager.java | 72 +++-
.../cache/jta/GridCacheXAResource.java | 16 +-
.../processors/cache/GridCacheJtaSelfTest.java | 52 ++-
.../GridTmLookupLifecycleAwareSelfTest.java | 29 +-
modules/kafka/licenses/apache-2.0.txt | 202 ++++++++++
modules/kafka/pom.xml | 105 ++++++
.../ignite/stream/kafka/KafkaStreamer.java | 220 +++++++++++
.../kafka/IgniteKafkaStreamerSelfTestSuite.java | 37 ++
.../stream/kafka/KafkaEmbeddedBroker.java | 378 +++++++++++++++++++
.../kafka/KafkaIgniteStreamerSelfTest.java | 227 +++++++++++
.../ignite/stream/kafka/SimplePartitioner.java | 53 +++
modules/mesos/pom.xml | 1 -
modules/rest-http/pom.xml | 14 +-
.../util/spring/IgniteSpringHelperImpl.java | 72 +++-
.../IgniteExcludeInConfigurationTest.java | 78 ++++
.../org/apache/ignite/spring/sprint-exclude.xml | 57 +++
.../testsuites/IgniteSpringTestSuite.java | 2 +
modules/urideploy/pom.xml | 22 +-
.../ignite/visor/commands/VisorConsole.scala | 3 +-
.../commands/cache/VisorCacheCommand.scala | 2 -
.../visor/commands/open/VisorOpenCommand.scala | 319 ++++++++++++++++
.../scala/org/apache/ignite/visor/visor.scala | 230 +----------
.../ignite/visor/VisorRuntimeBaseSpec.scala | 2 +
.../commands/kill/VisorKillCommandSpec.scala | 1 +
.../commands/start/VisorStartCommandSpec.scala | 1 +
.../commands/tasks/VisorTasksCommandSpec.scala | 1 +
.../commands/vvm/VisorVvmCommandSpec.scala | 1 +
modules/web/pom.xml | 6 +-
.../config/benchmark-put-indexed-val.properties | 64 ++++
modules/yardstick/config/ignite-base-config.xml | 23 ++
.../cache/IgnitePutIndexedValue1Benchmark.java | 42 +++
.../cache/IgnitePutIndexedValue2Benchmark.java | 42 +++
.../cache/IgnitePutIndexedValue8Benchmark.java | 42 +++
.../ignite/yardstick/cache/model/Person1.java | 55 +++
.../ignite/yardstick/cache/model/Person2.java | 67 ++++
.../ignite/yardstick/cache/model/Person8.java | 109 ++++++
parent/pom.xml | 1 +
pom.xml | 1 +
scripts/git-patch-prop.sh | 2 +-
165 files changed, 4512 insertions(+), 1045 deletions(-)
----------------------------------------------------------------------
[02/50] [abbrv] incubator-ignite git commit: #IGNITE-591 - Minor
Posted by sb...@apache.org.
#IGNITE-591 - Minor
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/cd01e4c3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/cd01e4c3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/cd01e4c3
Branch: refs/heads/ignite-890
Commit: cd01e4c39362e5c27fe749fcd1cf2788b50bcc3d
Parents: 9a51cdf
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Tue Jul 7 19:21:15 2015 -0700
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Tue Jul 7 19:21:15 2015 -0700
----------------------------------------------------------------------
.../apache/ignite/internal/processors/cache/GridCacheContext.java | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd01e4c3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
index c454da9..eb813c3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
@@ -220,7 +220,6 @@ public class GridCacheContext<K, V> implements Externalizable {
* @param dataStructuresMgr Cache dataStructures manager.
* @param ttlMgr TTL manager.
* @param drMgr Data center replication manager.
- * @param jtaMgr JTA manager.
* @param rslvrMgr Conflict resolution manager.
* @param pluginMgr Cache plugin manager.
*/
[39/50] [abbrv] incubator-ignite git commit: Merge branches
'ignite-1076' and 'master' of
https://git-wip-us.apache.org/repos/asf/incubator-ignite
Posted by sb...@apache.org.
Merge branches 'ignite-1076' and 'master' of https://git-wip-us.apache.org/repos/asf/incubator-ignite
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/aa2d7cb4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/aa2d7cb4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/aa2d7cb4
Branch: refs/heads/ignite-890
Commit: aa2d7cb4a5c9f17d6a7a5b739feee7a2b84aad2b
Parents: 8218fe6 297d250
Author: Valentin Kulichenko <vk...@gridgain.com>
Authored: Sun Jul 12 14:59:31 2015 -0700
Committer: Valentin Kulichenko <vk...@gridgain.com>
Committed: Sun Jul 12 14:59:31 2015 -0700
----------------------------------------------------------------------
.../core/src/main/resources/META-INF/classnames-jdk.properties | 3 +++
1 file changed, 3 insertions(+)
----------------------------------------------------------------------
[20/50] [abbrv] incubator-ignite git commit: release notes
Posted by sb...@apache.org.
release notes
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/0a569b8a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/0a569b8a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/0a569b8a
Branch: refs/heads/ignite-890
Commit: 0a569b8acfa4918dcd98a9fa0e4873f1e5b5737a
Parents: f13f594
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Wed Jul 8 19:55:58 2015 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Wed Jul 8 19:55:58 2015 +0300
----------------------------------------------------------------------
RELEASE_NOTES.txt | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0a569b8a/RELEASE_NOTES.txt
----------------------------------------------------------------------
diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
index ec8c4e6..0e22f1f 100644
--- a/RELEASE_NOTES.txt
+++ b/RELEASE_NOTES.txt
@@ -6,6 +6,7 @@ Apache Ignite In-Memory Data Fabric 1.3
* Added auto-retries for cache operations in recoverable cases.
* Fixed several issues with JTA integration.
+* Fixed several issues with Hibernate L2 cache.
* Fixed issue with GAR files in source release.
* Stability fixes for TCP discovery SPI.
* Stability fixes for onheap and offheap SQL queries.
[32/50] [abbrv] incubator-ignite git commit: # ignite-929 close does
not destroy cache
Posted by sb...@apache.org.
# ignite-929 close does not destroy cache
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e3fba883
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e3fba883
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e3fba883
Branch: refs/heads/ignite-890
Commit: e3fba883ab69cd7f32296633558db3b7f6442ab2
Parents: 90580d8
Author: sboikov <sb...@gridgain.com>
Authored: Fri Jul 10 09:20:11 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Jul 10 09:20:11 2015 +0300
----------------------------------------------------------------------
.../examples/ScalarCacheAffinityExample.scala | 2 +-
.../scalar/examples/ScalarCacheExample.scala | 2 +-
.../ScalarCachePopularNumbersExample.scala | 2 +-
.../examples/ScalarCacheQueryExample.scala | 2 +-
.../examples/ScalarSnowflakeSchemaExample.scala | 4 +-
.../java/org/apache/ignite/IgniteCache.java | 14 +-
.../org/apache/ignite/cache/CacheManager.java | 13 +-
.../apache/ignite/internal/IgniteKernal.java | 2 +-
.../discovery/GridDiscoveryManager.java | 23 +-
.../cache/DynamicCacheChangeRequest.java | 39 +-
.../processors/cache/GridCacheGateway.java | 4 +-
.../GridCachePartitionExchangeManager.java | 6 +-
.../processors/cache/GridCacheProcessor.java | 102 ++-
.../processors/cache/IgniteCacheProxy.java | 448 +++++++---
.../distributed/dht/GridDhtCacheEntry.java | 4 +-
.../GridDhtPartitionsExchangeFuture.java | 30 +-
.../visor/cache/VisorCacheStopTask.java | 2 +-
.../affinity/IgniteClientNodeAffinityTest.java | 14 +-
.../IgniteFairAffinityDynamicCacheSelfTest.java | 3 +-
...cheStoreSessionListenerAbstractSelfTest.java | 111 ++-
.../GridCacheTxLoadFromStoreOnLockSelfTest.java | 34 +-
.../CacheMetricsForClusterGroupSelfTest.java | 10 +-
.../cache/CacheOffheapMapEntrySelfTest.java | 7 +-
.../cache/CacheStopAndDestroySelfTest.java | 859 +++++++++++++++++++
...eUsageMultinodeDynamicStartAbstractTest.java | 2 +-
...ProjectionForCachesOnDaemonNodeSelfTest.java | 2 +-
.../cache/IgniteDynamicCacheStartSelfTest.java | 140 +--
...teCacheClientNodePartitionsExchangeTest.java | 29 +-
...CacheLocalOffHeapAndSwapMetricsSelfTest.java | 2 +-
.../DataStreamerMultinodeCreateCacheTest.java | 14 +-
.../testsuites/IgniteCacheTestSuite4.java | 2 +
.../CacheConfigurationP2PTestClient.java | 4 +-
32 files changed, 1593 insertions(+), 339 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheAffinityExample.scala
----------------------------------------------------------------------
diff --git a/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheAffinityExample.scala b/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheAffinityExample.scala
index fbf66bc..40b947d 100644
--- a/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheAffinityExample.scala
+++ b/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheAffinityExample.scala
@@ -62,7 +62,7 @@ object ScalarCacheAffinityExample extends App {
visitUsingMapKeysToNodes(cache)
}
finally {
- cache.close()
+ cache.destroy()
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheExample.scala
----------------------------------------------------------------------
diff --git a/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheExample.scala b/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheExample.scala
index 42e8ca4..0bf8d6f 100644
--- a/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheExample.scala
+++ b/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheExample.scala
@@ -50,7 +50,7 @@ object ScalarCacheExample extends App {
basicOperations()
}
finally {
- cache.close()
+ cache.destroy()
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCachePopularNumbersExample.scala
----------------------------------------------------------------------
diff --git a/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCachePopularNumbersExample.scala b/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCachePopularNumbersExample.scala
index 828c5a3..d113297 100644
--- a/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCachePopularNumbersExample.scala
+++ b/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCachePopularNumbersExample.scala
@@ -93,7 +93,7 @@ object ScalarCachePopularNumbersExample extends App {
}
}
finally {
- cache.close()
+ cache.destroy()
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheQueryExample.scala
----------------------------------------------------------------------
diff --git a/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheQueryExample.scala b/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheQueryExample.scala
index b8054eb..1a42947 100644
--- a/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheQueryExample.scala
+++ b/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarCacheQueryExample.scala
@@ -55,7 +55,7 @@ object ScalarCacheQueryExample {
example(ignite$)
}
finally {
- cache.close()
+ cache.destroy()
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarSnowflakeSchemaExample.scala
----------------------------------------------------------------------
diff --git a/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarSnowflakeSchemaExample.scala b/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarSnowflakeSchemaExample.scala
index 2656f44..33b2fcc 100644
--- a/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarSnowflakeSchemaExample.scala
+++ b/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarSnowflakeSchemaExample.scala
@@ -86,11 +86,11 @@ object ScalarSnowflakeSchemaExample {
queryProductPurchases()
}
finally {
- factCache.close()
+ factCache.destroy()
}
}
finally {
- dimCache.close()
+ dimCache.destroy()
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
index c8d6d7a..4938ab1 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
@@ -543,9 +543,21 @@ public interface IgniteCache<K, V> extends javax.cache.Cache<K, V>, IgniteAsyncS
CacheEntryProcessor<K, V, T> entryProcessor, Object... args);
/**
+ * Closes this cache instance.
+ * <p>
+ * For local cache equivalent to {@link #destroy()}.
+ * For distributed caches, if called on clients, stops client cache, if called on a server node,
+ * just closes this cache instance and does not destroy cache data.
+ * <p>
+ * After cache instance is closed another {@link IgniteCache} instance for the same
+ * cache can be created using {@link Ignite#cache(String)} method.
+ */
+ @Override public void close();
+
+ /**
* Completely deletes the cache with all its data from the system on all cluster nodes.
*/
- @Override void close();
+ public void destroy();
/**
* This cache node to re-balance its partitions. This method is usually used when
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/main/java/org/apache/ignite/cache/CacheManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/CacheManager.java b/modules/core/src/main/java/org/apache/ignite/cache/CacheManager.java
index 9ba50d1..bc6df76 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/CacheManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/CacheManager.java
@@ -130,6 +130,7 @@ public class CacheManager implements javax.cache.CacheManager {
}
/** {@inheritDoc} */
+ @SuppressWarnings("unchecked")
@Override public <K, V, C extends Configuration<K, V>> Cache<K, V> createCache(String cacheName, C cacheCfg)
throws IllegalArgumentException {
kernalGateway.readLock();
@@ -155,11 +156,11 @@ public class CacheManager implements javax.cache.CacheManager {
IgniteCache<K, V> res = ignite.createCache(igniteCacheCfg);
- ((IgniteCacheProxy<K, V>)res).setCacheManager(this);
-
if (res == null)
throw new CacheException();
+ ((IgniteCacheProxy<K, V>)res).setCacheManager(this);
+
if (igniteCacheCfg.isManagementEnabled())
enableManagement(cacheName, true);
@@ -219,6 +220,7 @@ public class CacheManager implements javax.cache.CacheManager {
/**
* @param cacheName Cache name.
+ * @return Cache.
*/
@Nullable private <K, V> IgniteCache<K, V> getCache0(String cacheName) {
if (cacheName == null)
@@ -272,11 +274,13 @@ public class CacheManager implements javax.cache.CacheManager {
}
if (cache != null)
- cache.close();
+ cache.destroy();
}
/**
* @param cacheName Cache name.
+ * @param objName Object name.
+ * @return Object name instance.
*/
private ObjectName getObjectName(String cacheName, String objName) {
String mBeanName = "javax.cache:type=" + objName + ",CacheManager="
@@ -339,7 +343,8 @@ public class CacheManager implements javax.cache.CacheManager {
/**
* @param mxbean MXBean.
- * @param name cache name.
+ * @param name Cache name.
+ * @param beanType Bean type.
*/
private void registerCacheObject(Object mxbean, String name, String beanType) {
MBeanServer mBeanSrv = ignite.configuration().getMBeanServer();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index d6ddf79..024dc7b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -2436,7 +2436,7 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
IgniteInternalFuture<?> stopFut;
try {
- stopFut = ctx.cache().dynamicStopCache(cacheName);
+ stopFut = ctx.cache().dynamicDestroyCache(cacheName);
}
finally {
unguard();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index a8ce8ff..eae07ed 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -263,6 +263,19 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
}
/**
+ * Removes near node ID from cache filter.
+ *
+ * @param cacheName Cache name.
+ * @param clientNodeId Near node ID.
+ */
+ public void onClientCacheClose(String cacheName, UUID clientNodeId) {
+ CachePredicate predicate = registeredCaches.get(cacheName);
+
+ if (predicate != null)
+ predicate.onNodeLeft(clientNodeId);
+ }
+
+ /**
* @return Client nodes map.
*/
public Map<String, Map<UUID, Boolean>> clientNodesMap() {
@@ -1079,9 +1092,17 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
* @return {@code True} if node for given ID is alive.
*/
public boolean alive(UUID nodeId) {
+ return getAlive(nodeId) != null;
+ }
+
+ /**
+ * @param nodeId Node ID.
+ * @return Node if node is alive.
+ */
+ @Nullable public ClusterNode getAlive(UUID nodeId) {
assert nodeId != null;
- return getSpi().getNode(nodeId) != null; // Go directly to SPI without checking disco cache.
+ return getSpi().getNode(nodeId); // Go directly to SPI without checking disco cache.
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java
index c08a179..7af1572 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/DynamicCacheChangeRequest.java
@@ -57,6 +57,9 @@ public class DynamicCacheChangeRequest implements Serializable {
/** Stop flag. */
private boolean stop;
+ /** Close flag. */
+ private boolean close;
+
/** Fail if exists flag. */
private boolean failIfExists;
@@ -68,23 +71,10 @@ public class DynamicCacheChangeRequest implements Serializable {
*
* @param cacheName Cache stop name.
* @param initiatingNodeId Initiating node ID.
- * @param stop Stop flag.
*/
- public DynamicCacheChangeRequest(String cacheName, UUID initiatingNodeId, boolean stop) {
+ public DynamicCacheChangeRequest(String cacheName, UUID initiatingNodeId) {
this.cacheName = cacheName;
this.initiatingNodeId = initiatingNodeId;
-
- this.stop = stop;
- }
-
- /**
- * Constructor means for start requests.
- *
- * @param cacheName Cache name.
- * @param initiatingNodeId Initiating node ID.
- */
- public DynamicCacheChangeRequest(String cacheName, UUID initiatingNodeId) {
- this(cacheName, initiatingNodeId, false);
}
/**
@@ -130,6 +120,13 @@ public class DynamicCacheChangeRequest implements Serializable {
}
/**
+ * @param stop New stop flag.
+ */
+ public void stop(boolean stop) {
+ this.stop = stop;
+ }
+
+ /**
* @return Cache name.
*/
public String cacheName() {
@@ -220,6 +217,20 @@ public class DynamicCacheChangeRequest implements Serializable {
this.failIfExists = failIfExists;
}
+ /**
+ * @return Close flag.
+ */
+ public boolean close() {
+ return close;
+ }
+
+ /**
+ * @param close New close flag.
+ */
+ public void close(boolean close) {
+ this.close = close;
+ }
+
/** {@inheritDoc} */
@Override public String toString() {
return S.toString(DynamicCacheChangeRequest.class, this, "cacheName", cacheName());
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheGateway.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheGateway.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheGateway.java
index d9d151c..f2beb0a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheGateway.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheGateway.java
@@ -68,7 +68,7 @@ public class GridCacheGateway<K, V> {
*
* @return {@code True} if enter successful, {@code false} if the cache or the node was stopped.
*/
- public boolean enterIfNotClosed() {
+ public boolean enterIfNotStopped() {
onEnter();
// Must unlock in case of unexpected errors to avoid
@@ -89,7 +89,7 @@ public class GridCacheGateway<K, V> {
*
* @return {@code True} if enter successful, {@code false} if the cache or the node was stopped.
*/
- public boolean enterIfNotClosedNoLock() {
+ public boolean enterIfNotStoppedNoLock() {
onEnter();
return !stopped;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
index af87685..4398b4c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
@@ -156,16 +156,14 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
// Validate requests to check if event should trigger partition exchange.
for (DynamicCacheChangeRequest req : batch.requests()) {
- if (cctx.cache().dynamicCacheRegistered(req))
+ if (cctx.cache().exchangeNeeded(req))
valid.add(req);
else
cctx.cache().completeStartFuture(req);
}
if (!F.isEmpty(valid)) {
- exchId = exchangeId(n.id(),
- affinityTopologyVersion(e),
- e.type());
+ exchId = exchangeId(n.id(), affinityTopologyVersion(e), e.type());
exchFut = exchangeFuture(exchId, e, valid);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index de1eac2..bb87a86 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -1390,10 +1390,16 @@ public class GridCacheProcessor extends GridProcessorAdapter {
* @return {@code True} if change request was registered to apply.
*/
@SuppressWarnings("IfMayBeConditional")
- public boolean dynamicCacheRegistered(DynamicCacheChangeRequest req) {
+ public boolean exchangeNeeded(DynamicCacheChangeRequest req) {
DynamicCacheDescriptor desc = registeredCaches.get(maskNull(req.cacheName()));
if (desc != null) {
+ if (req.close()) {
+ assert req.initiatingNodeId() != null : req;
+
+ return true;
+ }
+
if (desc.deploymentId().equals(req.deploymentId())) {
if (req.start())
return !desc.cancelled();
@@ -1515,20 +1521,26 @@ public class GridCacheProcessor extends GridProcessorAdapter {
* @param req Stop request.
*/
public void blockGateway(DynamicCacheChangeRequest req) {
- assert req.stop();
+ assert req.stop() || req.close();
- // Break the proxy before exchange future is done.
- IgniteCacheProxy<?, ?> proxy = jCacheProxies.get(maskNull(req.cacheName()));
+ if (req.stop() || (req.close() && req.initiatingNodeId().equals(ctx.localNodeId()))) {
+ // Break the proxy before exchange future is done.
+ IgniteCacheProxy<?, ?> proxy = jCacheProxies.get(maskNull(req.cacheName()));
- if (proxy != null)
- proxy.gate().block();
+ if (proxy != null) {
+ if (req.stop())
+ proxy.gate().block();
+ else
+ proxy.closeProxy();
+ }
+ }
}
/**
* @param req Request.
*/
private void stopGateway(DynamicCacheChangeRequest req) {
- assert req.stop();
+ assert req.stop() : req;
// Break the proxy before exchange future is done.
IgniteCacheProxy<?, ?> proxy = jCacheProxies.remove(maskNull(req.cacheName()));
@@ -1541,7 +1553,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
* @param req Stop request.
*/
public void prepareCacheStop(DynamicCacheChangeRequest req) {
- assert req.stop();
+ assert req.stop() || req.close() : req;
GridCacheAdapter<?, ?> cache = caches.remove(maskNull(req.cacheName()));
@@ -1597,6 +1609,23 @@ public class GridCacheProcessor extends GridProcessorAdapter {
if (desc != null && desc.cancelled() && desc.deploymentId().equals(req.deploymentId()))
registeredCaches.remove(masked, desc);
}
+ else if (req.close() && req.initiatingNodeId().equals(ctx.localNodeId())) {
+ IgniteCacheProxy<?, ?> proxy = jCacheProxies.remove(masked);
+
+ if (proxy != null) {
+ if (proxy.context().affinityNode()) {
+ GridCacheAdapter<?, ?> cache = caches.get(masked);
+
+ if (cache != null)
+ jCacheProxies.put(masked, new IgniteCacheProxy(cache.context(), cache, null, false));
+ }
+ else {
+ proxy.context().gate().onStopped();
+
+ prepareCacheStop(req);
+ }
+ }
+ }
completeStartFuture(req);
}
@@ -2005,13 +2034,35 @@ public class GridCacheProcessor extends GridProcessorAdapter {
}
/**
- * @param cacheName Cache name to stop.
- * @return Future that will be completed when cache is stopped.
+ * @param cacheName Cache name to destroy.
+ * @return Future that will be completed when cache is destroyed.
*/
- public IgniteInternalFuture<?> dynamicStopCache(String cacheName) {
+ public IgniteInternalFuture<?> dynamicDestroyCache(String cacheName) {
checkEmptyTransactions();
- DynamicCacheChangeRequest t = new DynamicCacheChangeRequest(cacheName, ctx.localNodeId(), true);
+ DynamicCacheChangeRequest t = new DynamicCacheChangeRequest(cacheName, ctx.localNodeId());
+
+ t.stop(true);
+
+ return F.first(initiateCacheChanges(F.asList(t), false));
+ }
+
+
+ /**
+ * @param cacheName Cache name to close.
+ * @return Future that will be completed when cache is closed.
+ */
+ public IgniteInternalFuture<?> dynamicCloseCache(String cacheName) {
+ IgniteCacheProxy<?, ?> proxy = jCacheProxies.get(maskNull(cacheName));
+
+ if (proxy == null || proxy.proxyClosed())
+ return new GridFinishedFuture<>(); // No-op.
+
+ checkEmptyTransactions();
+
+ DynamicCacheChangeRequest t = new DynamicCacheChangeRequest(cacheName, ctx.localNodeId());
+
+ t.close(true);
return F.first(initiateCacheChanges(F.asList(t), false));
}
@@ -2031,16 +2082,24 @@ public class GridCacheProcessor extends GridProcessorAdapter {
DynamicCacheStartFuture fut = new DynamicCacheStartFuture(req.cacheName(), req.deploymentId(), req);
try {
- if (req.stop()) {
+ if (req.stop() || req.close()) {
DynamicCacheDescriptor desc = registeredCaches.get(maskNull(req.cacheName()));
if (desc == null)
// No-op.
fut.onDone();
else {
+ assert desc.cacheConfiguration() != null : desc;
+
+ if (req.close() && desc.cacheConfiguration().getCacheMode() == LOCAL) {
+ req.close(false);
+
+ req.stop(true);
+ }
+
IgniteUuid dynamicDeploymentId = desc.deploymentId();
- assert dynamicDeploymentId != null;
+ assert dynamicDeploymentId != null : desc;
// Save deployment ID to avoid concurrent stops.
req.deploymentId(dynamicDeploymentId);
@@ -2188,9 +2247,12 @@ public class GridCacheProcessor extends GridProcessorAdapter {
req.nearCacheConfiguration() != null);
}
else {
+ assert req.stop() || req.close() : req;
+
if (desc == null) {
- // If local node initiated start, fail the start future.
- DynamicCacheStartFuture changeFut = (DynamicCacheStartFuture)pendingFuts.get(maskNull(req.cacheName()));
+ // If local node initiated start, finish future.
+ DynamicCacheStartFuture changeFut =
+ (DynamicCacheStartFuture)pendingFuts.get(maskNull(req.cacheName()));
if (changeFut != null && changeFut.deploymentId().equals(req.deploymentId())) {
// No-op.
@@ -2200,9 +2262,13 @@ public class GridCacheProcessor extends GridProcessorAdapter {
return;
}
- desc.onCancelled();
+ if (req.stop()) {
+ desc.onCancelled();
- ctx.discovery().removeCacheFilter(req.cacheName());
+ ctx.discovery().removeCacheFilter(req.cacheName());
+ }
+ else
+ ctx.discovery().onClientCacheClose(req.cacheName(), req.initiatingNodeId());
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
index b31b2e8..9767f49 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
@@ -18,8 +18,8 @@
package org.apache.ignite.internal.processors.cache;
import org.apache.ignite.*;
-import org.apache.ignite.cache.CacheManager;
import org.apache.ignite.cache.*;
+import org.apache.ignite.cache.CacheManager;
import org.apache.ignite.cache.query.*;
import org.apache.ignite.cluster.*;
import org.apache.ignite.configuration.*;
@@ -171,19 +171,23 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public CacheMetrics metrics() {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
return ctx.cache().metrics();
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public CacheMetrics metrics(ClusterGroup grp) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
List<CacheMetrics> metrics = new ArrayList<>(grp.nodes().size());
@@ -202,19 +206,21 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return new CacheMetricsSnapshot(ctx.cache().metrics(), metrics);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public CacheMetricsMXBean mxBean() {
- CacheOperationContext prev = gate.enter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
return ctx.cache().mxBean();
}
finally {
- gate.leave(prev);
+ onLeave(gate, prev);
}
}
@@ -230,19 +236,23 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Nullable @Override public Cache.Entry<K, V> randomEntry() {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
return ctx.cache().randomEntry();
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public IgniteCache<K, V> withExpiryPolicy(ExpiryPolicy plc) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
CacheOperationContext prj0 = opCtx != null ? opCtx.withExpiryPolicy(plc) :
@@ -251,7 +261,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return new IgniteCacheProxy<>(ctx, delegate, prj0, isAsync(), lock);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
@@ -262,7 +272,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public IgniteCache<K, V> withNoRetries() {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
boolean noRetries = opCtx != null && opCtx.noRetries();
@@ -280,14 +292,16 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
lock);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public void loadCache(@Nullable IgniteBiPredicate<K, V> p, @Nullable Object... args) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync())
@@ -296,7 +310,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
ctx.cache().globalLoadCache(p, args);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -307,7 +321,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public void localLoadCache(@Nullable IgniteBiPredicate<K, V> p, @Nullable Object... args) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync())
@@ -316,7 +332,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
delegate.localLoadCache(p, args);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -327,7 +343,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Nullable @Override public V getAndPutIfAbsent(K key, V val) throws CacheException {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -339,7 +357,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.getAndPutIfAbsent(key, val);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -359,13 +377,15 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public boolean isLocalLocked(K key, boolean byCurrThread) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
return byCurrThread ? delegate.isLockedByThread(key) : delegate.isLocked(key);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
@@ -379,7 +399,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
final CacheQuery<Map.Entry<K,V>> qry;
final CacheQueryFuture<Map.Entry<K,V>> fut;
- boolean isKeepPortable = opCtx != null ? opCtx.isKeepPortable() : false;
+ boolean isKeepPortable = opCtx != null && opCtx.isKeepPortable();
if (filter instanceof ScanQuery) {
IgniteBiPredicate<K, V> p = ((ScanQuery)filter).getFilter();
@@ -444,11 +464,11 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
}
/**
- * @param local Enforce local.
+ * @param loc Enforce local.
* @return Local node cluster group.
*/
- private ClusterGroup projection(boolean local) {
- if (local || ctx.isLocal() || isReplicatedDataNode())
+ private ClusterGroup projection(boolean loc) {
+ if (loc || ctx.isLocal() || isReplicatedDataNode())
return ctx.kernalContext().grid().cluster().forLocal();
if (ctx.isReplicated())
@@ -517,7 +537,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
@Override public <R> QueryCursor<R> query(Query<R> qry) {
A.notNull(qry, "qry");
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
ctx.checkSecurity(SecurityPermission.CACHE_READ);
@@ -558,7 +580,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
throw new CacheException(e);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
@@ -589,7 +611,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public Iterable<Cache.Entry<K, V>> localEntries(CachePeekMode... peekModes) throws CacheException {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
return delegate.localEntries(peekModes);
@@ -598,37 +622,43 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
throw cacheException(e);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public QueryMetrics queryMetrics() {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
return delegate.context().queries().metrics();
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public void localEvict(Collection<? extends K> keys) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
delegate.evictAll(keys);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Nullable @Override public V localPeek(K key, CachePeekMode... peekModes) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
return delegate.localPeek(key, peekModes, null);
@@ -637,20 +667,22 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
throw cacheException(e);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public void localPromote(Set<? extends K> keys) throws CacheException {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
delegate.promoteAll(keys);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -660,7 +692,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public int size(CachePeekMode... peekModes) throws CacheException {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -675,13 +709,15 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
throw cacheException(e);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public int localSize(CachePeekMode... peekModes) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
return delegate.localSize(peekModes);
@@ -690,14 +726,16 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
throw cacheException(e);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public V get(K key) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -709,7 +747,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.get(key);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -720,7 +758,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public Map<K, V> getAll(Set<? extends K> keys) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -732,7 +772,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.getAll(keys);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -743,7 +783,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public Map<K, V> getAllOutTx(Set<? extends K> keys) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -755,7 +797,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.getAllOutTx(keys);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -769,7 +811,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
*/
public Map<K, V> getAll(Collection<? extends K> keys) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -781,7 +825,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.getAll(keys);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -796,19 +840,23 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
* @return Entry set.
*/
public Set<Cache.Entry<K, V>> entrySetx(CacheEntryPredicate... filter) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
return delegate.entrySetx(filter);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public boolean containsKey(K key) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -820,13 +868,15 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.containsKey(key);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public boolean containsKeys(Set<? extends K> keys) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -838,7 +888,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.containsKeys(keys);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
@@ -848,7 +898,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
boolean replaceExisting,
@Nullable final CompletionListener completionLsnr
) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
IgniteInternalFuture<?> fut = ctx.cache().loadAll(keys, replaceExisting);
@@ -869,14 +921,16 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
}
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public void put(K key, V val) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -896,7 +950,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
delegate.put(key, val);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -907,7 +961,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public V getAndPut(K key, V val) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -919,7 +975,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.getAndPut(key, val);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -930,7 +986,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public void putAll(Map<? extends K, ? extends V> map) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync())
@@ -939,7 +997,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
delegate.putAll(map);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -950,7 +1008,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public boolean putIfAbsent(K key, V val) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -962,7 +1022,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.putIfAbsent(key, val);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -973,7 +1033,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public boolean remove(K key) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -985,7 +1047,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.remove(key);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -996,7 +1058,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public boolean remove(K key, V oldVal) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -1008,7 +1072,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.remove(key, oldVal);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -1019,7 +1083,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public V getAndRemove(K key) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -1031,7 +1097,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.getAndRemove(key);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -1042,7 +1108,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public boolean replace(K key, V oldVal, V newVal) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -1054,7 +1122,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.replace(key, oldVal, newVal);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -1065,7 +1133,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public boolean replace(K key, V val) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -1077,7 +1147,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.replace(key, val);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -1088,7 +1158,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public V getAndReplace(K key, V val) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -1100,7 +1172,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.getAndReplace(key, val);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -1111,7 +1183,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public void removeAll(Set<? extends K> keys) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync())
@@ -1120,7 +1194,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
delegate.removeAll(keys);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -1130,7 +1204,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public void removeAll() {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync())
@@ -1142,13 +1218,15 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
throw cacheException(e);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public void clear(K key) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync())
@@ -1160,13 +1238,15 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
throw cacheException(e);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public void clearAll(Set<? extends K> keys) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync())
@@ -1178,13 +1258,15 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
throw cacheException(e);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public void clear() {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync())
@@ -1196,32 +1278,36 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
throw cacheException(e);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public void localClear(K key) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
delegate.clearLocally(key);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public void localClearAll(Set<? extends K> keys) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
for (K key : keys)
delegate.clearLocally(key);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
@@ -1229,7 +1315,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
@Override public <T> T invoke(K key, EntryProcessor<K, V, T> entryProcessor, Object... args)
throws EntryProcessorException {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -1255,7 +1343,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
}
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -1267,7 +1355,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
@Override public <T> T invoke(K key, CacheEntryProcessor<K, V, T> entryProcessor, Object... args)
throws EntryProcessorException {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -1293,7 +1383,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
}
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -1303,10 +1393,12 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public <T> Map<K, EntryProcessorResult<T>> invokeAll(Set<? extends K> keys,
- EntryProcessor<K, V, T> entryProcessor,
- Object... args) {
+ EntryProcessor<K, V, T> entryProcessor,
+ Object... args) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -1318,7 +1410,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.invokeAll(keys, entryProcessor, args);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -1331,7 +1423,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
CacheEntryProcessor<K, V, T> entryProcessor,
Object... args) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -1343,7 +1437,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.invokeAll(keys, entryProcessor, args);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -1356,7 +1450,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
Map<? extends K, ? extends EntryProcessor<K, V, T>> map,
Object... args) {
try {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
if (isAsync()) {
@@ -1368,7 +1464,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
return delegate.invokeAll(map, args);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
catch (IgniteCheckedException e) {
@@ -1394,17 +1490,43 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
}
/** {@inheritDoc} */
+ @Override public void destroy() {
+ GridCacheGateway<K, V> gate = this.gate;
+
+ if (!onEnterIfNoStop(gate))
+ return;
+
+ IgniteInternalFuture<?> fut;
+
+ try {
+ fut = ctx.kernalContext().cache().dynamicDestroyCache(ctx.name());
+ }
+ finally {
+ onLeave(gate);
+ }
+
+ try {
+ fut.get();
+ }
+ catch (IgniteCheckedException e) {
+ throw cacheException(e);
+ }
+ }
+
+ /** {@inheritDoc} */
@Override public void close() {
- if (!onEnterIfNoClose())
+ GridCacheGateway<K, V> gate = this.gate;
+
+ if (!onEnterIfNoStop(gate))
return;
IgniteInternalFuture<?> fut;
try {
- fut = ctx.kernalContext().cache().dynamicStopCache(ctx.name());
+ fut = ctx.kernalContext().cache().dynamicCloseCache(ctx.name());
}
finally {
- onLeave();
+ onLeave(gate);
}
try {
@@ -1417,14 +1539,16 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public boolean isClosed() {
- if (!onEnterIfNoClose())
+ GridCacheGateway<K, V> gate = this.gate;
+
+ if (!onEnterIfNoStop(gate))
return true;
try {
return ctx.kernalContext().cache().context().closed(ctx);
}
finally {
- onLeave();
+ onLeave(gate);
}
}
@@ -1448,7 +1572,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
/** {@inheritDoc} */
@Override public void registerCacheEntryListener(CacheEntryListenerConfiguration<K, V> lsnrCfg) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
ctx.continuousQueries().executeJCacheQuery(lsnrCfg, false);
@@ -1457,13 +1583,15 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
throw cacheException(e);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public void deregisterCacheEntryListener(CacheEntryListenerConfiguration<K, V> lsnrCfg) {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
ctx.continuousQueries().cancelJCacheQuery(lsnrCfg);
@@ -1472,19 +1600,21 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
throw cacheException(e);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
/** {@inheritDoc} */
@Override public Iterator<Cache.Entry<K, V>> iterator() {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
return ctx.cache().igniteIterator();
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
@@ -1516,8 +1646,11 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
*
* @return Projection for portable objects.
*/
+ @SuppressWarnings("unchecked")
public <K1, V1> IgniteCache<K1, V1> keepPortable() {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
CacheOperationContext opCtx0 =
@@ -1535,7 +1668,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
lock);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
@@ -1543,7 +1676,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
* @return Cache with skip store enabled.
*/
public IgniteCache<K, V> skipStore() {
- CacheOperationContext prev = onEnter(opCtx);
+ GridCacheGateway<K, V> gate = this.gate;
+
+ CacheOperationContext prev = onEnter(gate, opCtx);
try {
boolean skip = opCtx != null && opCtx.skipStore();
@@ -1565,7 +1700,7 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
lock);
}
finally {
- onLeave(prev);
+ onLeave(gate, prev);
}
}
@@ -1592,10 +1727,69 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
}
/**
+ * @return {@code True} if proxy was closed.
+ */
+ public boolean proxyClosed() {
+ return !gate.getClass().equals(GridCacheGateway.class);
+ }
+
+ /**
+ * Closes this proxy instance.
+ */
+ public void closeProxy() {
+ gate = new GridCacheGateway<K, V>(ctx) {
+ @Override public void enter() {
+ throw new IllegalStateException("Cache has been closed: " + ctx.name());
+ }
+
+ @Override public boolean enterIfNotStopped() {
+ return false;
+ }
+
+ @Override public boolean enterIfNotStoppedNoLock() {
+ return false;
+ }
+
+ @Override public void leaveNoLock() {
+ assert false;
+ }
+
+ @Override public void leave() {
+ assert false;
+ }
+
+ @Nullable @Override public CacheOperationContext enter(@Nullable CacheOperationContext opCtx) {
+ throw new IllegalStateException("Cache has been closed: " + ctx.name());
+ }
+
+ @Nullable @Override public CacheOperationContext enterNoLock(@Nullable CacheOperationContext opCtx) {
+ throw new IllegalStateException("Cache has been closed: " + ctx.name());
+ }
+
+ @Override public void leave(CacheOperationContext prev) {
+ assert false;
+ }
+
+ @Override public void leaveNoLock(CacheOperationContext prev) {
+ assert false;
+ }
+
+ @Override public void block() {
+ // No-op.
+ }
+
+ @Override public void onStopped() {
+ // No-op.
+ }
+ };
+ }
+
+ /**
+ * @param gate Cache gateway.
* @param opCtx Cache operation context to guard.
* @return Previous projection set on this thread.
*/
- private CacheOperationContext onEnter(CacheOperationContext opCtx) {
+ private CacheOperationContext onEnter(GridCacheGateway<K, V> gate, CacheOperationContext opCtx) {
if (lock)
return gate.enter(opCtx);
else
@@ -1603,21 +1797,21 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
}
/**
- * On enter.
- *
+ * @param gate Cache gateway.
* @return {@code True} if enter successful.
*/
- private boolean onEnterIfNoClose() {
+ private boolean onEnterIfNoStop(GridCacheGateway<K, V> gate) {
if (lock)
- return gate.enterIfNotClosed();
+ return gate.enterIfNotStopped();
else
- return gate.enterIfNotClosedNoLock();
+ return gate.enterIfNotStoppedNoLock();
}
/**
+ * @param gate Cache gateway.
* @param opCtx Operation context to guard.
*/
- private void onLeave(CacheOperationContext opCtx) {
+ private void onLeave(GridCacheGateway<K, V> gate, CacheOperationContext opCtx) {
if (lock)
gate.leave(opCtx);
else
@@ -1625,9 +1819,9 @@ public class IgniteCacheProxy<K, V> extends AsyncSupportAdapter<IgniteCache<K, V
}
/**
- * On leave.
+ * @param gate Cache gateway.
*/
- private void onLeave() {
+ private void onLeave(GridCacheGateway<K, V> gate) {
if (lock)
gate.leave();
else
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java
index 89b85c4..3b411b5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java
@@ -597,7 +597,9 @@ public class GridDhtCacheEntry extends GridDistributedCacheEntry {
List<ReaderId> newRdrs = null;
for (int i = 0; i < rdrs.length; i++) {
- if (!cctx.discovery().alive(rdrs[i].nodeId())) {
+ ClusterNode node = cctx.discovery().getAlive(rdrs[i].nodeId());
+
+ if (node == null || !cctx.discovery().cacheNode(node, cacheName())) {
// Node has left and if new list has already been created, just skip.
// Otherwise, create new list and add alive nodes.
if (newRdrs == null) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
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 38a0d55..5701749 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
@@ -474,6 +474,9 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
oldestNode.set(oldest);
+ if (!F.isEmpty(reqs))
+ blockGateways();
+
startCaches();
// True if client node joined or failed.
@@ -489,24 +492,25 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
else {
assert discoEvt.type() == EVT_DISCOVERY_CUSTOM_EVT : discoEvt;
- boolean clientOnlyStart = true;
+ boolean clientOnlyCacheEvt = true;
for (DynamicCacheChangeRequest req : reqs) {
- if (!req.clientStartOnly()) {
- clientOnlyStart = false;
+ if (req.clientStartOnly() || req.close())
+ continue;
- break;
- }
+ clientOnlyCacheEvt = false;
+
+ break;
}
- clientNodeEvt = clientOnlyStart;
+ clientNodeEvt = clientOnlyCacheEvt;
}
if (clientNodeEvt) {
ClusterNode node = discoEvt.eventNode();
// Client need to initialize affinity for local join event or for stated client caches.
- if (!node.isLocal()) {
+ if (!node.isLocal() || clientCacheClose()) {
for (GridCacheContext cacheCtx : cctx.cacheContexts()) {
if (cacheCtx.isLocal())
continue;
@@ -733,9 +737,6 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
if (log.isDebugEnabled())
log.debug("After waiting for partition release future: " + this);
- if (!F.isEmpty(reqs))
- blockGateways();
-
if (exchId.isLeft())
cctx.mvcc().removeExplicitNodeLocks(exchId.nodeId(), exchId.topologyVersion());
@@ -839,6 +840,13 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
}
/**
+ * @return {@code True} if exchange initiated for client cache close.
+ */
+ private boolean clientCacheClose() {
+ return reqs != null && reqs.size() == 1 && reqs.iterator().next().close();
+ }
+
+ /**
*
*/
private void dumpPendingObjects() {
@@ -903,7 +911,7 @@ public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<AffinityT
*/
private void blockGateways() {
for (DynamicCacheChangeRequest req : reqs) {
- if (req.stop())
+ if (req.stop() || req.close())
cctx.cache().blockGateway(req);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java
index 0e848f9..83d19f1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java
@@ -56,7 +56,7 @@ public class VisorCacheStopTask extends VisorOneNodeTask<String, Void> {
@Override protected Void run(String cacheName) {
IgniteCache cache = ignite.cache(cacheName);
- cache.close();
+ cache.destroy();
return null;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/test/java/org/apache/ignite/cache/affinity/IgniteClientNodeAffinityTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/cache/affinity/IgniteClientNodeAffinityTest.java b/modules/core/src/test/java/org/apache/ignite/cache/affinity/IgniteClientNodeAffinityTest.java
index 467349f..da27fb2 100644
--- a/modules/core/src/test/java/org/apache/ignite/cache/affinity/IgniteClientNodeAffinityTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/cache/affinity/IgniteClientNodeAffinityTest.java
@@ -127,13 +127,23 @@ public class IgniteClientNodeAffinityTest extends GridCommonAbstractTest {
ccfg.setNodeFilter(new TestNodesFilter());
- try (IgniteCache<Integer, Integer> cache = client.createCache(ccfg)) {
+ IgniteCache<Integer, Integer> cache = client.createCache(ccfg);
+
+ try {
checkCache(null, 1);
}
+ finally {
+ cache.destroy();
+ }
- try (IgniteCache<Integer, Integer> cache = client.createCache(ccfg, new NearCacheConfiguration())) {
+ cache = client.createCache(ccfg, new NearCacheConfiguration());
+
+ try {
checkCache(null, 1);
}
+ finally {
+ cache.destroy();
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/IgniteFairAffinityDynamicCacheSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/IgniteFairAffinityDynamicCacheSelfTest.java b/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/IgniteFairAffinityDynamicCacheSelfTest.java
index 18b77e0..e51be58 100644
--- a/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/IgniteFairAffinityDynamicCacheSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/cache/affinity/fair/IgniteFairAffinityDynamicCacheSelfTest.java
@@ -84,8 +84,7 @@ public class IgniteFairAffinityDynamicCacheSelfTest extends GridCommonAbstractTe
cache.put(i, i);
IgniteInternalFuture<Object> destFut = GridTestUtils.runAsync(new Callable<Object>() {
- @Override
- public Object call() throws Exception {
+ @Override public Object call() throws Exception {
ignite(0).destroyCache(cache.getName());
return null;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/test/java/org/apache/ignite/cache/store/CacheStoreSessionListenerAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/cache/store/CacheStoreSessionListenerAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/cache/store/CacheStoreSessionListenerAbstractSelfTest.java
index 0634197..8e53f05 100644
--- a/modules/core/src/test/java/org/apache/ignite/cache/store/CacheStoreSessionListenerAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/cache/store/CacheStoreSessionListenerAbstractSelfTest.java
@@ -113,12 +113,17 @@ public abstract class CacheStoreSessionListenerAbstractSelfTest extends GridComm
public void testAtomicCache() throws Exception {
CacheConfiguration<Integer, Integer> cfg = cacheConfiguration(null, CacheAtomicityMode.ATOMIC);
- try (IgniteCache<Integer, Integer> cache = ignite(0).createCache(cfg)) {
+ IgniteCache<Integer, Integer> cache = ignite(0).createCache(cfg);
+
+ try {
cache.loadCache(null);
cache.get(1);
cache.put(1, 1);
cache.remove(1);
}
+ finally {
+ cache.destroy();
+ }
assertEquals(3, loadCacheCnt.get());
assertEquals(1, loadCnt.get());
@@ -133,12 +138,17 @@ public abstract class CacheStoreSessionListenerAbstractSelfTest extends GridComm
public void testTransactionalCache() throws Exception {
CacheConfiguration<Integer, Integer> cfg = cacheConfiguration(null, CacheAtomicityMode.TRANSACTIONAL);
- try (IgniteCache<Integer, Integer> cache = ignite(0).createCache(cfg)) {
+ IgniteCache<Integer, Integer> cache = ignite(0).createCache(cfg);
+
+ try {
cache.loadCache(null);
cache.get(1);
cache.put(1, 1);
cache.remove(1);
}
+ finally {
+ cache.destroy();
+ }
assertEquals(3, loadCacheCnt.get());
assertEquals(1, loadCnt.get());
@@ -153,15 +163,18 @@ public abstract class CacheStoreSessionListenerAbstractSelfTest extends GridComm
public void testExplicitTransaction() throws Exception {
CacheConfiguration<Integer, Integer> cfg = cacheConfiguration(null, CacheAtomicityMode.TRANSACTIONAL);
- try (IgniteCache<Integer, Integer> cache = ignite(0).createCache(cfg)) {
- try (Transaction tx = ignite(0).transactions().txStart()) {
- cache.put(1, 1);
- cache.put(2, 2);
- cache.remove(3);
- cache.remove(4);
+ IgniteCache<Integer, Integer> cache = ignite(0).createCache(cfg);
- tx.commit();
- }
+ try (Transaction tx = ignite(0).transactions().txStart()) {
+ cache.put(1, 1);
+ cache.put(2, 2);
+ cache.remove(3);
+ cache.remove(4);
+
+ tx.commit();
+ }
+ finally {
+ cache.destroy();
}
assertEquals(2, writeCnt.get());
@@ -176,18 +189,20 @@ public abstract class CacheStoreSessionListenerAbstractSelfTest extends GridComm
CacheConfiguration<Integer, Integer> cfg1 = cacheConfiguration("cache1", CacheAtomicityMode.TRANSACTIONAL);
CacheConfiguration<Integer, Integer> cfg2 = cacheConfiguration("cache2", CacheAtomicityMode.TRANSACTIONAL);
- try (
- IgniteCache<Integer, Integer> cache1 = ignite(0).createCache(cfg1);
- IgniteCache<Integer, Integer> cache2 = ignite(0).createCache(cfg2)
- ) {
- try (Transaction tx = ignite(0).transactions().txStart()) {
- cache1.put(1, 1);
- cache2.put(2, 2);
- cache1.remove(3);
- cache2.remove(4);
-
- tx.commit();
- }
+ IgniteCache<Integer, Integer> cache1 = ignite(0).createCache(cfg1);
+ IgniteCache<Integer, Integer> cache2 = ignite(0).createCache(cfg2);
+
+ try (Transaction tx = ignite(0).transactions().txStart()) {
+ cache1.put(1, 1);
+ cache2.put(2, 2);
+ cache1.remove(3);
+ cache2.remove(4);
+
+ tx.commit();
+ }
+ finally {
+ cache1.destroy();
+ cache2.destroy();
}
assertEquals(2, writeCnt.get());
@@ -204,16 +219,18 @@ public abstract class CacheStoreSessionListenerAbstractSelfTest extends GridComm
CacheConfiguration<Integer, Integer> cfg1 = cacheConfiguration("cache1", CacheAtomicityMode.TRANSACTIONAL);
CacheConfiguration<Integer, Integer> cfg2 = cacheConfiguration("cache2", CacheAtomicityMode.TRANSACTIONAL);
- try (
- IgniteCache<Integer, Integer> cache1 = ignite(0).createCache(cfg1);
- IgniteCache<Integer, Integer> cache2 = ignite(0).createCache(cfg2)
- ) {
- try (Transaction tx = ignite(0).transactions().txStart()) {
- cache1.put(1, 1);
- cache2.put(2, 2);
+ IgniteCache<Integer, Integer> cache1 = ignite(0).createCache(cfg1);
+ IgniteCache<Integer, Integer> cache2 = ignite(0).createCache(cfg2);
- tx.commit();
- }
+ try (Transaction tx = ignite(0).transactions().txStart()) {
+ cache1.put(1, 1);
+ cache2.put(2, 2);
+
+ tx.commit();
+ }
+ finally {
+ cache1.destroy();
+ cache2.destroy();
}
try (Connection conn = DriverManager.getConnection(URL)) {
@@ -232,25 +249,27 @@ public abstract class CacheStoreSessionListenerAbstractSelfTest extends GridComm
CacheConfiguration<Integer, Integer> cfg1 = cacheConfiguration("cache1", CacheAtomicityMode.TRANSACTIONAL);
CacheConfiguration<Integer, Integer> cfg2 = cacheConfiguration("cache2", CacheAtomicityMode.TRANSACTIONAL);
- try (
- IgniteCache<Integer, Integer> cache1 = ignite(0).createCache(cfg1);
- IgniteCache<Integer, Integer> cache2 = ignite(0).createCache(cfg2)
- ) {
- try (Transaction tx = ignite(0).transactions().txStart()) {
- cache1.put(1, 1);
- cache2.put(2, 2);
+ IgniteCache<Integer, Integer> cache1 = ignite(0).createCache(cfg1);
+ IgniteCache<Integer, Integer> cache2 = ignite(0).createCache(cfg2);
- tx.commit();
+ try (Transaction tx = ignite(0).transactions().txStart()) {
+ cache1.put(1, 1);
+ cache2.put(2, 2);
- assert false : "Exception was not thrown.";
- }
- catch (IgniteException e) {
- CacheWriterException we = X.cause(e, CacheWriterException.class);
+ tx.commit();
- assertNotNull(we);
+ assert false : "Exception was not thrown.";
+ }
+ catch (IgniteException e) {
+ CacheWriterException we = X.cause(e, CacheWriterException.class);
+
+ assertNotNull(we);
- assertEquals("Expected failure.", we.getMessage());
- }
+ assertEquals("Expected failure.", we.getMessage());
+ }
+ finally {
+ cache1.destroy();
+ cache2.destroy();
}
try (Connection conn = DriverManager.getConnection(URL)) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/test/java/org/apache/ignite/internal/processors/GridCacheTxLoadFromStoreOnLockSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/GridCacheTxLoadFromStoreOnLockSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/GridCacheTxLoadFromStoreOnLockSelfTest.java
index 7b01f0f..bc6b443 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/GridCacheTxLoadFromStoreOnLockSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/GridCacheTxLoadFromStoreOnLockSelfTest.java
@@ -92,31 +92,33 @@ public class GridCacheTxLoadFromStoreOnLockSelfTest extends GridCommonAbstractTe
cacheCfg.setBackups(backups);
cacheCfg.setLoadPreviousValue(true);
- try (IgniteCache<Integer, Integer> cache = ignite(0).createCache(cacheCfg)) {
- for (int i = 0; i < 10; i++)
- assertEquals((Integer)i, cache.get(i));
+ IgniteCache<Integer, Integer> cache = ignite(0).createCache(cacheCfg);
- cache.removeAll();
+ for (int i = 0; i < 10; i++)
+ assertEquals((Integer)i, cache.get(i));
- assertEquals(0, cache.size());
+ cache.removeAll();
- for (TransactionConcurrency conc : TransactionConcurrency.values()) {
- for (TransactionIsolation iso : TransactionIsolation.values()) {
- info("Checking transaction [conc=" + conc + ", iso=" + iso + ']');
+ assertEquals(0, cache.size());
- try (Transaction tx = ignite(0).transactions().txStart(conc, iso)) {
- for (int i = 0; i < 10; i++)
- assertEquals("Invalid value for transaction [conc=" + conc + ", iso=" + iso + ']',
- (Integer)i, cache.get(i));
+ for (TransactionConcurrency conc : TransactionConcurrency.values()) {
+ for (TransactionIsolation iso : TransactionIsolation.values()) {
+ info("Checking transaction [conc=" + conc + ", iso=" + iso + ']');
- tx.commit();
- }
+ try (Transaction tx = ignite(0).transactions().txStart(conc, iso)) {
+ for (int i = 0; i < 10; i++)
+ assertEquals("Invalid value for transaction [conc=" + conc + ", iso=" + iso + ']',
+ (Integer)i, cache.get(i));
- cache.removeAll();
- assertEquals(0, cache.size());
+ tx.commit();
}
+
+ cache.removeAll();
+ assertEquals(0, cache.size());
}
}
+
+ cache.destroy();
}
/**
[21/50] [abbrv] incubator-ignite git commit: Merge branches
'ignite-1026' and 'master' of
https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-1026
Posted by sb...@apache.org.
Merge branches 'ignite-1026' and 'master' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-1026
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/c134dcfa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/c134dcfa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/c134dcfa
Branch: refs/heads/ignite-890
Commit: c134dcfa5e7bb5dbc7a533f3d047e6e40cf2ce4e
Parents: 3089ace 0a569b8
Author: Valentin Kulichenko <vk...@gridgain.com>
Authored: Wed Jul 8 12:20:13 2015 -0700
Committer: Valentin Kulichenko <vk...@gridgain.com>
Committed: Wed Jul 8 12:20:13 2015 -0700
----------------------------------------------------------------------
RELEASE_NOTES.txt | 12 ++
dev-tools/slurp.sh | 2 +-
modules/core/pom.xml | 4 +-
.../cache/eviction/fifo/FifoEvictionPolicy.java | 5 -
.../cache/eviction/lru/LruEvictionPolicy.java | 5 -
.../eviction/sorted/SortedEvictionPolicy.java | 19 +-
.../configuration/CacheConfiguration.java | 4 +
.../configuration/TransactionConfiguration.java | 23 +++
.../apache/ignite/internal/IgniteKernal.java | 10 +-
.../internal/interop/InteropIgnition.java | 48 +++--
.../internal/interop/InteropProcessor.java | 7 +
.../processors/cache/CacheObjectImpl.java | 1 -
.../processors/cache/GridCacheAttributes.java | 3 +
.../processors/cache/GridCacheContext.java | 8 +-
.../processors/cache/GridCacheIoManager.java | 8 +-
.../processors/cache/GridCacheProcessor.java | 21 +-
.../cache/GridCacheSharedContext.java | 15 +-
.../dht/GridPartitionedGetFuture.java | 13 +-
.../distributed/near/GridNearGetFuture.java | 4 +-
.../cache/jta/CacheJtaManagerAdapter.java | 17 +-
.../cache/jta/CacheNoopJtaManager.java | 2 +-
.../cache/query/GridCacheQueryAdapter.java | 35 +++-
.../processors/query/GridQueryProcessor.java | 5 +
.../ignite/internal/util/IgniteUtils.java | 6 +-
.../visor/cache/VisorCacheConfiguration.java | 11 -
.../ignite/spi/discovery/tcp/ServerImpl.java | 46 +++++
.../tcp/internal/TcpDiscoveryNode.java | 2 +-
.../tcp/internal/TcpDiscoveryNodesRing.java | 8 +-
.../tcp/internal/TcpDiscoveryStatistics.java | 10 +-
.../cache/CacheFutureExceptionSelfTest.java | 158 +++++++++++++++
.../GridCachePartitionedNodeRestartTest.java | 5 -
...ePartitionedOptimisticTxNodeRestartTest.java | 2 +-
.../GridCacheReplicatedFailoverSelfTest.java | 5 -
.../GridCacheReplicatedNodeRestartSelfTest.java | 5 -
...acheAtomicReplicatedNodeRestartSelfTest.java | 14 +-
...heConcurrentEvictionConsistencySelfTest.java | 15 +-
.../loadtests/hashmap/GridCacheTestContext.java | 4 +-
.../tcp/TcpDiscoveryMultiThreadedTest.java | 38 ++++
.../TcpDiscoveryNodeConsistentIdSelfTest.java | 80 ++++++++
.../ignite/testsuites/IgniteCacheTestSuite.java | 1 +
.../IgniteSpiDiscoverySelfTestSuite.java | 5 +
.../HibernateTransactionalDataRegion.java | 12 +-
.../hibernate/HibernateL2CacheSelfTest.java | 7 +-
.../HibernateL2CacheTransactionalSelfTest.java | 5 -
.../CacheAbstractQueryMetricsSelfTest.java | 157 +++++++++++++-
.../cache/CacheLocalQueryMetricsSelfTest.java | 33 +++
...titionedQueryMetricsDistributedSelfTest.java | 33 +++
...chePartitionedQueryMetricsLocalSelfTest.java | 33 +++
.../CachePartitionedQueryMetricsSelfTest.java | 32 ---
...plicatedQueryMetricsDistributedSelfTest.java | 33 +++
...acheReplicatedQueryMetricsLocalSelfTest.java | 33 +++
.../CacheReplicatedQueryMetricsSelfTest.java | 32 ---
.../IgniteCacheQuerySelfTestSuite.java | 7 +-
.../apache/ignite/cache/jta/CacheTmLookup.java | 3 +-
.../processors/cache/jta/CacheJtaManager.java | 72 ++++++-
.../cache/jta/GridCacheXAResource.java | 16 +-
.../processors/cache/GridCacheJtaSelfTest.java | 52 +++--
.../GridTmLookupLifecycleAwareSelfTest.java | 29 ++-
modules/kafka/licenses/apache-2.0.txt | 202 +++++++++++++++++++
modules/kafka/pom.xml | 11 -
modules/mesos/pom.xml | 1 -
modules/rest-http/pom.xml | 14 +-
modules/urideploy/pom.xml | 8 +-
.../commands/cache/VisorCacheCommand.scala | 2 -
modules/web/pom.xml | 6 +-
.../config/benchmark-put-indexed-val.properties | 64 ++++++
modules/yardstick/config/ignite-base-config.xml | 23 +++
.../cache/IgnitePutIndexedValue1Benchmark.java | 42 ++++
.../cache/IgnitePutIndexedValue2Benchmark.java | 42 ++++
.../cache/IgnitePutIndexedValue8Benchmark.java | 42 ++++
.../ignite/yardstick/cache/model/Person1.java | 55 +++++
.../ignite/yardstick/cache/model/Person2.java | 67 ++++++
.../ignite/yardstick/cache/model/Person8.java | 109 ++++++++++
parent/pom.xml | 1 +
scripts/git-patch-prop.sh | 2 +-
75 files changed, 1695 insertions(+), 271 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c134dcfa/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c134dcfa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
[09/50] [abbrv] incubator-ignite git commit: Apache license added to
ignite-kafka modeule
Posted by sb...@apache.org.
Apache license added to ignite-kafka modeule
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/1cf479bc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/1cf479bc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/1cf479bc
Branch: refs/heads/ignite-890
Commit: 1cf479bca360f7381e38f7e1e8ec5e19511d0a33
Parents: 82f4992
Author: agura <ag...@gridgain.com>
Authored: Wed Jul 8 13:30:42 2015 +0300
Committer: agura <ag...@gridgain.com>
Committed: Wed Jul 8 13:30:42 2015 +0300
----------------------------------------------------------------------
modules/kafka/licenses/apache-2.0.txt | 202 +++++++++++++++++++++++++++++
1 file changed, 202 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1cf479bc/modules/kafka/licenses/apache-2.0.txt
----------------------------------------------------------------------
diff --git a/modules/kafka/licenses/apache-2.0.txt b/modules/kafka/licenses/apache-2.0.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/modules/kafka/licenses/apache-2.0.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
[45/50] [abbrv] incubator-ignite git commit: # More info in asserts.
Posted by sb...@apache.org.
# More info in asserts.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/f5a09f4d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/f5a09f4d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/f5a09f4d
Branch: refs/heads/ignite-890
Commit: f5a09f4d1b2e912b2de25ffc669ca205d34ad0ce
Parents: aa2d7cb
Author: sboikov <sb...@gridgain.com>
Authored: Tue Jul 14 11:39:29 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Tue Jul 14 11:39:29 2015 +0300
----------------------------------------------------------------------
.../internal/processors/cache/GridCacheContext.java | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f5a09f4d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
index eb813c3..aec08c6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
@@ -533,7 +533,7 @@ public class GridCacheContext<K, V> implements Externalizable {
public void incrementPublicSize(GridCacheMapEntry e) {
assert deferredDelete();
assert e != null;
- assert !e.isInternal();
+ assert !e.isInternal() : e;
cache.map().incrementSize(e);
@@ -551,7 +551,7 @@ public class GridCacheContext<K, V> implements Externalizable {
public void decrementPublicSize(GridCacheMapEntry e) {
assert deferredDelete();
assert e != null;
- assert !e.isInternal();
+ assert !e.isInternal() : e;
cache.map().decrementSize(e);
@@ -765,7 +765,7 @@ public class GridCacheContext<K, V> implements Externalizable {
* @return Partition topology.
*/
public GridDhtPartitionTopology topology() {
- assert isNear() || isDht() || isColocated() || isDhtAtomic();
+ assert isNear() || isDht() || isColocated() || isDhtAtomic() : cache;
return isNear() ? near().dht().topology() : dht().topology();
}
@@ -774,7 +774,7 @@ public class GridCacheContext<K, V> implements Externalizable {
* @return Topology version future.
*/
public GridDhtTopologyFuture topologyVersionFuture() {
- assert isNear() || isDht() || isColocated() || isDhtAtomic();
+ assert isNear() || isDht() || isColocated() || isDhtAtomic() : cache;
GridDhtTopologyFuture fut = null;
@@ -1599,9 +1599,9 @@ public class GridCacheContext<K, V> implements Externalizable {
*/
public void onDeferredDelete(GridCacheEntryEx entry, GridCacheVersion ver) {
assert entry != null;
- assert !Thread.holdsLock(entry);
+ assert !Thread.holdsLock(entry) : entry;
assert ver != null;
- assert deferredDelete();
+ assert deferredDelete() : cache;
cache.onDeferredDelete(entry, ver);
}
@@ -1759,7 +1759,7 @@ public class GridCacheContext<K, V> implements Externalizable {
* @throws IgniteCheckedException If failed.
*/
public CacheObject fromOffheap(long valPtr, boolean tmp) throws IgniteCheckedException {
- assert config().getMemoryMode() == OFFHEAP_TIERED || config().getMemoryMode() == OFFHEAP_VALUES;
+ assert config().getMemoryMode() == OFFHEAP_TIERED || config().getMemoryMode() == OFFHEAP_VALUES : cacheCfg;
assert valPtr != 0;
return ctx.cacheObjects().toCacheObject(this, valPtr, tmp);
[38/50] [abbrv] incubator-ignite git commit: # ignite-648:
Implemented.
Posted by sb...@apache.org.
# ignite-648: Implemented.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8218fe6f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8218fe6f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8218fe6f
Branch: refs/heads/ignite-890
Commit: 8218fe6fa42b2daa6816cf862fe1450ad0cf11d3
Parents: ab655ed
Author: ashutak <as...@gridgain.com>
Authored: Fri Jul 10 21:40:31 2015 +0300
Committer: ashutak <as...@gridgain.com>
Committed: Fri Jul 10 21:40:31 2015 +0300
----------------------------------------------------------------------
modules/core/pom.xml | 7 +
.../affinity/fair/FairAffinityFunction.java | 5 +-
.../cache/GridCacheAbstractFullApiSelfTest.java | 323 ++++++----
.../cache/GridCacheAbstractSelfTest.java | 14 +-
...eAtomicNearOnlyMultiNodeFullApiSelfTest.java | 3 +
...idCacheNearOnlyMultiNodeFullApiSelfTest.java | 5 +-
.../near/GridCacheNearTxMultiNodeSelfTest.java | 10 +-
...achePartitionedMultiNodeFullApiSelfTest.java | 48 +-
...OnlyFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...AtomicClientOnlyMultiJvmFullApiSelfTest.java | 31 +
...tOnlyMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...pyOnReadDisabledMultiJvmFullApiSelfTest.java | 31 +
...omicFairAffinityMultiJvmFullApiSelfTest.java | 31 +
.../GridCacheAtomicMultiJvmFullApiSelfTest.java | 30 +
...tomicMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...bledFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...tomicNearEnabledMultiJvmFullApiSelfTest.java | 31 +
...rimaryWriteOrderMultiJvmFullApiSelfTest.java | 31 +
...heAtomicNearOnlyMultiJvmFullApiSelfTest.java | 31 +
...rOnlyMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...cheAtomicOffHeapMultiJvmFullApiSelfTest.java | 31 +
...micOffHeapTieredMultiJvmFullApiSelfTest.java | 36 ++
...rderFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...rimaryWriteOrderMultiJvmFullApiSelfTest.java | 31 +
...OrderMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...rityOrderOffHeapMultiJvmFullApiSelfTest.java | 31 +
...derOffHeapTieredMultiJvmFullApiSelfTest.java | 36 ++
...OnlyFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...ridCacheNearOnlyMultiJvmFullApiSelfTest.java | 30 +
...rOnlyMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...pyOnReadDisabledMultiJvmFullApiSelfTest.java | 31 +
...onedFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...CachePartitionedMultiJvmFullApiSelfTest.java | 30 +
...ionedMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...micOffHeapTieredMultiJvmFullApiSelfTest.java | 36 ++
...bledFairAffinityMultiJvmFullApiSelfTest.java | 31 +
...onedNearDisabledMultiJvmFullApiSelfTest.java | 31 +
...abledMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...rDisabledOffHeapMultiJvmFullApiSelfTest.java | 31 +
...ledOffHeapTieredMultiJvmFullApiSelfTest.java | 36 ++
...rtitionedOffHeapMultiJvmFullApiSelfTest.java | 31 +
...nedOffHeapTieredMultiJvmFullApiSelfTest.java | 36 ++
...ReplicatedAtomicMultiJvmFullApiSelfTest.java | 31 +
...rimaryWriteOrderMultiJvmFullApiSelfTest.java | 31 +
...dCacheReplicatedMultiJvmFullApiSelfTest.java | 30 +
...catedMultiJvmP2PDisabledFullApiSelfTest.java | 31 +
...plicatedNearOnlyMultiJvmFullApiSelfTest.java | 37 ++
...eplicatedOffHeapMultiJvmFullApiSelfTest.java | 31 +
...tedOffHeapTieredMultiJvmFullApiSelfTest.java | 36 ++
.../testframework/junits/GridAbstractTest.java | 380 +++++++++++-
.../junits/common/GridCommonAbstractTest.java | 50 +-
.../junits/multijvm/AffinityProcessProxy.java | 195 ++++++
.../multijvm/IgniteCacheProcessProxy.java | 602 +++++++++++++++++++
.../multijvm/IgniteClusterProcessProxy.java | 320 ++++++++++
.../multijvm/IgniteEventsProcessProxy.java | 148 +++++
.../junits/multijvm/IgniteNodeRunner.java | 184 ++++++
.../junits/multijvm/IgniteProcessProxy.java | 571 ++++++++++++++++++
...IgniteCacheFullApiMultiJvmSelfTestSuite.java | 89 +++
parent/pom.xml | 40 ++
pom.xml | 1 -
60 files changed, 4094 insertions(+), 204 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
index 6c5af02..5ac49ae 100644
--- a/modules/core/pom.xml
+++ b/modules/core/pom.xml
@@ -55,6 +55,13 @@
</dependency>
<dependency>
+ <groupId>com.thoughtworks.xstream</groupId>
+ <artifactId>xstream</artifactId>
+ <version>1.4.8</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/main/java/org/apache/ignite/cache/affinity/fair/FairAffinityFunction.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/affinity/fair/FairAffinityFunction.java b/modules/core/src/main/java/org/apache/ignite/cache/affinity/fair/FairAffinityFunction.java
index 0253e62..14a4f53 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/affinity/fair/FairAffinityFunction.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/affinity/fair/FairAffinityFunction.java
@@ -19,7 +19,7 @@ package org.apache.ignite.cache.affinity.fair;
import org.apache.ignite.cache.affinity.*;
import org.apache.ignite.cluster.*;
-import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.configuration.*;
import org.apache.ignite.events.*;
import org.apache.ignite.internal.util.typedef.*;
import org.apache.ignite.internal.util.typedef.internal.*;
@@ -31,7 +31,8 @@ import java.util.*;
* Fair affinity function which tries to ensure that all nodes get equal number of partitions with
* minimum amount of reassignments between existing nodes.
* <p>
- * Cache affinity can be configured for individual caches via {@link CacheConfiguration#getAffinity()} method.
+ * Cache affinity can be configured for individual caches via
+ * {@link CacheConfiguration#setAffinity(AffinityFunction)} method.
*/
@AffinityCentralizedFunction
public class FairAffinityFunction implements AffinityFunction {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
index 151c249..f8d1ce3 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
@@ -61,6 +61,7 @@ import static org.apache.ignite.transactions.TransactionState.*;
/**
* Full API cache test.
*/
+@SuppressWarnings("TransientFieldInNonSerializableClass")
public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstractSelfTest {
/** Increment processor for invoke operations. */
public static final EntryProcessor<String, Integer, String> INCR_PROCESSOR = new EntryProcessor<String, Integer, String>() {
@@ -105,7 +106,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
};
/** Dflt grid. */
- protected Ignite dfltIgnite;
+ protected transient Ignite dfltIgnite;
/** */
private Map<String, CacheConfiguration[]> cacheCfgMap;
@@ -162,7 +163,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
super.beforeTestsStarted();
for (Map.Entry<String, CacheConfiguration[]> entry : cacheCfgMap.entrySet()) {
- Ignite ignite = IgnitionEx.grid(entry.getKey());
+ Ignite ignite = grid(entry.getKey());
for (CacheConfiguration cfg : entry.getValue())
ignite.createCache(cfg);
@@ -206,7 +207,10 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
cfg.setCacheConfiguration();
- return IgnitionEx.start(optimize(cfg), ctx);
+ if (!isRemoteJvm(gridName))
+ return IgnitionEx.start(optimize(cfg), ctx);
+ else
+ return startRemoteGrid(gridName, optimize(cfg), ctx);
}
/** {@inheritDoc} */
@@ -251,7 +255,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
int size = 10;
- Map<String, Integer> map = new HashMap<>();
+ final Map<String, Integer> map = new HashMap<>();
for (int i = 0; i < size; i++)
map.put("key" + i, i);
@@ -284,15 +288,19 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
}
for (int i = 0; i < gridCount(); i++) {
- GridCacheContext<String, Integer> ctx = context(i);
+ executeOnLocalOrRemoteJvm(i, new TestIgniteIdxRunnable() {
+ @Override public void run(int idx) throws Exception {
+ GridCacheContext<String, Integer> ctx = context(idx);
- int sum = 0;
+ int sum = 0;
- for (String key : map.keySet())
- if (ctx.affinity().localNode(key, new AffinityTopologyVersion(ctx.discovery().topologyVersion())))
- sum++;
+ for (String key : map.keySet())
+ if (ctx.affinity().localNode(key, new AffinityTopologyVersion(ctx.discovery().topologyVersion())))
+ sum++;
- assertEquals("Incorrect key size on cache #" + i, sum, jcache(i).localSize(ALL));
+ assertEquals("Incorrect key size on cache #" + idx, sum, jcache(idx).localSize(ALL));
+ }
+ });
}
for (int i = 0; i < gridCount(); i++) {
@@ -359,6 +367,9 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testRemoveAllSkipStore() throws Exception {
+ if (isMultiJvm())
+ fail("https://issues.apache.org/jira/browse/IGNITE-1088");
+
IgniteCache<String, Integer> jcache = jcache();
jcache.putAll(F.asMap("1", 1, "2", 2, "3", 3));
@@ -448,7 +459,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception In case of error.
*/
public void testGetAll() throws Exception {
- Transaction tx = txEnabled() ? transactions().txStart() : null;
+ Transaction tx = txShouldBeUsed() ? transactions().txStart() : null;
final IgniteCache<String, Integer> cache = jcache();
@@ -495,7 +506,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
assertNull(map2.get("key9999"));
// Now do the same checks but within transaction.
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
try (Transaction tx0 = transactions().txStart()) {
assert cache.getAll(Collections.<String>emptySet()).isEmpty();
@@ -548,7 +559,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testGetTxNonExistingKey() throws Exception {
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
try (Transaction ignored = transactions().txStart()) {
assert jcache().get("key999123") == null;
}
@@ -626,7 +637,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception In case of error.
*/
public void testPutTx() throws Exception {
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
IgniteCache<String, Integer> cache = jcache();
try (Transaction tx = transactions().txStart()) {
@@ -729,7 +740,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
cache.put("key2", 1);
cache.put("key3", 3);
- Transaction tx = txEnabled() ? ignite(0).transactions().txStart(concurrency, isolation) : null;
+ Transaction tx = txShouldBeUsed() ? ignite(0).transactions().txStart(concurrency, isolation) : null;
try {
assertEquals("null", cache.invoke("key1", INCR_IGNITE_PROCESSOR));
@@ -783,7 +794,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
cache.put("key2", 1);
cache.put("key3", 3);
- Transaction tx = txEnabled() ? ignite(0).transactions().txStart(concurrency, isolation) : null;
+ Transaction tx = txShouldBeUsed() ? ignite(0).transactions().txStart(concurrency, isolation) : null;
try {
assertEquals("null", cache.invoke("key1", INCR_PROCESSOR));
@@ -866,7 +877,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
cache.put("key2", 1);
cache.put("key3", 3);
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
Map<String, EntryProcessorResult<String>> res;
try (Transaction tx = ignite(0).transactions().txStart(concurrency, isolation)) {
@@ -1022,7 +1033,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
final String key = primaryKeysForCache(cache, 1).get(0);
- Transaction tx = txEnabled() ? ignite(0).transactions().txStart(concurrency, READ_COMMITTED) : null;
+ Transaction tx = txShouldBeUsed() ? ignite(0).transactions().txStart(concurrency, READ_COMMITTED) : null;
try {
if (startVal)
@@ -1083,7 +1094,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
cache.put("key", 4);
- Transaction tx = txEnabled() ? ignite(0).transactions().txStart(concurrency, READ_COMMITTED) : null;
+ Transaction tx = txShouldBeUsed() ? ignite(0).transactions().txStart(concurrency, READ_COMMITTED) : null;
try {
cache.remove("key");
@@ -1154,7 +1165,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
if (!put)
cache.put("key", 1);
- Transaction tx = txEnabled() ? ignite(0).transactions().txStart(concurrency, isolation) : null;
+ Transaction tx = txShouldBeUsed() ? ignite(0).transactions().txStart(concurrency, isolation) : null;
try {
if (put)
@@ -1313,7 +1324,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception In case of error.
*/
public void testPutx() throws Exception {
- if (txEnabled())
+ if (txShouldBeUsed())
checkPut(true);
}
@@ -1365,7 +1376,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testPutAsync() throws Exception {
- Transaction tx = txEnabled() ? transactions().txStart() : null;
+ Transaction tx = txShouldBeUsed() ? transactions().txStart() : null;
IgniteCache<String, Integer> cacheAsync = jcache().withAsync();
@@ -1436,7 +1447,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception In case of error.
*/
public void testNullInTx() throws Exception {
- if (!txEnabled())
+ if (!txShouldBeUsed())
return;
final IgniteCache<String, Integer> cache = jcache();
@@ -1685,7 +1696,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception In case of error.
*/
public void testGetAndPutIfAbsent() throws Exception {
- Transaction tx = txEnabled() ? transactions().txStart() : null;
+ Transaction tx = txShouldBeUsed() ? transactions().txStart() : null;
IgniteCache<String, Integer> cache = jcache();
@@ -1729,17 +1740,20 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
assertEquals((Integer)1, cache.getAndPutIfAbsent("key2", 3));
// Check db.
- putToStore("key3", 3);
+ if (!isMultiJvm()) {
+ putToStore("key3", 3);
+
+ assertEquals((Integer)3, cache.getAndPutIfAbsent("key3", 4));
- assertEquals((Integer)3, cache.getAndPutIfAbsent("key3", 4));
+ assertEquals((Integer)3, cache.get("key3"));
+ }
assertEquals((Integer)1, cache.get("key2"));
- assertEquals((Integer)3, cache.get("key3"));
cache.localEvict(Collections.singleton("key2"));
// Same checks inside tx.
- tx = txEnabled() ? transactions().txStart() : null;
+ tx = txShouldBeUsed() ? transactions().txStart() : null;
try {
assertEquals((Integer)1, cache.getAndPutIfAbsent("key2", 3));
@@ -1759,7 +1773,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testGetAndPutIfAbsentAsync() throws Exception {
- Transaction tx = txEnabled() ? transactions().txStart() : null;
+ Transaction tx = txShouldBeUsed() ? transactions().txStart() : null;
IgniteCache<String, Integer> cache = jcache();
@@ -1798,16 +1812,18 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
assertEquals((Integer)1, cacheAsync.<Integer>future().get());
// Check db.
- putToStore("key3", 3);
+ if (!isMultiJvm()) {
+ putToStore("key3", 3);
- cacheAsync.getAndPutIfAbsent("key3", 4);
+ cacheAsync.getAndPutIfAbsent("key3", 4);
- assertEquals((Integer)3, cacheAsync.<Integer>future().get());
+ assertEquals((Integer)3, cacheAsync.<Integer>future().get());
+ }
cache.localEvict(Collections.singleton("key2"));
// Same checks inside tx.
- tx = txEnabled() ? transactions().txStart() : null;
+ tx = txShouldBeUsed() ? transactions().txStart() : null;
try {
cacheAsync.getAndPutIfAbsent("key2", 3);
@@ -1845,14 +1861,16 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
assertFalse(cache.putIfAbsent("key2", 3));
// Check db.
- putToStore("key3", 3);
+ if (!isMultiJvm()) {
+ putToStore("key3", 3);
- assertFalse(cache.putIfAbsent("key3", 4));
+ assertFalse(cache.putIfAbsent("key3", 4));
+ }
cache.localEvict(Collections.singleton("key2"));
// Same checks inside tx.
- Transaction tx = txEnabled() ? transactions().txStart() : null;
+ Transaction tx = txShouldBeUsed() ? transactions().txStart() : null;
try {
assertFalse(cache.putIfAbsent("key2", 3));
@@ -1872,7 +1890,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception In case of error.
*/
public void testPutxIfAbsentAsync() throws Exception {
- if (txEnabled())
+ if (txShouldBeUsed())
checkPutxIfAbsentAsync(true);
}
@@ -1916,11 +1934,13 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
assertFalse(cacheAsync.<Boolean>future().get());
// Check db.
- putToStore("key3", 3);
+ if (!isMultiJvm()) {
+ putToStore("key3", 3);
- cacheAsync.putIfAbsent("key3", 4);
+ cacheAsync.putIfAbsent("key3", 4);
- assertFalse(cacheAsync.<Boolean>future().get());
+ assertFalse(cacheAsync.<Boolean>future().get());
+ }
cache.localEvict(Arrays.asList("key2"));
@@ -1932,9 +1952,11 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
assertFalse(cacheAsync.<Boolean>future().get());
- cacheAsync.putIfAbsent("key3", 4);
+ if (!isMultiJvm()) {
+ cacheAsync.putIfAbsent("key3", 4);
- assertFalse(cacheAsync.<Boolean>future().get());
+ assertFalse(cacheAsync.<Boolean>future().get());
+ }
if (tx != null)
tx.commit();
@@ -1945,7 +1967,9 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
}
assertEquals((Integer)1, cache.get("key2"));
- assertEquals((Integer)3, cache.get("key3"));
+
+ if (!isMultiJvm())
+ assertEquals((Integer)3, cache.get("key3"));
}
/**
@@ -2014,11 +2038,13 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
assert cache.get("key") == 4;
- putToStore("key2", 5);
+ if (!isMultiJvm()) {
+ putToStore("key2", 5);
- info("key2 5 -> 6");
+ info("key2 5 -> 6");
- assert cache.replace("key2", 5, 6);
+ assert cache.replace("key2", 5, 6);
+ }
for (int i = 0; i < gridCount(); i++) {
info("Peek key on grid [i=" + i + ", nodeId=" + grid(i).localNode().id() +
@@ -2028,11 +2054,12 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
", peekVal=" + grid(i).cache(null).localPeek("key2", ONHEAP) + ']');
}
- assertEquals((Integer)6, cache.get("key2"));
+ if (!isMultiJvm())
+ assertEquals((Integer)6, cache.get("key2"));
cache.localEvict(Collections.singleton("key"));
- Transaction tx = txEnabled() ? transactions().txStart() : null;
+ Transaction tx = txShouldBeUsed() ? transactions().txStart() : null;
try {
assert cache.replace("key", 4, 5);
@@ -2070,15 +2097,17 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
assert cache.get("key") == 4;
- putToStore("key2", 5);
+ if (!isMultiJvm()) {
+ putToStore("key2", 5);
- assert cache.replace("key2", 6);
+ assert cache.replace("key2", 6);
- assertEquals((Integer)6, cache.get("key2"));
+ assertEquals((Integer)6, cache.get("key2"));
+ }
cache.localEvict(Collections.singleton("key"));
- Transaction tx = txEnabled() ? transactions().txStart() : null;
+ Transaction tx = txShouldBeUsed() ? transactions().txStart() : null;
try {
assert cache.replace("key", 5);
@@ -2144,17 +2173,19 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
assert cache.get("key") == 4;
- putToStore("key2", 5);
+ if (!isMultiJvm()) {
+ putToStore("key2", 5);
- cacheAsync.replace("key2", 5, 6);
+ cacheAsync.replace("key2", 5, 6);
- assert cacheAsync.<Boolean>future().get();
+ assert cacheAsync.<Boolean>future().get();
- assertEquals((Integer)6, cache.get("key2"));
+ assertEquals((Integer)6, cache.get("key2"));
+ }
cache.localEvict(Collections.singleton("key"));
- Transaction tx = txEnabled() ? transactions().txStart() : null;
+ Transaction tx = txShouldBeUsed() ? transactions().txStart() : null;
try {
cacheAsync.replace("key", 4, 5);
@@ -2204,17 +2235,19 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
assert cache.get("key") == 4;
- putToStore("key2", 5);
+ if (!isMultiJvm()) {
+ putToStore("key2", 5);
- cacheAsync.replace("key2", 6);
+ cacheAsync.replace("key2", 6);
- assert cacheAsync.<Boolean>future().get();
+ assert cacheAsync.<Boolean>future().get();
- assert cache.get("key2") == 6;
+ assert cache.get("key2") == 6;
+ }
cache.localEvict(Collections.singleton("key"));
- Transaction tx = txEnabled() ? transactions().txStart() : null;
+ Transaction tx = txShouldBeUsed() ? transactions().txStart() : null;
try {
cacheAsync.replace("key", 5);
@@ -2255,7 +2288,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
*/
public void testDeletedEntriesFlag() throws Exception {
if (cacheMode() != LOCAL && cacheMode() != REPLICATED && memoryMode() != OFFHEAP_TIERED) {
- int cnt = 3;
+ final int cnt = 3;
IgniteCache<String, Integer> cache = jcache();
@@ -2266,21 +2299,25 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
cache.remove(String.valueOf(i));
for (int g = 0; g < gridCount(); g++) {
- for (int i = 0; i < cnt; i++) {
- String key = String.valueOf(i);
-
- GridCacheContext<String, Integer> cctx = context(g);
-
- GridCacheEntryEx entry = cctx.isNear() ? cctx.near().dht().peekEx(key) :
- cctx.cache().peekEx(key);
-
- if (grid(0).affinity(null).mapKeyToPrimaryAndBackups(key).contains(grid(g).localNode())) {
- assertNotNull(entry);
- assertTrue(entry.deleted());
+ executeOnLocalOrRemoteJvm(g, new TestIgniteIdxRunnable() {
+ @Override public void run(int idx) throws Exception {
+ for (int i = 0; i < cnt; i++) {
+ String key = String.valueOf(i);
+
+ GridCacheContext<String, Integer> cctx = context(idx);
+
+ GridCacheEntryEx entry = cctx.isNear() ? cctx.near().dht().peekEx(key) :
+ cctx.cache().peekEx(key);
+
+ if (grid(idx).affinity(null).mapKeyToPrimaryAndBackups(key).contains(grid(idx).localNode())) {
+ assertNotNull(entry);
+ assertTrue(entry.deleted());
+ }
+ else
+ assertNull(entry);
+ }
}
- else
- assertNull(entry);
- }
+ });
}
}
}
@@ -2289,6 +2326,9 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testRemoveLoad() throws Exception {
+ if (isMultiJvm())
+ fail("https://issues.apache.org/jira/browse/IGNITE-1088");
+
int cnt = 10;
Set<String> keys = new HashSet<>();
@@ -2542,7 +2582,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception In case of error.
*/
public void testRemoveAllDuplicatesTx() throws Exception {
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
try (Transaction tx = transactions().txStart()) {
jcache().removeAll(ImmutableSet.of("key1", "key1", "key1"));
@@ -2957,7 +2997,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
private void checkPeekTxRemove(TransactionConcurrency concurrency) throws Exception {
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
Ignite ignite = primaryIgnite("key");
IgniteCache<String, Integer> cache = ignite.cache(null);
@@ -3065,7 +3105,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testPeekExpiredTx() throws Exception {
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
IgniteCache<String, Integer> c = jcache();
String key = "1";
@@ -3091,7 +3131,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testTtlTx() throws Exception {
- if (txEnabled())
+ if (txShouldBeUsed())
checkTtl(true, false);
}
@@ -3115,6 +3155,9 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
private void checkTtl(boolean inTx, boolean oldEntry) throws Exception {
+ if (isMultiJvm())
+ fail("https://issues.apache.org/jira/browse/IGNITE-1089");
+
if (memoryMode() == OFFHEAP_TIERED)
return;
@@ -3610,7 +3653,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testOptimisticTxMissingKey() throws Exception {
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
try (Transaction tx = transactions().txStart(OPTIMISTIC, READ_COMMITTED)) {
// Remove missing key.
assertTrue(jcache().remove(UUID.randomUUID().toString()));
@@ -3626,7 +3669,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testOptimisticTxMissingKeyNoCommit() throws Exception {
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
try (Transaction tx = transactions().txStart(OPTIMISTIC, READ_COMMITTED)) {
// Remove missing key.
assertTrue(jcache().remove(UUID.randomUUID().toString()));
@@ -3670,7 +3713,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
private void checkRemovexInTx(TransactionConcurrency concurrency, TransactionIsolation isolation) throws Exception {
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
final int cnt = 10;
CU.inTx(ignite(0), jcache(), concurrency, isolation, new CIX1<IgniteCache<String, Integer>>() {
@@ -3709,7 +3752,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testPessimisticTxMissingKey() throws Exception {
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
try (Transaction tx = transactions().txStart(PESSIMISTIC, READ_COMMITTED)) {
// Remove missing key.
assertFalse(jcache().remove(UUID.randomUUID().toString()));
@@ -3725,7 +3768,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testPessimisticTxMissingKeyNoCommit() throws Exception {
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
try (Transaction tx = transactions().txStart(PESSIMISTIC, READ_COMMITTED)) {
// Remove missing key.
assertFalse(jcache().remove(UUID.randomUUID().toString()));
@@ -3739,7 +3782,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testPessimisticTxRepeatableRead() throws Exception {
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
try (Transaction ignored = transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) {
jcache().put("key", 1);
@@ -3752,7 +3795,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testPessimisticTxRepeatableReadOnUpdate() throws Exception {
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
try (Transaction ignored = transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) {
jcache().put("key", 1);
@@ -3790,7 +3833,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @param keys Expected keys.
* @throws Exception If failed.
*/
- protected void checkSize(Collection<String> keys) throws Exception {
+ protected void checkSize(final Collection<String> keys) throws Exception {
if (memoryMode() == OFFHEAP_TIERED)
return;
@@ -3798,26 +3841,30 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
assertEquals(keys.size(), jcache().localSize(CachePeekMode.ALL));
else {
for (int i = 0; i < gridCount(); i++) {
- GridCacheContext<String, Integer> ctx = context(i);
+ executeOnLocalOrRemoteJvm(i, new TestIgniteIdxRunnable() {
+ @Override public void run(int idx) throws Exception {
+ GridCacheContext<String, Integer> ctx = context(idx);
- if (ctx.cache().configuration().getMemoryMode() == OFFHEAP_TIERED)
- continue;
+ if (ctx.cache().configuration().getMemoryMode() == OFFHEAP_TIERED)
+ return;
- int size = 0;
+ int size = 0;
- for (String key : keys) {
- if (ctx.affinity().localNode(key, ctx.discovery().topologyVersionEx())) {
- GridCacheEntryEx e =
- ctx.isNear() ? ctx.near().dht().peekEx(key) : ctx.cache().peekEx(key);
+ for (String key : keys) {
+ if (ctx.affinity().localNode(key, ctx.discovery().topologyVersionEx())) {
+ GridCacheEntryEx e =
+ ctx.isNear() ? ctx.near().dht().peekEx(key) : ctx.cache().peekEx(key);
- assert e != null : "Entry is null [idx=" + i + ", key=" + key + ", ctx=" + ctx + ']';
- assert !e.deleted() : "Entry is deleted: " + e;
+ assert e != null : "Entry is null [idx=" + idx + ", key=" + key + ", ctx=" + ctx + ']';
+ assert !e.deleted() : "Entry is deleted: " + e;
- size++;
- }
- }
+ size++;
+ }
+ }
- assertEquals("Incorrect size on cache #" + i, size, jcache(i).localSize(ALL));
+ assertEquals("Incorrect size on cache #" + idx, size, jcache(idx).localSize(ALL));
+ }
+ });
}
}
}
@@ -3826,21 +3873,25 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @param keys Expected keys.
* @throws Exception If failed.
*/
- protected void checkKeySize(Collection<String> keys) throws Exception {
+ protected void checkKeySize(final Collection<String> keys) throws Exception {
if (nearEnabled())
assertEquals("Invalid key size: " + jcache().localSize(ALL),
keys.size(), jcache().localSize(ALL));
else {
for (int i = 0; i < gridCount(); i++) {
- GridCacheContext<String, Integer> ctx = context(i);
+ executeOnLocalOrRemoteJvm(i, new TestIgniteIdxRunnable() {
+ @Override public void run(int idx) throws Exception {
+ GridCacheContext<String, Integer> ctx = context(idx);
- int size = 0;
+ int size = 0;
- for (String key : keys)
- if (ctx.affinity().localNode(key, ctx.discovery().topologyVersionEx()))
- size++;
+ for (String key : keys)
+ if (ctx.affinity().localNode(key, ctx.discovery().topologyVersionEx()))
+ size++;
- assertEquals("Incorrect key size on cache #" + i, size, jcache(i).localSize(ALL));
+ assertEquals("Incorrect key size on cache #" + idx, size, jcache(idx).localSize(ALL));
+ }
+ });
}
}
}
@@ -3879,7 +3930,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
UUID nodeId = node.id();
for (int i = 0; i < gridCount(); i++) {
- if (context(i).localNodeId().equals(nodeId))
+ if (grid(i).localNode().id().equals(nodeId))
return ignite(i);
}
@@ -3899,24 +3950,27 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @param cnt Keys count.
* @return Collection of keys for which given cache is primary.
*/
- protected List<String> primaryKeysForCache(IgniteCache<String, Integer> cache, int cnt, int startFrom) {
- List<String> found = new ArrayList<>(cnt);
+ protected List<String> primaryKeysForCache(final IgniteCache<String, Integer> cache, final int cnt, final int startFrom) {
+ return executeOnLocalOrRemoteJvm(cache, new TestCacheCallable<String, Integer, List<String>>() {
+ @Override public List<String> call(Ignite ignite, IgniteCache<String, Integer> cache) throws Exception {
+ List<String> found = new ArrayList<>();
- Ignite ignite = cache.unwrap(Ignite.class);
- Affinity<Object> affinity = ignite.affinity(cache.getName());
+ Affinity<Object> affinity = ignite.affinity(cache.getName());
- for (int i = startFrom; i < startFrom + 100_000; i++) {
- String key = "key" + i;
+ for (int i = startFrom; i < startFrom + 100_000; i++) {
+ String key = "key" + i;
- if (affinity.isPrimary(ignite.cluster().localNode(), key)) {
- found.add(key);
+ if (affinity.isPrimary(ignite.cluster().localNode(), key)) {
+ found.add(key);
- if (found.size() == cnt)
- return found;
- }
- }
+ if (found.size() == cnt)
+ return found;
+ }
+ }
- throw new IgniteException("Unable to find " + cnt + " keys as primary for cache.");
+ throw new IgniteException("Unable to find " + cnt + " keys as primary for cache.");
+ }
+ });
}
/**
@@ -4108,13 +4162,16 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
*/
private void checkIteratorsCleared() {
for (int j = 0; j < gridCount(); j++) {
+ executeOnLocalOrRemoteJvm(j, new TestIgniteIdxRunnable() {
+ @Override public void run(int idx) throws Exception {
+ GridCacheQueryManager queries = context(idx).queries();
- GridCacheQueryManager queries = context(j).queries();
-
- Map map = GridTestUtils.getFieldValue(queries, GridCacheQueryManager.class, "qryIters");
+ Map map = GridTestUtils.getFieldValue(queries, GridCacheQueryManager.class, "qryIters");
- for (Object obj : map.values())
- assertEquals("Iterators not removed for grid " + j, 0, ((Map) obj).size());
+ for (Object obj : map.values())
+ assertEquals("Iterators not removed for grid " + idx, 0, ((Map)obj).size());
+ }
+ });
}
}
@@ -4358,6 +4415,9 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testWithSkipStore() throws Exception {
+ if(isMultiJvm())
+ fail("https://issues.apache.org/jira/browse/IGNITE-1088");
+
IgniteCache<String, Integer> cache = grid(0).cache(null);
IgniteCache<String, Integer> cacheSkipStore = cache.withSkipStore();
@@ -4567,6 +4627,9 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testWithSkipStoreRemoveAll() throws Exception {
+ if (isMultiJvm())
+ fail("https://issues.apache.org/jira/browse/IGNITE-1088");
+
if (atomicityMode() == TRANSACTIONAL || (atomicityMode() == ATOMIC && nearEnabled())) // TODO IGNITE-373.
return;
@@ -4608,7 +4671,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
* @throws Exception If failed.
*/
public void testWithSkipStoreTx() throws Exception {
- if (txEnabled()) {
+ if (txShouldBeUsed()) {
IgniteCache<String, Integer> cache = grid(0).cache(null);
IgniteCache<String, Integer> cacheSkipStore = cache.withSkipStore();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractSelfTest.java
index 468aec1..4cd208d 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractSelfTest.java
@@ -313,12 +313,20 @@ public abstract class GridCacheAbstractSelfTest extends GridCommonAbstractTest {
/**
* @return {@code True} if transactions are enabled.
+ * @see #txShouldBeUsed()
*/
protected boolean txEnabled() {
return true;
}
/**
+ * @return {@code True} if transactions should be used.
+ */
+ protected boolean txShouldBeUsed() {
+ return txEnabled() && !isMultiJvm();
+ }
+
+ /**
* @return {@code True} if locking is enabled.
*/
protected boolean lockingEnabled() {
@@ -360,7 +368,11 @@ public abstract class GridCacheAbstractSelfTest extends GridCommonAbstractTest {
* @param idx Index of grid.
* @return Cache context.
*/
- protected GridCacheContext<String, Integer> context(int idx) {
+ protected GridCacheContext<String, Integer> context(final int idx) {
+ if (isRemoteJvm(idx) && !isRemoteJvm())
+ throw new UnsupportedOperationException("Operation can't be done automatically via proxy. " +
+ "Send task with this logic on remote jvm instead.");
+
return ((IgniteKernal)grid(idx)).<String, Integer>internalCache().context();
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearOnlyMultiNodeFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearOnlyMultiNodeFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearOnlyMultiNodeFullApiSelfTest.java
index ac93adb..c592395 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearOnlyMultiNodeFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheAtomicNearOnlyMultiNodeFullApiSelfTest.java
@@ -114,6 +114,9 @@ public class GridCacheAtomicNearOnlyMultiNodeFullApiSelfTest extends GridCacheNe
/** {@inheritDoc} */
@Override public void testEvictExpired() throws Exception {
+ if (isMultiJvm())
+ fail("https://issues.apache.org/jira/browse/IGNITE-1113");
+
IgniteCache<String, Integer> cache = jcache();
String key = primaryKeysForCache(cache, 1).get(0);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearOnlyMultiNodeFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearOnlyMultiNodeFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearOnlyMultiNodeFullApiSelfTest.java
index d40e9e3..f30ea71 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearOnlyMultiNodeFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearOnlyMultiNodeFullApiSelfTest.java
@@ -125,7 +125,7 @@ public class GridCacheNearOnlyMultiNodeFullApiSelfTest extends GridCachePartitio
return F.view(super.affinityNodes(), new P1<ClusterNode>() {
@Override public boolean apply(ClusterNode n) {
- return !F.eq(G.ignite(n.id()).name(), grid(nearIdx).name());
+ return !F.eq(grid(n).name(), grid(nearIdx).name());
}
});
}
@@ -211,6 +211,9 @@ public class GridCacheNearOnlyMultiNodeFullApiSelfTest extends GridCachePartitio
* @throws Exception If failed.
*/
private void checkReaderTtl(boolean inTx) throws Exception {
+ if (isMultiJvm())
+ fail("https://issues.apache.org/jira/browse/IGNITE-1089");
+
int ttl = 1000;
final ExpiryPolicy expiry = new TouchedExpiryPolicy(new Duration(TimeUnit.MILLISECONDS, ttl));
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
index ef0ab48..962e80d 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
@@ -104,9 +104,9 @@ public class GridCacheNearTxMultiNodeSelfTest extends GridCommonAbstractTest {
assert backupNode != otherNode;
assert priNode != otherNode;
- Ignite priIgnite = G.ignite(priNode.id());
- Ignite backupIgnite = G.ignite(backupNode.id());
- Ignite otherIgnite = G.ignite(otherNode.id());
+ final Ignite priIgnite = grid(priNode);
+ Ignite backupIgnite = grid(backupNode);
+ Ignite otherIgnite = grid(otherNode);
List<Ignite> ignites = F.asList(otherIgnite, priIgnite, backupIgnite);
@@ -152,8 +152,8 @@ public class GridCacheNearTxMultiNodeSelfTest extends GridCommonAbstractTest {
tx.close();
}
- G.stop(priIgnite.name(), true);
- G.stop(backupIgnite.name(), true);
+ stopGrid(priIgnite.name(), true);
+ stopGrid(backupIgnite.name(), true);
Ignite newIgnite = startGrid(GRID_CNT);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeFullApiSelfTest.java
index 30c9e8a..a5e7a31 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeFullApiSelfTest.java
@@ -28,7 +28,6 @@ import org.apache.ignite.internal.util.typedef.*;
import org.apache.ignite.lang.*;
import java.util.*;
-import java.util.concurrent.atomic.*;
import static org.apache.ignite.cache.CacheMode.*;
import static org.apache.ignite.cache.CachePeekMode.*;
@@ -135,7 +134,7 @@ public class GridCachePartitionedMultiNodeFullApiSelfTest extends GridCacheParti
for (int i = 0; i < gridCount(); i++)
info(">>>>> Grid" + i + ": " + grid(i).localNode().id());
- int size = 10;
+ final int size = 10;
IgniteCache<Object, Object> chache0 = grid(0).cache(null);
@@ -148,16 +147,20 @@ public class GridCachePartitionedMultiNodeFullApiSelfTest extends GridCacheParti
}
for (int i = 0; i < gridCount(); i++) {
- assertEquals(0, context(i).tm().idMapSize());
+ executeOnLocalOrRemoteJvm(i, new TestIgniteIdxRunnable() {
+ @Override public void run(int idx) throws Exception {
+ assertEquals(0, context(idx).tm().idMapSize());
- IgniteCache<Object, Object> cache = grid(i).cache(null);
- ClusterNode node = grid(i).localNode();
+ IgniteCache<Object, Object> cache = grid(idx).cache(null);
+ ClusterNode node = grid(idx).localNode();
- for (int k = 0; k < size; k++) {
- if (affinity(cache).isPrimaryOrBackup(node, k))
- assertEquals("Check failed for node: " + node.id(), k,
- cache.localPeek(k, CachePeekMode.ONHEAP, CachePeekMode.OFFHEAP));
- }
+ for (int k = 0; k < size; k++) {
+ if (affinity(cache).isPrimaryOrBackup(node, k))
+ assertEquals("Check failed for node: " + node.id(), k,
+ cache.localPeek(k, CachePeekMode.ONHEAP, CachePeekMode.OFFHEAP));
+ }
+ }
+ });
}
for (int i = 0; i < size; i++) {
@@ -179,21 +182,24 @@ public class GridCachePartitionedMultiNodeFullApiSelfTest extends GridCacheParti
if (memoryMode() == CacheMemoryMode.OFFHEAP_TIERED)
return;
- final AtomicInteger swapEvts = new AtomicInteger(0);
- final AtomicInteger unswapEvts = new AtomicInteger(0);
+ final IgniteAtomicLong swapEvts = grid(0).atomicLong("swapEvts", 0, true);
+
+ final IgniteAtomicLong unswapEvts = grid(0).atomicLong("unswapEvts", 0, true);
for (int i = 0; i < gridCount(); i++) {
+ final int iCopy = i;
+
grid(i).events().localListen(new IgnitePredicate<Event>() {
@Override public boolean apply(Event evt) {
info("Received event: " + evt);
switch (evt.type()) {
case EVT_CACHE_OBJECT_SWAPPED:
- swapEvts.incrementAndGet();
+ grid(iCopy).atomicLong("swapEvts", 0, false).incrementAndGet();
break;
case EVT_CACHE_OBJECT_UNSWAPPED:
- unswapEvts.incrementAndGet();
+ grid(iCopy).atomicLong("unswapEvts", 0, false).incrementAndGet();
break;
}
@@ -235,8 +241,13 @@ public class GridCachePartitionedMultiNodeFullApiSelfTest extends GridCacheParti
boolean nearEnabled = nearEnabled(c);
- if (nearEnabled)
- assertTrue(((IgniteKernal)ignite(i)).internalCache().context().isNear());
+ if (nearEnabled) {
+ executeOnLocalOrRemoteJvm(i, new TestIgniteIdxRunnable() {
+ @Override public void run(int idx) throws Exception {
+ assertTrue(((IgniteKernal)ignite(idx)).internalCache().context().isNear());
+ }
+ });
+ }
Integer nearPeekVal = nearEnabled ? 1 : null;
@@ -306,7 +317,7 @@ public class GridCachePartitionedMultiNodeFullApiSelfTest extends GridCacheParti
for (int i = 0; i < gridCount(); i++) {
IgniteEx ignite = grid(i);
- if (!ignite.configuration().isClientMode()) {
+ if (!Boolean.TRUE.equals(ignite.configuration().isClientMode())) {
if (ignite0 == null)
ignite0 = ignite;
else if (ignite1 == null)
@@ -396,7 +407,8 @@ public class GridCachePartitionedMultiNodeFullApiSelfTest extends GridCacheParti
}
};
- info("All affinity nodes: " + affinityNodes());
+ if (!isMultiJvm())
+ info("All affinity nodes: " + affinityNodes());
IgniteCache<Object, Object> cache = grid(0).cache(null);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicClientOnlyFairAffinityMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicClientOnlyFairAffinityMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicClientOnlyFairAffinityMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..e2ac8a7
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicClientOnlyFairAffinityMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicClientOnlyFairAffinityMultiJvmFullApiSelfTest
+ extends GridCacheAtomicClientOnlyFairAffinityMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicClientOnlyMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicClientOnlyMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicClientOnlyMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..dfffc70
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicClientOnlyMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicClientOnlyMultiJvmFullApiSelfTest extends
+ GridCacheAtomicClientOnlyMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicClientOnlyMultiJvmP2PDisabledFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicClientOnlyMultiJvmP2PDisabledFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicClientOnlyMultiJvmP2PDisabledFullApiSelfTest.java
new file mode 100644
index 0000000..2d8b9a5
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicClientOnlyMultiJvmP2PDisabledFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicClientOnlyMultiJvmP2PDisabledFullApiSelfTest extends
+ GridCacheAtomicClientOnlyMultiNodeP2PDisabledFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicCopyOnReadDisabledMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicCopyOnReadDisabledMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicCopyOnReadDisabledMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..1388a75
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicCopyOnReadDisabledMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicCopyOnReadDisabledMultiJvmFullApiSelfTest extends
+ GridCacheAtomicCopyOnReadDisabledMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicFairAffinityMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicFairAffinityMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicFairAffinityMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..5808f28
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicFairAffinityMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicFairAffinityMultiJvmFullApiSelfTest extends
+ GridCacheAtomicFairAffinityMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..0d6a1ce
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicMultiJvmFullApiSelfTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicMultiJvmFullApiSelfTest extends GridCacheAtomicMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicMultiJvmP2PDisabledFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicMultiJvmP2PDisabledFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicMultiJvmP2PDisabledFullApiSelfTest.java
new file mode 100644
index 0000000..0f35862
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicMultiJvmP2PDisabledFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicMultiJvmP2PDisabledFullApiSelfTest extends
+ GridCacheAtomicMultiNodeP2PDisabledFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearEnabledFairAffinityMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearEnabledFairAffinityMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearEnabledFairAffinityMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..44e0a6d
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearEnabledFairAffinityMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicNearEnabledFairAffinityMultiJvmFullApiSelfTest extends
+ GridCacheAtomicNearEnabledFairAffinityMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearEnabledMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearEnabledMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearEnabledMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..44f3c6f
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearEnabledMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicNearEnabledMultiJvmFullApiSelfTest extends
+ GridCacheAtomicNearEnabledMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearEnabledPrimaryWriteOrderMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearEnabledPrimaryWriteOrderMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearEnabledPrimaryWriteOrderMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..e23ab52
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearEnabledPrimaryWriteOrderMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicNearEnabledPrimaryWriteOrderMultiJvmFullApiSelfTest extends
+ GridCacheAtomicNearEnabledPrimaryWriteOrderMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearOnlyMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearOnlyMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearOnlyMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..a2850c2
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearOnlyMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicNearOnlyMultiJvmFullApiSelfTest extends
+ GridCacheAtomicNearOnlyMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearOnlyMultiJvmP2PDisabledFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearOnlyMultiJvmP2PDisabledFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearOnlyMultiJvmP2PDisabledFullApiSelfTest.java
new file mode 100644
index 0000000..f07d51d
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicNearOnlyMultiJvmP2PDisabledFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicNearOnlyMultiJvmP2PDisabledFullApiSelfTest extends
+ GridCacheAtomicNearOnlyMultiNodeP2PDisabledFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicOffHeapMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicOffHeapMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicOffHeapMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..8eb4db1
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicOffHeapMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicOffHeapMultiJvmFullApiSelfTest extends
+ GridCacheAtomicOffHeapMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicOffHeapTieredMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicOffHeapTieredMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicOffHeapTieredMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..185e8c7
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicOffHeapTieredMultiJvmFullApiSelfTest.java
@@ -0,0 +1,36 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicOffHeapTieredMultiJvmFullApiSelfTest
+ extends GridCacheAtomicOffHeapTieredMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void testLocalClearKeys() throws Exception {
+ fail("https://issues.apache.org/jira/browse/IGNITE-1107");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWriteOrderFairAffinityMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWriteOrderFairAffinityMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWriteOrderFairAffinityMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..421ce32
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWriteOrderFairAffinityMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicPrimaryWriteOrderFairAffinityMultiJvmFullApiSelfTest extends
+ GridCacheAtomicPrimaryWriteOrderFairAffinityMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWriteOrderMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWriteOrderMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWriteOrderMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..928b955
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWriteOrderMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicPrimaryWriteOrderMultiJvmFullApiSelfTest extends
+ GridCacheAtomicPrimaryWriteOrderMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWriteOrderMultiJvmP2PDisabledFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWriteOrderMultiJvmP2PDisabledFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWriteOrderMultiJvmP2PDisabledFullApiSelfTest.java
new file mode 100644
index 0000000..c805377
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWriteOrderMultiJvmP2PDisabledFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicPrimaryWriteOrderMultiJvmP2PDisabledFullApiSelfTest extends
+ GridCacheAtomicPrimaryWriteOrderMultiNodeP2PDisabledFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
[14/50] [abbrv] incubator-ignite git commit: Merge remote-tracking
branch 'remotes/origin/ignite-591'
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-591'
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/23dc8fc8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/23dc8fc8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/23dc8fc8
Branch: refs/heads/ignite-890
Commit: 23dc8fc87352bdb38a0ff7d01dab048c22ceae77
Parents: 6d6ec77 cfeec2d
Author: sevdokimov <se...@gridgain.com>
Authored: Wed Jul 8 15:57:06 2015 +0300
Committer: sevdokimov <se...@gridgain.com>
Committed: Wed Jul 8 15:57:06 2015 +0300
----------------------------------------------------------------------
.../configuration/CacheConfiguration.java | 4 ++
.../configuration/TransactionConfiguration.java | 23 +++++++
.../processors/cache/GridCacheAttributes.java | 3 +
.../processors/cache/GridCacheContext.java | 8 +--
.../processors/cache/GridCacheProcessor.java | 21 +++---
.../cache/GridCacheSharedContext.java | 15 +++-
.../cache/jta/CacheJtaManagerAdapter.java | 17 +++--
.../cache/jta/CacheNoopJtaManager.java | 2 +-
.../visor/cache/VisorCacheConfiguration.java | 11 ---
.../loadtests/hashmap/GridCacheTestContext.java | 4 +-
.../HibernateTransactionalDataRegion.java | 12 +++-
.../hibernate/HibernateL2CacheSelfTest.java | 7 +-
.../HibernateL2CacheTransactionalSelfTest.java | 5 --
.../apache/ignite/cache/jta/CacheTmLookup.java | 3 +-
.../processors/cache/jta/CacheJtaManager.java | 72 ++++++++++++++++++--
.../cache/jta/GridCacheXAResource.java | 16 ++---
.../processors/cache/GridCacheJtaSelfTest.java | 52 ++++++++++----
.../GridTmLookupLifecycleAwareSelfTest.java | 29 ++++++--
.../commands/cache/VisorCacheCommand.scala | 2 -
19 files changed, 211 insertions(+), 95 deletions(-)
----------------------------------------------------------------------
[29/50] [abbrv] incubator-ignite git commit: ignite-890: fixes
Posted by sb...@apache.org.
ignite-890: fixes
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/226b44ff
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/226b44ff
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/226b44ff
Branch: refs/heads/ignite-890
Commit: 226b44ff2034a6a55022bc7d8c5819d2c193b948
Parents: 97ab409
Author: Denis Magda <dm...@gridgain.com>
Authored: Thu Jul 9 17:10:18 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Thu Jul 9 17:10:18 2015 +0300
----------------------------------------------------------------------
.../ignite/spi/discovery/tcp/ClientImpl.java | 14 +++---
.../ignite/spi/discovery/tcp/ServerImpl.java | 47 ++++----------------
.../spi/discovery/tcp/TcpDiscoveryImpl.java | 22 ++++-----
.../tcp/TcpDiscoveryMultiThreadedTest.java | 2 +-
4 files changed, 27 insertions(+), 58 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/226b44ff/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index 68017a2..d138a6a 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -595,11 +595,11 @@ class ClientImpl extends TcpDiscoveryImpl {
NavigableSet<ClusterNode> allNodes = allVisibleNodes();
if (!topHist.containsKey(topVer)) {
-// assert topHist.isEmpty() || topHist.lastKey() == topVer - 1 :
-// "lastVer=" + (topHist.isEmpty() ? null : topHist.lastKey()) +
-// ", newVer=" + topVer +
-// ", locNode=" + locNode +
-// ", msg=" + msg;
+ assert topHist.isEmpty() || topHist.lastKey() == topVer - 1 :
+ "lastVer=" + (topHist.isEmpty() ? null : topHist.lastKey()) +
+ ", newVer=" + topVer +
+ ", locNode=" + locNode +
+ ", msg=" + msg;
topHist.put(topVer, allNodes);
@@ -782,8 +782,8 @@ class ClientImpl extends TcpDiscoveryImpl {
msg.senderNodeId(rmtNodeId);
-// if (log.isDebugEnabled())
- log.info("Message has been received: " + msg);
+ if (log.isDebugEnabled())
+ log.debug("Message has been received: " + msg);
spi.stats.onMessageReceived(msg);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/226b44ff/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index e398885..4d4b2a7 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -2000,7 +2000,7 @@ class ServerImpl extends TcpDiscoveryImpl {
if (debugMode)
debugLog("New next node [newNext=" + newNext + ", formerNext=" + next +
- ", ring=" + ring + ", failedNodes=" + failedNodes + ", coord= " + resolveCoordinator() + ']');
+ ", ring=" + ring + ", failedNodes=" + failedNodes + ']');
U.closeQuiet(sock);
@@ -2071,22 +2071,9 @@ class ServerImpl extends TcpDiscoveryImpl {
if (!next.id().equals(nextId)) {
// Node with different ID has bounded to the same port.
- //if (log.isDebugEnabled())
- log.info("Failed to restore ring because next node ID received is not as " +
- "expected [expectedId=" + next.id() + ", rcvdId=" + nextId + ", " +
- "locNode " + locNodeId + ", ring = " + ring + ']');
-
-// if (!dumping) {
-// synchronized (TcpDiscoverySpi.allSpis) {
-// dumping = true;
-// System.out.println("------------ Start dump ------ ");
-// for (TcpDiscoverySpi spi : TcpDiscoverySpi.allSpis)
-// spi.dumpDebugInfo();
-// }
-// System.out.println("------------- End dump -----------");
-//
-// System.exit(1);
-// }
+ if (log.isDebugEnabled())
+ log.debug("Failed to restore ring because next node ID received is not as " +
+ "expected [expectedId=" + next.id() + ", rcvdId=" + nextId + ']');
if (debugMode)
debugLog("Failed to restore ring because next node ID received is not as " +
@@ -3304,11 +3291,8 @@ class ServerImpl extends TcpDiscoveryImpl {
}
if (ring.node(msg.senderNodeId()) == null) {
-// if (log.isDebugEnabled())
- log.info("Discarding node left message since sender node is not in topology: " + msg);
-
- if (debugMode)
- debugLog("Discarding node left message since sender node is not in topology: " + msg);
+ if (log.isDebugEnabled())
+ log.debug("Discarding node left message since sender node is not in topology: " + msg);
return;
}
@@ -3321,11 +3305,8 @@ class ServerImpl extends TcpDiscoveryImpl {
}
}
else {
-// if (log.isDebugEnabled())
- log.info("Discarding node left message since node was not found: " + msg);
-
- if (debugMode)
- debugLog("Discarding node left message since node was not found: " + msg);
+ if (log.isDebugEnabled())
+ log.debug("Discarding node left message since node was not found: " + msg);
return;
}
@@ -3334,9 +3315,6 @@ class ServerImpl extends TcpDiscoveryImpl {
if (locNodeCoord) {
if (msg.verified()) {
- if (!locNode.id().equals(msg.verifierNodeId()))
- System.out.println("Fuck!!: [loc=" + locNode + ", verifier=" + msg.verifierNodeId());
-
spi.stats.onRingMessageReceived(msg);
addMessage(new TcpDiscoveryDiscardMessage(locNodeId, msg.id()));
@@ -3355,9 +3333,6 @@ class ServerImpl extends TcpDiscoveryImpl {
if (log.isDebugEnabled())
log.debug("Removed node from topology: " + leftNode);
- if (debugMode)
- debugLog("Removed node from topology: " + leftNode);
-
long topVer;
if (locNodeCoord) {
@@ -3393,9 +3368,6 @@ class ServerImpl extends TcpDiscoveryImpl {
if (log.isDebugEnabled())
log.debug("Sent verified node left message to leaving node: " + msg);
-
- if (debugMode)
- debugLog("Sent verified node left message to leaving node: " + msg);
}
catch (IgniteCheckedException | IOException e) {
if (log.isDebugEnabled())
@@ -3439,9 +3411,6 @@ class ServerImpl extends TcpDiscoveryImpl {
if (log.isDebugEnabled())
log.debug("Unable to send message across the ring (topology has no remote nodes): " + msg);
- if (debugMode)
- debugLog("Unable to send message across the ring (topology has no remote nodes): " + msg);
-
U.closeQuiet(sock);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/226b44ff/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
index 8fedce1..ace917f 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
@@ -95,17 +95,17 @@ abstract class TcpDiscoveryImpl {
protected void debugLog(String msg) {
assert debugMode;
-// String msg0 = new SimpleDateFormat("[HH:mm:ss,SSS]").format(new Date(System.currentTimeMillis())) +
-// '[' + Thread.currentThread().getName() + "][" + getLocalNodeId() +
-// "-" + locNode.internalOrder() + "] " +
-// msg;
-//
-// debugLog.add(msg0);
-//
-// int delta = debugLog.size() - debugMsgHist;
-//
-// for (int i = 0; i < delta && debugLog.size() > debugMsgHist; i++)
-// debugLog.poll();
+ String msg0 = new SimpleDateFormat("[HH:mm:ss,SSS]").format(new Date(System.currentTimeMillis())) +
+ '[' + Thread.currentThread().getName() + "][" + getLocalNodeId() +
+ "-" + locNode.internalOrder() + "] " +
+ msg;
+
+ debugLog.add(msg0);
+
+ int delta = debugLog.size() - debugMsgHist;
+
+ for (int i = 0; i < delta && debugLog.size() > debugMsgHist; i++)
+ debugLog.poll();
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/226b44ff/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 87d9304..2aca2fb 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -217,7 +217,7 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
return null;
}
},
- 1
+ GRID_CNT - 1
);
Thread.sleep(getTestTimeout() - 60 * 1000);
[47/50] [abbrv] incubator-ignite git commit: ignite-890: fix
Posted by sb...@apache.org.
ignite-890: fix
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/4201077f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/4201077f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/4201077f
Branch: refs/heads/ignite-890
Commit: 4201077f85ee814c812c0cf8e3848ec0ffcad563
Parents: dda7727
Author: Denis Magda <dm...@gridgain.com>
Authored: Tue Jul 14 13:53:06 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Tue Jul 14 13:53:06 2015 +0300
----------------------------------------------------------------------
.../managers/discovery/GridDiscoveryManager.java | 4 ++--
.../spi/communication/tcp/TcpCommunicationSpi.java | 14 +++++---------
.../apache/ignite/spi/discovery/tcp/ClientImpl.java | 16 +++++++++-------
.../apache/ignite/spi/discovery/tcp/ServerImpl.java | 16 +++++++++++-----
.../discovery/tcp/internal/TcpDiscoveryNode.java | 6 ++++++
.../tcp/TcpDiscoveryMultiThreadedTest.java | 2 +-
6 files changed, 34 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4201077f/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index eae07ed..80f7f98 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -1589,7 +1589,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
new Runnable() {
@Override public void run() {
ctx.markSegmented();
-
+ System.out.println("Stopping grid on segmentation: " + ctx.gridName());
G.stop(ctx.gridName(), true);
}
}
@@ -1896,7 +1896,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
segmented = true;
if (!isLocDaemon)
- U.warn(log, "Local node SEGMENTED: " + node);
+ U.warn(log, "Local node SEGMENTED: " + node + ", remote_nodes = " + getSpi().getRemoteNodes());
else if (log.isDebugEnabled())
log.debug("Local node SEGMENTED: " + node);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4201077f/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index dcc7037..423f4ef 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -1728,8 +1728,8 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
GridCommunicationClient client = clients.get(nodeId);
if (client == null) {
- //if (isNodeStopping())
- // throw new IgniteSpiException("Node is stopping.");
+ if (isNodeStopping())
+ throw new IgniteSpiException("Node is stopping.");
// Do not allow concurrent connects.
GridFutureAdapter<GridCommunicationClient> fut = new ConnectFuture();
@@ -1899,8 +1899,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
}
}
catch (IgniteCheckedException | RuntimeException | Error e) {
- if (!getSpiContext().localNode().isClient() && node.isClient())
- getSpiContext().tryFailNode(node.id(), "Killing client");
+ //tryFailClient(node, e);
if (log.isDebugEnabled())
log.debug(
@@ -2100,10 +2099,6 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
}
}
catch (Exception e) {
- if (X.hasCause(e, HandshakeFailureException.class) && node.isClient() &&
- !getSpiContext().isStopping())
- getSpiContext().tryFailNode(node.id(), "Killing client: " + e.getMessage());
-
if (client != null) {
client.forceClose();
@@ -2146,7 +2141,8 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
if (client == null) {
assert errs != null;
- if (X.hasCause(errs, ConnectException.class))
+// if (!tryFailClient(node, errs) && X.hasCause(errs, ConnectException.class))
+ if (X.hasCause(errs, ConnectException.class))
LT.warn(log, null, "Failed to connect to a remote node " +
"(make sure that destination node is alive and " +
"operating system firewall is disabled on local and remote hosts) " +
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4201077f/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index bb8d52d..467acc6 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -432,8 +432,10 @@ class ClientImpl extends TcpDiscoveryImpl {
}
if (addrs.isEmpty()) {
- if (timeout > 0 && (U.currentTimeMillis() - startTime) > timeout)
+ if (timeout > 0 && (U.currentTimeMillis() - startTime) > timeout) {
+ System.out.println("Client reconnect timeout: " + getLocalNodeId());
return null;
+ }
U.warn(log, "Failed to connect to any address from IP finder (will retry to join topology " +
"in 2000ms): " + addrs0);
@@ -595,11 +597,9 @@ class ClientImpl extends TcpDiscoveryImpl {
NavigableSet<ClusterNode> allNodes = allVisibleNodes();
if (!topHist.containsKey(topVer)) {
- assert topHist.isEmpty() || topHist.lastKey() == topVer - 1 :
- "lastVer=" + (topHist.isEmpty() ? null : topHist.lastKey()) +
- ", newVer=" + topVer +
- ", locNode=" + locNode +
- ", msg=" + msg;
+ if (!topHist.isEmpty() && topHist.lastKey() != topVer - 1)
+ log.warning("Missing particular topology version [lastVer=" + (topHist.isEmpty() ? null :
+ topHist.lastKey()) + ", newVer=" + topVer + ", locNode=" + locNode + ", msg=" + msg);
topHist.put(topVer, allNodes);
@@ -796,7 +796,7 @@ class ClientImpl extends TcpDiscoveryImpl {
catch (IOException e) {
msgWorker.addMessage(new SocketClosedMessage(sock));
- if (log.isDebugEnabled())
+ //if (log.isDebugEnabled())
U.error(log, "Connection failed [sock=" + sock + ", locNodeId=" + getLocalNodeId() + ']', e);
}
finally {
@@ -1151,6 +1151,7 @@ class ClientImpl extends TcpDiscoveryImpl {
if (((SocketClosedMessage)msg).sock == currSock) {
currSock = null;
+ System.out.println("Socket closed. Join latch: " + joinLatch.getCount() + ". Node: " + getLocalNodeId());
boolean join = joinLatch.getCount() > 0;
if (spi.getSpiContext().isStopping() || segmented) {
@@ -1165,6 +1166,7 @@ class ClientImpl extends TcpDiscoveryImpl {
else {
assert reconnector == null;
+ System.out.println("Starting reconnector: " + getLocalNodeId());
final Reconnector reconnector = new Reconnector(join);
this.reconnector = reconnector;
reconnector.start();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4201077f/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index 33abe55..cda026f 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -1710,8 +1710,6 @@ class ServerImpl extends TcpDiscoveryImpl {
if (res != null && msg.verified())
res.add(prepare(msg, node.id()));
- else
- log.info("(1) Skipping message with [topVer=" + msg.topologyVersion() + ", msg=" + msg + ']');
}
if (log.isDebugEnabled()) {
@@ -1738,8 +1736,6 @@ class ServerImpl extends TcpDiscoveryImpl {
}
else if (msg.verified())
cp.add(prepare(msg, node.id()));
- else
- log.info("(2) Skipping message with [topVer=" + msg.topologyVersion() + ", msg=" + msg + ']');
}
cp = !skip ? cp : null;
@@ -3769,9 +3765,19 @@ class ServerImpl extends TcpDiscoveryImpl {
if (clientNodeIds.contains(clientNode.id()))
clientNode.aliveCheck(spi.maxMissedClientHbs);
else {
+ if (!isLocalNodeCoordinator())
+ continue;
+
+ if (clientNode.aliveCheck() == 0)
+ // Node can just became coordinator without receiving any client heartbeat.
+ clientNode.aliveCheck(spi.maxMissedClientHbs);
+
int aliveCheck = clientNode.decrementAliveCheck();
- if (aliveCheck == 0 && isLocalNodeCoordinator()) {
+ if (aliveCheck == 0) {
+ // Make aliveCheck negative
+ clientNode.decrementAliveCheck();
+
processNodeFailedMessage(new TcpDiscoveryNodeFailedMessage(locNodeId,
clientNode.id(), clientNode.internalOrder()));
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4201077f/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
index 22f56c3..46844ba 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
@@ -427,6 +427,12 @@ public class TcpDiscoveryNode extends GridMetadataAwareAdapter implements Cluste
this.aliveCheck = aliveCheck;
}
+ public int aliveCheck() {
+ assert isClient();
+
+ return aliveCheck;
+ }
+
/**
* @return Client router node ID.
*/
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4201077f/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 61fe95d..4e5c68e 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -40,7 +40,7 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
private static final int GRID_CNT = 5;
/** */
- private static final int CLIENT_GRID_CNT = 5;
+ private static final int CLIENT_GRID_CNT = 1;
/** */
private static final ThreadLocal<Boolean> clientFlagPerThread = new ThreadLocal<>();
[50/50] [abbrv] incubator-ignite git commit: ignite-890: fixed
Posted by sb...@apache.org.
ignite-890: fixed
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/86b85455
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/86b85455
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/86b85455
Branch: refs/heads/ignite-890
Commit: 86b85455fcfb03958acf1db7cca4c62179989c2e
Parents: baeb924
Author: Denis Magda <dm...@gridgain.com>
Authored: Tue Jul 14 15:50:02 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Tue Jul 14 15:50:02 2015 +0300
----------------------------------------------------------------------
.../java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java | 8 +++++---
.../spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java | 2 +-
2 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/86b85455/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index 838b89a..3f05f59 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -594,9 +594,11 @@ class ClientImpl extends TcpDiscoveryImpl {
NavigableSet<ClusterNode> allNodes = allVisibleNodes();
if (!topHist.containsKey(topVer)) {
- if (!topHist.isEmpty() && topHist.lastKey() != topVer - 1)
- log.warning("Missing particular topology version [lastVer=" + (topHist.isEmpty() ? null :
- topHist.lastKey()) + ", newVer=" + topVer + ", locNode=" + locNode + ", msg=" + msg);
+ assert topHist.isEmpty() || topHist.lastKey() == topVer - 1 :
+ "lastVer=" + (topHist.isEmpty() ? null : topHist.lastKey()) +
+ ", newVer=" + topVer +
+ ", locNode=" + locNode +
+ ", msg=" + msg;
topHist.put(topVer, allNodes);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/86b85455/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index fa70828..9643235 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -146,7 +146,7 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
*/
public void testMultiThreadedClientsServersRestart() throws Exception {
fail("https://issues.apache.org/jira/browse/IGNITE-1123");
-
+
clientFlagGlobal = false;
info("Test timeout: " + (getTestTimeout() / (60 * 1000)) + " min.");
[19/50] [abbrv] incubator-ignite git commit: release notes
Posted by sb...@apache.org.
release notes
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/f13f5946
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/f13f5946
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/f13f5946
Branch: refs/heads/ignite-890
Commit: f13f5946beaae7115f2ca5796988624ac36c193a
Parents: 064d079
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Wed Jul 8 19:52:13 2015 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Wed Jul 8 19:52:13 2015 +0300
----------------------------------------------------------------------
RELEASE_NOTES.txt | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f13f5946/RELEASE_NOTES.txt
----------------------------------------------------------------------
diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
index bcfed27..ec8c4e6 100644
--- a/RELEASE_NOTES.txt
+++ b/RELEASE_NOTES.txt
@@ -6,6 +6,7 @@ Apache Ignite In-Memory Data Fabric 1.3
* Added auto-retries for cache operations in recoverable cases.
* Fixed several issues with JTA integration.
+* Fixed issue with GAR files in source release.
* Stability fixes for TCP discovery SPI.
* Stability fixes for onheap and offheap SQL queries.
* Bug fixes in In-Memory Accelerator For Apache Hadoop.
[36/50] [abbrv] incubator-ignite git commit: # ignite-648:
Implemented.
Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java
new file mode 100644
index 0000000..b15b6ef
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteCacheProcessProxy.java
@@ -0,0 +1,602 @@
+/*
+ * 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.testframework.junits.multijvm;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
+import org.apache.ignite.cache.query.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.internal.util.future.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.mxbean.*;
+import org.jetbrains.annotations.*;
+
+import javax.cache.*;
+import javax.cache.CacheManager;
+import javax.cache.configuration.*;
+import javax.cache.expiry.*;
+import javax.cache.integration.*;
+import javax.cache.processor.*;
+import java.util.*;
+import java.util.concurrent.locks.*;
+
+/**
+ * Ignite cache proxy for ignite instance at another JVM.
+ */
+@SuppressWarnings("TransientFieldInNonSerializableClass")
+public class IgniteCacheProcessProxy<K, V> implements IgniteCache<K, V> {
+ /** Compute. */
+ private final transient IgniteCompute compute;
+
+ /** Cache name. */
+ private final String cacheName;
+
+ /** Grid id. */
+ private final UUID gridId;
+
+ /** With async. */
+ private final boolean isAsync;
+
+ /** Ignite proxy. */
+ private final transient IgniteProcessProxy igniteProxy;
+
+ /**
+ * @param name Name.
+ * @param proxy Ignite Process Proxy.
+ */
+ public IgniteCacheProcessProxy(String name, IgniteProcessProxy proxy) {
+ this(name, false, proxy);
+ }
+
+ /**
+ * @param name Name.
+ * @param async
+ * @param proxy Ignite Process Proxy.
+ */
+ public IgniteCacheProcessProxy(String name, boolean async, IgniteProcessProxy proxy) {
+ cacheName = name;
+ isAsync = async;
+ gridId = proxy.getId();
+ igniteProxy = proxy;
+ compute = proxy.remoteCompute();
+ }
+
+ /**
+ * Returns cache instance. Method to be called from closure at another JVM.
+ *
+ * @return Cache.
+ */
+ private IgniteCache<Object, Object> cache() {
+ IgniteCache cache = Ignition.ignite(gridId).cache(cacheName);
+
+ if (isAsync)
+ cache = cache.withAsync();
+
+ return cache;
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteCache<K, V> withAsync() {
+ return new IgniteCacheProcessProxy<>(cacheName, true, igniteProxy);
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isAsync() {
+ return isAsync;
+ }
+
+ /** {@inheritDoc} */
+ @Override public <R> IgniteFuture<R> future() {
+ // Return fake future. Future should be called in the same place where operation done.
+ return new IgniteFinishedFutureImpl<>();
+ }
+
+ /** {@inheritDoc} */
+ @Override public <C extends Configuration<K, V>> C getConfiguration(final Class<C> clazz) {
+ final Class cl = clazz;
+
+ return (C)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().getConfiguration(cl);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public Entry<K, V> randomEntry() {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteCache<K, V> withExpiryPolicy(ExpiryPolicy plc) {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteCache<K, V> withSkipStore() {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ @Override public IgniteCache<K, V> withNoRetries() {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void loadCache(@Nullable IgniteBiPredicate<K, V> p, @Nullable Object... args) throws CacheException {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void localLoadCache(@Nullable final IgniteBiPredicate<K, V> p, @Nullable final Object... args) throws CacheException {
+ final IgniteBiPredicate pCopy = p;
+
+ compute.run(new IgniteRunnable() {
+ @Override public void run() {
+ cache().localLoadCache(pCopy, args);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public V getAndPutIfAbsent(final K key, final V val) throws CacheException {
+ return (V)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().getAndPutIfAbsent(key, val);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public Lock lock(K key) {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public Lock lockAll(Collection<? extends K> keys) {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isLocalLocked(final K key, final boolean byCurrThread) {
+ return compute.call(new IgniteCallable<Boolean>() {
+ @Override public Boolean call() throws Exception {
+ return cache().isLocalLocked(key, byCurrThread);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public <R> QueryCursor<R> query(Query<R> qry) {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @SuppressWarnings("unchecked")
+ @Override public Iterable<Entry<K, V>> localEntries(final CachePeekMode... peekModes) throws CacheException {
+ return (Iterable<Entry<K, V>>)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ Collection<Entry> res = new ArrayList<>();
+
+ for (Entry e : cache().localEntries(peekModes))
+ res.add(e);
+
+ return res;
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public QueryMetrics queryMetrics() {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void localEvict(final Collection<? extends K> keys) {
+ compute.run(new IgniteRunnable() {
+ @Override public void run() {
+ cache().localEvict(keys);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public V localPeek(final K key, final CachePeekMode... peekModes) {
+ return (V)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().localPeek(key, peekModes);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public void localPromote(Set<? extends K> keys) throws CacheException {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public int size(final CachePeekMode... peekModes) throws CacheException {
+ return (int)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().size(peekModes);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public int localSize(final CachePeekMode... peekModes) {
+ return (int)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().localSize(peekModes);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T> Map<K, EntryProcessorResult<T>> invokeAll(Map<? extends K, ? extends EntryProcessor<K, V, T>> map,
+ Object... args) {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public V get(final K key) {
+ return (V)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().get(key);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public Map<K, V> getAll(final Set<? extends K> keys) {
+ return (Map<K, V>)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().getAll(keys);
+ }
+ });
+ }
+
+ @Override public Map<K, V> getAllOutTx(final Set<? extends K> keys) {
+ return (Map<K, V>)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().getAllOutTx(keys);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean containsKey(final K key) {
+ return (boolean)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().containsKey(key);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public void loadAll(Set<? extends K> keys, boolean replaceExistingValues, CompletionListener completionLsnr) {
+ throw new UnsupportedOperationException("Oparetion can't be supported automatically.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean containsKeys(final Set<? extends K> keys) {
+ return (boolean)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().containsKeys(keys);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public void put(final K key, final V val) {;
+ compute.run(new IgniteRunnable() {
+ @Override public void run() {
+ cache().put(key, val);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public V getAndPut(final K key, final V val) {
+ return (V)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().getAndPut(key, val);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public void putAll(final Map<? extends K, ? extends V> map) {
+ compute.run(new IgniteRunnable() {
+ @Override public void run() {
+ cache().putAll(map);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean putIfAbsent(final K key, final V val) {
+ return (boolean)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().putIfAbsent(key, val);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean remove(final K key) {
+ return (boolean)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().remove(key);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean remove(final K key, final V oldVal) {
+ return (boolean)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().remove(key, oldVal);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public V getAndRemove(final K key) {
+ return (V)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().getAndRemove(key);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean replace(final K key, final V oldVal, final V newVal) {
+ return (boolean)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().replace(key, oldVal, newVal);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean replace(final K key, final V val) {
+ return (boolean)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().replace(key, val);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public V getAndReplace(final K key, final V val) {
+ return (V)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().getAndReplace(key, val);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public void removeAll(final Set<? extends K> keys) {
+ compute.run(new IgniteRunnable() {
+ @Override public void run() {
+ cache().removeAll(keys);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public void removeAll() {
+ compute.run(new IgniteRunnable() {
+ @Override public void run() {
+ IgniteCache<Object, Object> cache = cache();
+
+ cache.removeAll();
+
+ if (isAsync)
+ cache.future().get();
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public void clear() {
+ compute.run(new IgniteRunnable() {
+ @Override public void run() {
+ cache().clear();
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public void clear(final K key) {
+ compute.run(new IgniteRunnable() {
+ @Override public void run() {
+ cache().clear(key);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public void clearAll(final Set<? extends K> keys) {
+ compute.run(new IgniteRunnable() {
+ @Override public void run() {
+ cache().clearAll(keys);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public void localClear(final K key) {
+ compute.run(new IgniteRunnable() {
+ @Override public void run() {
+ cache().localClear(key);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public void localClearAll(final Set<? extends K> keys) {
+ compute.run(new IgniteRunnable() {
+ @Override public void run() {
+ cache().localClearAll(keys);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T> T invoke(final K key, final EntryProcessor<K, V, T> entryProcessor, final Object... arguments) {
+ return (T)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().invoke(key,
+ (EntryProcessor<Object, Object, Object>)entryProcessor, arguments);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T> T invoke(final K key, final CacheEntryProcessor<K, V, T> entryProcessor, final Object... arguments) {
+ return (T)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().invoke(key,
+ (CacheEntryProcessor<Object, Object, Object>)entryProcessor, arguments);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T> Map<K, EntryProcessorResult<T>> invokeAll(final Set<? extends K> keys, final EntryProcessor<K, V, T> entryProcessor,
+ final Object... args) {
+ return (Map<K, EntryProcessorResult<T>>)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().invokeAll(keys,
+ (EntryProcessor<Object, Object, Object>)entryProcessor, args);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public String getName() {
+ return (String)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().getName();
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheManager getCacheManager() {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void close() {
+ compute.run(new IgniteRunnable() {
+ @Override public void run() {
+ cache().close();
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public void destroy() {
+ compute.run(new IgniteRunnable() {
+ @Override public void run() {
+ cache().destroy();
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isClosed() {
+ return (boolean)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().isClosed();
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T> T unwrap(final Class<T> clazz) {
+ if (Ignite.class.equals(clazz))
+ return (T)igniteProxy;
+
+ try {
+ return (T)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return cache().unwrap(clazz);
+ }
+ });
+ }
+ catch (Exception e) {
+ throw new IllegalArgumentException("Looks like class " + clazz + " is unmarshallable. Exception type:" + e.getClass(), e);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public void registerCacheEntryListener(CacheEntryListenerConfiguration<K, V> cacheEntryListenerConfiguration) {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void deregisterCacheEntryListener(CacheEntryListenerConfiguration<K, V> cacheEntryListenerConfiguration) {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public Iterator<Entry<K, V>> iterator() {
+ final Collection<Entry<K, V>> col = (Collection<Entry<K, V>>)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ Collection res = new ArrayList();
+
+ for (Object o : cache())
+ res.add(o);
+
+ return res;
+ }
+ });
+
+ return col.iterator();
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T> Map<K, EntryProcessorResult<T>> invokeAll(Set<? extends K> keys,
+ CacheEntryProcessor<K, V, T> entryProcessor, Object... args) {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteFuture<?> rebalance() {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheMetrics metrics() {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheMetrics metrics(ClusterGroup grp) {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public CacheMetricsMXBean mxBean() {
+ throw new UnsupportedOperationException("Method should be supported.");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteClusterProcessProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteClusterProcessProxy.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteClusterProcessProxy.java
new file mode 100644
index 0000000..159c451
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteClusterProcessProxy.java
@@ -0,0 +1,320 @@
+/*
+ * 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.testframework.junits.multijvm;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.internal.cluster.*;
+import org.apache.ignite.lang.*;
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+import java.util.*;
+import java.util.concurrent.*;
+
+/**
+ * Proxy class for cluster at another JVM.
+ */
+@SuppressWarnings("TransientFieldInNonSerializableClass")
+public class IgniteClusterProcessProxy implements IgniteClusterEx {
+ /** Grid id. */
+ private final UUID gridId;
+
+ /** Compute. */
+ private final transient IgniteCompute compute;
+
+ /** */
+ private final IgniteProcessProxy proxy;
+
+ /**
+ * @param proxy Ignite Proxy.
+ */
+ public IgniteClusterProcessProxy(IgniteProcessProxy proxy) {
+ this.proxy = proxy;
+ gridId = proxy.getId();
+ compute = proxy.remoteCompute();
+ }
+
+ /**
+ * Returns cluster instance. Method to be called from closure at another JVM.
+ *
+ * @return Cache.
+ */
+ private IgniteClusterEx cluster() {
+ return (IgniteClusterEx)Ignition.ignite(gridId).cluster();
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroupEx forSubjectId(final UUID subjId) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forCacheNodes(@Nullable String cacheName, boolean affNodes, boolean nearNodes,
+ boolean clientNodes) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterNode localNode() {
+ return compute.call(new IgniteCallable<ClusterNode>() {
+ @Override public ClusterNode call() throws Exception {
+ return cluster().localNode();
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forLocal() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K, V> ConcurrentMap<K, V> nodeLocalMap() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean pingNode(UUID nodeId) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public long topologyVersion() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public Collection<ClusterNode> topology(long topVer) throws UnsupportedOperationException {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K> Map<ClusterNode, Collection<K>> mapKeysToNodes(@Nullable String cacheName,
+ @Nullable Collection<? extends K> keys) throws IgniteException {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K> ClusterNode mapKeyToNode(@Nullable String cacheName, K key) throws IgniteException {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public Collection<ClusterStartNodeResult> startNodes(File file, boolean restart, int timeout,
+ int maxConn) throws IgniteException {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public Collection<ClusterStartNodeResult> startNodes(Collection<Map<String, Object>> hosts,
+ @Nullable Map<String, Object> dflts, boolean restart, int timeout, int maxConn) throws IgniteException {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void stopNodes() throws IgniteException {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void stopNodes(Collection<UUID> ids) throws IgniteException {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void restartNodes() throws IgniteException {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void restartNodes(Collection<UUID> ids) throws IgniteException {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void resetMetrics() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteCluster withAsync() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isAsync() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <R> IgniteFuture<R> future() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public Ignite ignite() {
+ return proxy;
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forNodes(Collection<? extends ClusterNode> nodes) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forNode(ClusterNode node, ClusterNode... nodes) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forOthers(ClusterNode node, ClusterNode... nodes) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forOthers(ClusterGroup prj) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forNodeIds(Collection<UUID> ids) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forNodeId(UUID id, UUID... ids) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forPredicate(IgnitePredicate<ClusterNode> p) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forAttribute(String name, @Nullable Object val) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forServers() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forClients() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forCacheNodes(String cacheName) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forDataNodes(String cacheName) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forClientNodes(String cacheName) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forRemotes() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forHost(ClusterNode node) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forHost(String host, String... hosts) {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forDaemons() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forRandom() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forOldest() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup forYoungest() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public Collection<ClusterNode> nodes() {
+ return compute.call(new IgniteCallable<Collection<ClusterNode>>() {
+ @Override public Collection<ClusterNode> call() throws Exception {
+ return cluster().nodes();
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterNode node(final UUID nid) {
+ return compute.call(new IgniteCallable<ClusterNode>() {
+ @Override public ClusterNode call() throws Exception {
+ return cluster().node(nid);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterNode node() {
+ return compute.call(new IgniteCallable<ClusterNode>() {
+ @Override public ClusterNode call() throws Exception {
+ return cluster().node();
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public Collection<String> hostNames() {
+ return compute.call(new IgniteCallable<Collection<String>>() {
+ @Override public Collection<String> call() throws Exception {
+ return cluster().hostNames();
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgnitePredicate<ClusterNode> predicate() {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterMetrics metrics() throws IgniteException {
+ throw new UnsupportedOperationException("Operation is not supported yet.");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteEventsProcessProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteEventsProcessProxy.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteEventsProcessProxy.java
new file mode 100644
index 0000000..018aa8d
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteEventsProcessProxy.java
@@ -0,0 +1,148 @@
+/*
+ * 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.testframework.junits.multijvm;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.events.*;
+import org.apache.ignite.lang.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+
+/**
+ * Ignite events proxy for ignite instance at another JVM.
+ */
+@SuppressWarnings("TransientFieldInNonSerializableClass")
+public class IgniteEventsProcessProxy implements IgniteEvents {
+ /** Ignite proxy. */
+ private final transient IgniteProcessProxy igniteProxy;
+
+ /** Grid id. */
+ private final UUID gridId;
+
+ /**
+ * @param igniteProxy Ignite proxy.
+ */
+ public IgniteEventsProcessProxy(IgniteProcessProxy igniteProxy) {
+ this.igniteProxy = igniteProxy;
+
+ gridId = igniteProxy.getId();
+ }
+
+ /**
+ * @return Events instance.
+ */
+ private IgniteEvents events() {
+ return Ignition.ignite(gridId).events();
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterGroup clusterGroup() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T extends Event> List<T> remoteQuery(IgnitePredicate<T> p, long timeout,
+ @Nullable int... types) throws IgniteException {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T extends Event> UUID remoteListen(@Nullable IgniteBiPredicate<UUID, T> locLsnr,
+ @Nullable IgnitePredicate<T> rmtFilter, @Nullable int... types) throws IgniteException {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T extends Event> UUID remoteListen(int bufSize, long interval, boolean autoUnsubscribe,
+ @Nullable IgniteBiPredicate<UUID, T> locLsnr, @Nullable IgnitePredicate<T> rmtFilter,
+ @Nullable int... types) throws IgniteException {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void stopRemoteListen(UUID opId) throws IgniteException {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T extends Event> T waitForLocal(@Nullable IgnitePredicate<T> filter,
+ @Nullable int... types) throws IgniteException {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T extends Event> Collection<T> localQuery(IgnitePredicate<T> p, @Nullable int... types) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void recordLocal(Event evt) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void localListen(final IgnitePredicate<? extends Event> lsnr, final int... types) {
+ igniteProxy.remoteCompute().run(new IgniteRunnable() {
+ @Override public void run() {
+ events().localListen(lsnr, types);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean stopLocalListen(IgnitePredicate<? extends Event> lsnr, @Nullable int... types) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void enableLocal(int... types) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void disableLocal(int... types) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public int[] enabledEvents() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isEnabled(int type) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteEvents withAsync() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isAsync() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <R> IgniteFuture<R> future() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteNodeRunner.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteNodeRunner.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteNodeRunner.java
new file mode 100644
index 0000000..2703d2b
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteNodeRunner.java
@@ -0,0 +1,184 @@
+/*
+ * 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.testframework.junits.multijvm;
+
+import com.thoughtworks.xstream.*;
+import org.apache.ignite.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.cache.*;
+import org.apache.ignite.internal.util.*;
+import org.apache.ignite.internal.util.typedef.*;
+import org.apache.ignite.internal.util.typedef.internal.*;
+import org.apache.ignite.marshaller.optimized.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import sun.jvmstat.monitor.*;
+
+import java.io.*;
+import java.lang.reflect.*;
+import java.util.*;
+
+/**
+ * Run ignite node.
+ */
+public class IgniteNodeRunner {
+ /** */
+ private static final String IGNITE_CONFIGURATION_FILE = System.getProperty("java.io.tmpdir") +
+ File.separator + "igniteConfiguration.tmp_";
+
+ /** */
+ private static volatile Ignite ignite;
+
+ /**
+ * Starts {@link Ignite} instance accorging to given arguments.
+ *
+ * @param args Arguments.
+ * @throws Exception If failed.
+ */
+ public static void main(String[] args) throws Exception {
+ X.println(GridJavaProcess.PID_MSG_PREFIX + U.jvmPid());
+
+ X.println("Starting Ignite Node... Args=" + Arrays.toString(args));
+
+ IgniteConfiguration cfg = readCfgFromFileAndDeleteFile(args[0]);
+
+ ignite = Ignition.start(cfg);
+ }
+
+ /**
+ * @return Ignite instance started at main.
+ */
+ public static IgniteEx startedInstance(){
+ return (IgniteEx)ignite;
+ }
+
+ /**
+ * @return <code>True</code> if there is ignite node started via {@link IgniteNodeRunner} at this JVM.
+ */
+ public static boolean hasStartedInstance() {
+ return ignite != null;
+ }
+
+ /**
+ * Stores {@link IgniteConfiguration} to file as xml.
+ *
+ * @param cfg Ignite Configuration.
+ * @return A name of file where the configuration was stored.
+ * @throws IOException If failed.
+ * @see #readCfgFromFileAndDeleteFile(String)
+ */
+ public static String storeToFile(IgniteConfiguration cfg) throws IOException {
+ String fileName = IGNITE_CONFIGURATION_FILE + cfg.getNodeId();
+
+ // Check marshaller configuration, because read configuration method expect specific marshaller.
+ if (cfg.getMarshaller() instanceof OptimizedMarshaller){
+ OptimizedMarshaller marsh = (OptimizedMarshaller)cfg.getMarshaller();
+
+ try {
+ Field isRequireFiled = marsh.getClass().getDeclaredField("requireSer");
+
+ isRequireFiled.setAccessible(true);
+
+ boolean isRequireSer = isRequireFiled.getBoolean(marsh);
+
+ if (isRequireSer)
+ throw new UnsupportedOperationException("Unsupported marshaller configuration. " +
+ "readCfgFromFileAndDeleteFile method expect " + OptimizedMarshaller.class.getSimpleName() +
+ "with requireSerializeble flag in 'false'.");
+ }
+ catch (NoSuchFieldException|IllegalAccessException e) {
+ throw new IgniteException("Failed to check filed of " + OptimizedMarshaller.class.getSimpleName(), e);
+ }
+ }
+ else
+ throw new UnsupportedOperationException("Unsupported marshaller. " +
+ "readCfgFromFileAndDeleteFile method expect " + OptimizedMarshaller.class.getSimpleName());
+
+ try(OutputStream out = new BufferedOutputStream(new FileOutputStream(fileName))) {
+ cfg.setMBeanServer(null);
+ cfg.setMarshaller(null);
+ cfg.setDiscoverySpi(null);
+ cfg.setGridLogger(null);
+
+ new XStream().toXML(cfg, out);
+ }
+
+ return fileName;
+ }
+
+ /**
+ * Reads configuration from given file and delete the file after.
+ *
+ * @param fileName File name.
+ * @return Readed configuration.
+ * @throws IOException If failed.
+ * @see #storeToFile(IgniteConfiguration)
+ */
+ private static IgniteConfiguration readCfgFromFileAndDeleteFile(String fileName) throws IOException {
+ try(BufferedReader cfgReader = new BufferedReader(new FileReader(fileName))) {
+ IgniteConfiguration cfg = (IgniteConfiguration)new XStream().fromXML(cfgReader);
+
+ cfg.setMarshaller(new OptimizedMarshaller(false));
+
+ TcpDiscoverySpi disco = new TcpDiscoverySpi();
+ disco.setIpFinder(GridCacheAbstractFullApiSelfTest.LOCAL_IP_FINDER);
+ cfg.setDiscoverySpi(disco);
+
+ return cfg;
+ }
+ finally {
+ new File(fileName).delete();
+ }
+ }
+
+ /**
+ * Kill all Jvm runned by {#link IgniteNodeRunner}. Works based on jps command.
+ *
+ * @return List of killed process ids.
+ * @throws Exception If exception.
+ */
+ public static List<Integer> killAll() throws Exception{
+ MonitoredHost monitoredHost = MonitoredHost.getMonitoredHost(new HostIdentifier("localhost"));
+
+ Set<Integer> jvms = monitoredHost.activeVms();
+
+ List<Integer> res = new ArrayList<>();
+
+ for (Integer jvmId : jvms) {
+ try {
+ MonitoredVm vm = monitoredHost.getMonitoredVm(new VmIdentifier("//" + jvmId + "?mode=r"), 0);
+
+ if (IgniteNodeRunner.class.getName().equals(MonitoredVmUtil.mainClass(vm, true))) {
+ Process killProc = U.isWindows() ?
+ Runtime.getRuntime().exec(new String[] {"taskkill", "/pid", jvmId.toString(), "/f", "/t"}) :
+ Runtime.getRuntime().exec(new String[] {"kill", "-9", jvmId.toString()});
+
+ killProc.waitFor();
+
+ res.add(jvmId);
+ }
+ }
+ catch (Exception e) {
+ // Print stack trace just for information.
+ X.printerrln("Could not kill IgniteNodeRunner java processes. Jvm pid = " + jvmId, e);
+ }
+ }
+
+ return res;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
new file mode 100644
index 0000000..220424a
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/IgniteProcessProxy.java
@@ -0,0 +1,571 @@
+/*
+ * 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.testframework.junits.multijvm;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cache.affinity.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.events.*;
+import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.cluster.*;
+import org.apache.ignite.internal.processors.cache.*;
+import org.apache.ignite.internal.processors.hadoop.*;
+import org.apache.ignite.internal.util.*;
+import org.apache.ignite.internal.util.lang.*;
+import org.apache.ignite.internal.util.typedef.*;
+import org.apache.ignite.internal.util.typedef.internal.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.plugin.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+import java.util.concurrent.*;
+
+/**
+ * Ignite proxy for ignite instance at another JVM.
+ */
+@SuppressWarnings("TransientFieldInNonSerializableClass")
+public class IgniteProcessProxy implements IgniteEx {
+ /** Grid proxies. */
+ private static final transient ConcurrentMap<String, IgniteProcessProxy> gridProxies = new ConcurrentHashMap<>();
+
+ /** Jvm process with ignite instance. */
+ private final transient GridJavaProcess proc;
+
+ /** Configuration. */
+ private final transient IgniteConfiguration cfg;
+
+ /** Local JVM grid. */
+ private final transient Ignite locJvmGrid;
+
+ /** Logger. */
+ private final transient IgniteLogger log;
+
+ /** Grid id. */
+ private final UUID id = UUID.randomUUID();
+
+ /**
+ * @param cfg Configuration.
+ * @param log Logger.
+ * @param locJvmGrid Local JVM grid.
+ */
+ public IgniteProcessProxy(final IgniteConfiguration cfg, final IgniteLogger log, final Ignite locJvmGrid)
+ throws Exception {
+ this.cfg = cfg;
+ this.locJvmGrid = locJvmGrid;
+ this.log = log.getLogger("jvm-" + id.toString().substring(0, id.toString().indexOf('-')));
+
+ String cfgFileName = IgniteNodeRunner.storeToFile(cfg.setNodeId(id));
+
+ List<String> jvmArgs = U.jvmArgs();
+
+ Collection<String> filteredJvmArgs = new ArrayList<>();
+
+ for (String arg : jvmArgs) {
+ if(!arg.toLowerCase().startsWith("-agentlib"))
+ filteredJvmArgs.add(arg);
+ }
+
+ final CountDownLatch rmtNodeStartedLatch = new CountDownLatch(1);
+
+ locJvmGrid.events().localListen(new NodeStartedListener(id, rmtNodeStartedLatch), EventType.EVT_NODE_JOINED);
+
+ proc = GridJavaProcess.exec(
+ IgniteNodeRunner.class,
+ cfgFileName, // Params.
+ this.log,
+ // Optional closure to be called each time wrapped process prints line to system.out or system.err.
+ new IgniteInClosure<String>() {
+ @Override public void apply(String s) {
+ IgniteProcessProxy.this.log.info(s);
+ }
+ },
+ null,
+ filteredJvmArgs, // JVM Args.
+ System.getProperty("surefire.test.class.path")
+ );
+
+ assert rmtNodeStartedLatch.await(30, TimeUnit.SECONDS): "Remote node has not joined [id=" + id + ']';
+
+ IgniteProcessProxy prevVal = gridProxies.putIfAbsent(cfg.getGridName(), this);
+
+ if (prevVal != null) {
+ remoteCompute().run(new IgniteRunnable() {
+ @Override public void run() {
+ G.stop(cfg.getGridName(), true);
+ }
+ });
+
+ throw new IllegalStateException("There was found instance assotiated with " + cfg.getGridName() +
+ ", instance= " + prevVal + ". New started node was stopped.");
+ }
+ }
+
+ /**
+ */
+ private static class NodeStartedListener extends IgnitePredicateX<Event> {
+ /** Id. */
+ private final UUID id;
+
+ /** Remote node started latch. */
+ private final CountDownLatch rmtNodeStartedLatch;
+
+ /**
+ * @param id Id.
+ * @param rmtNodeStartedLatch Remote node started latch.
+ */
+ NodeStartedListener(UUID id, CountDownLatch rmtNodeStartedLatch) {
+ this.id = id;
+ this.rmtNodeStartedLatch = rmtNodeStartedLatch;
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean applyx(Event e) {
+ if (((DiscoveryEvent)e).eventNode().id().equals(id)) {
+ rmtNodeStartedLatch.countDown();
+
+ return false;
+ }
+
+ return true;
+ }
+ }
+
+ /**
+ * @param gridName Grid name.
+ * @return Instance by name or exception wiil be thrown.
+ */
+ public static IgniteProcessProxy ignite(String gridName) {
+ IgniteProcessProxy res = gridProxies.get(gridName);
+
+ if (res == null)
+ throw new IgniteIllegalStateException("Grid instance was not properly started " +
+ "or was already stopped: " + gridName + ". All known grid instances: " + gridProxies.keySet());
+
+ return res;
+ }
+
+ /**
+ * @param gridName Grid name.
+ * @param cancel Cacnel flag.
+ */
+ public static void stop(final String gridName, final boolean cancel) {
+ IgniteProcessProxy proxy = gridProxies.get(gridName);
+
+ if (proxy != null) {
+ proxy.remoteCompute().run(new IgniteRunnable() {
+ @Override public void run() {
+ G.stop(gridName, cancel);
+ }
+ });
+
+ gridProxies.remove(gridName, proxy);
+ }
+ }
+
+ /**
+ * For usage in closures.
+ *
+ * @return Ignite instance.
+ */
+ private Ignite igniteById() {
+ return Ignition.ignite(id);
+ }
+
+ /**
+ * @param locNodeId ID of local node the requested grid instance is managing.
+ * @return An instance of named grid. This method never returns {@code null}.
+ * @throws IgniteIllegalStateException Thrown if grid was not properly initialized or grid instance was stopped or
+ * was not started.
+ */
+ public static Ignite ignite(UUID locNodeId) {
+ A.notNull(locNodeId, "locNodeId");
+
+ for (IgniteProcessProxy ignite : gridProxies.values()) {
+ if (ignite.getId().equals(locNodeId))
+ return ignite;
+ }
+
+ throw new IgniteIllegalStateException("Grid instance with given local node ID was not properly " +
+ "started or was stopped: " + locNodeId);
+ }
+
+ /**
+ * Kill all running processes.
+ */
+ public static void killAll() {
+ for (IgniteProcessProxy ignite : gridProxies.values()) {
+ try {
+ ignite.getProcess().kill();
+ }
+ catch (Exception e) {
+ U.error(ignite.log, "Killing failed.", e);
+ }
+ }
+
+ gridProxies.clear();
+ }
+
+ /**
+ * @return Local JVM grid instance.
+ */
+ public Ignite localJvmGrid() {
+ return locJvmGrid;
+ }
+
+ /**
+ * @return Grid id.
+ */
+ public UUID getId() {
+ return id;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String name() {
+ return cfg.getGridName();
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteLogger log() {
+ return log;
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteConfiguration configuration() {
+ return cfg;
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K extends GridCacheUtilityKey, V> IgniteInternalCache<K, V> utilityCache() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public <K, V> IgniteInternalCache<K, V> cachex(@Nullable String name) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public <K, V> IgniteInternalCache<K, V> cachex() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public Collection<IgniteInternalCache<?, ?>> cachesx(
+ @Nullable IgnitePredicate<? super IgniteInternalCache<?, ?>>... p) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean eventUserRecordable(int type) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean allEventsUserRecordable(int[] types) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isJmxRemoteEnabled() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isRestartEnabled() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public IgniteFileSystem igfsx(@Nullable String name) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public Hadoop hadoop() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteClusterEx cluster() {
+ return new IgniteClusterProcessProxy(this);
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public String latestVersion() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterNode localNode() {
+ return remoteCompute().call(new IgniteCallable<ClusterNode>() {
+ @Override public ClusterNode call() throws Exception {
+ return ((IgniteEx)Ignition.ignite(id)).localNode();
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public GridKernalContext context() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteCompute compute() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteCompute compute(ClusterGroup grp) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteMessaging message() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteMessaging message(ClusterGroup grp) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteEvents events() {
+ return new IgniteEventsProcessProxy(this);
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteEvents events(ClusterGroup grp) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteServices services() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteServices services(ClusterGroup grp) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ExecutorService executorService() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public ExecutorService executorService(ClusterGroup grp) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteProductVersion version() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteScheduler scheduler() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K, V> IgniteCache<K, V> createCache(CacheConfiguration<K, V> cacheCfg) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K, V> IgniteCache<K, V> createCache(String cacheName) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K, V> IgniteCache<K, V> getOrCreateCache(CacheConfiguration<K, V> cacheCfg) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K, V> IgniteCache<K, V> getOrCreateCache(String cacheName) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K, V> void addCacheConfiguration(CacheConfiguration<K, V> cacheCfg) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K, V> IgniteCache<K, V> createCache(CacheConfiguration<K, V> cacheCfg,
+ NearCacheConfiguration<K, V> nearCfg) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K, V> IgniteCache<K, V> getOrCreateCache(CacheConfiguration<K, V> cacheCfg,
+ NearCacheConfiguration<K, V> nearCfg) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K, V> IgniteCache<K, V> createNearCache(@Nullable String cacheName, NearCacheConfiguration<K, V> nearCfg) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K, V> IgniteCache<K, V> getOrCreateNearCache(@Nullable String cacheName,
+ NearCacheConfiguration<K, V> nearCfg) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void destroyCache(String cacheName) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K, V> IgniteCache<K, V> cache(@Nullable final String name) {
+ return new IgniteCacheProcessProxy<>(name, this);
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteTransactions transactions() {
+ throw new UnsupportedOperationException("Transactions can't be supported automatically in multi JVM mode.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K, V> IgniteDataStreamer<K, V> dataStreamer(@Nullable String cacheName) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteFileSystem fileSystem(String name) {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public Collection<IgniteFileSystem> fileSystems() {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteAtomicSequence atomicSequence(String name, long initVal, boolean create) throws IgniteException {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteAtomicLong atomicLong(String name, long initVal, boolean create) throws IgniteException {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T> IgniteAtomicReference<T> atomicReference(String name, @Nullable T initVal,
+ boolean create) throws IgniteException {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T, S> IgniteAtomicStamped<T, S> atomicStamped(String name, @Nullable T initVal, @Nullable S initStamp,
+ boolean create) throws IgniteException {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public IgniteCountDownLatch countDownLatch(String name, int cnt, boolean autoDel,
+ boolean create) throws IgniteException {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T> IgniteQueue<T> queue(String name, int cap,
+ @Nullable CollectionConfiguration cfg) throws IgniteException {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T> IgniteSet<T> set(String name, @Nullable CollectionConfiguration cfg) throws IgniteException {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public <T extends IgnitePlugin> T plugin(String name) throws PluginNotFoundException {
+ throw new UnsupportedOperationException("Operation isn't supported yet.");
+ }
+
+ /** {@inheritDoc} */
+ @Override public void close() throws IgniteException {
+ final CountDownLatch rmtNodeStoppedLatch = new CountDownLatch(1);
+
+ locJvmGrid.events().localListen(new IgnitePredicateX<Event>() {
+ @Override public boolean applyx(Event e) {
+ if (((DiscoveryEvent)e).eventNode().id().equals(id)) {
+ rmtNodeStoppedLatch.countDown();
+
+ return false;
+ }
+
+ return true;
+ }
+ }, EventType.EVT_NODE_LEFT, EventType.EVT_NODE_FAILED);
+
+ compute().run(new IgniteRunnable() {
+ @Override public void run() {
+ igniteById().close();
+ }
+ });
+
+ try {
+ assert U.await(rmtNodeStoppedLatch, 15, TimeUnit.SECONDS) : "NodeId=" + id;
+ }
+ catch (IgniteInterruptedCheckedException e) {
+ throw new IgniteException(e);
+ }
+
+ try {
+ getProcess().kill();
+ }
+ catch (Exception e) {
+ X.printerr("Could not kill process after close.", e);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public <K> Affinity<K> affinity(String cacheName) {
+ return new AffinityProcessProxy<>(cacheName, this);
+ }
+
+ /**
+ * @return Jvm process in which grid node started.
+ */
+ public GridJavaProcess getProcess() {
+ return proc;
+ }
+
+ /**
+ * @return {@link IgniteCompute} instance to communicate with remote node.
+ */
+ public IgniteCompute remoteCompute() {
+ ClusterGroup grp = locJvmGrid.cluster().forNodeId(id);
+
+ if (grp.nodes().isEmpty())
+ throw new IllegalStateException("Could not found node with id=" + id + ".");
+
+ return locJvmGrid.compute(grp);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiMultiJvmSelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiMultiJvmSelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiMultiJvmSelfTestSuite.java
new file mode 100644
index 0000000..272305b
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiMultiJvmSelfTestSuite.java
@@ -0,0 +1,89 @@
+/*
+ * 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.testsuites;
+
+import junit.framework.*;
+import org.apache.ignite.internal.processors.cache.multijvm.*;
+
+/**
+ * Multi-JVM test suite.
+ */
+public class IgniteCacheFullApiMultiJvmSelfTestSuite extends TestSuite {
+ /**
+ * @return Multi-JVM tests suite.
+ * @throws Exception If failed.
+ */
+ public static TestSuite suite() throws Exception {
+ TestSuite suite = new TestSuite("Cache Full API Multi Jvm Test Suite");
+
+ // Multi-node.
+ suite.addTestSuite(GridCacheReplicatedMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheReplicatedMultiJvmP2PDisabledFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheReplicatedAtomicMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheReplicatedAtomicPrimaryWriteOrderMultiJvmFullApiSelfTest.class);
+
+ suite.addTestSuite(GridCachePartitionedMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCachePartitionedCopyOnReadDisabledMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicCopyOnReadDisabledMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicPrimaryWriteOrderMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCachePartitionedMultiJvmP2PDisabledFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicMultiJvmP2PDisabledFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicPrimaryWriteOrderMultiJvmP2PDisabledFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicNearEnabledMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicNearEnabledPrimaryWriteOrderMultiJvmFullApiSelfTest.class);
+
+ suite.addTestSuite(GridCachePartitionedNearDisabledMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCachePartitionedNearDisabledMultiJvmP2PDisabledFullApiSelfTest.class);
+
+ suite.addTestSuite(GridCacheNearOnlyMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheNearOnlyMultiJvmP2PDisabledFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheReplicatedNearOnlyMultiJvmFullApiSelfTest.class);
+
+ suite.addTestSuite(GridCacheAtomicClientOnlyMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicClientOnlyMultiJvmP2PDisabledFullApiSelfTest.class);
+
+ suite.addTestSuite(GridCacheAtomicNearOnlyMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicNearOnlyMultiJvmP2PDisabledFullApiSelfTest.class);
+
+ suite.addTestSuite(GridCachePartitionedFairAffinityMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCachePartitionedNearDisabledFairAffinityMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicFairAffinityMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicNearEnabledFairAffinityMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicPrimaryWriteOrderFairAffinityMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheNearOnlyFairAffinityMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicClientOnlyFairAffinityMultiJvmFullApiSelfTest.class);
+
+ // Multi-node with off-heap values.
+ suite.addTestSuite(GridCacheReplicatedOffHeapMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCachePartitionedOffHeapMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicOffHeapMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicPrimaryWrityOrderOffHeapMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCachePartitionedNearDisabledOffHeapMultiJvmFullApiSelfTest.class);
+
+ // Multi-node with off-heap tiered mode.
+ suite.addTestSuite(GridCacheReplicatedOffHeapTieredMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCachePartitionedOffHeapTieredMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicOffHeapTieredMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCacheAtomicPrimaryWrityOrderOffHeapTieredMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCachePartitionedNearDisabledOffHeapTieredMultiJvmFullApiSelfTest.class);
+ suite.addTestSuite(GridCachePartitionedNearDisabledAtomicOffHeapTieredMultiJvmFullApiSelfTest.class);
+
+ return suite;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index bfa9f62..dbaa330 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -720,5 +720,45 @@
</plugins>
</build>
</profile>
+
+ <profile>
+ <id>tools.jar-default</id>
+
+ <activation>
+ <file>
+ <exists>${java.home}/../lib/tools.jar</exists>
+ </file>
+ </activation>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.sun</groupId>
+ <artifactId>tools</artifactId>
+ <version>1.4.2</version>
+ <scope>system</scope>
+ <systemPath>${java.home}/../lib/tools.jar</systemPath>
+ </dependency>
+ </dependencies>
+ </profile>
+
+ <profile>
+ <id>tools.jar-mac</id>
+
+ <activation>
+ <file>
+ <exists>${java.home}/../Classes/classes.jar</exists>
+ </file>
+ </activation>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.sun</groupId>
+ <artifactId>tools</artifactId>
+ <version>1.4.2</version>
+ <scope>system</scope>
+ <systemPath>${java.home}/../Classes/classes.jar</systemPath>
+ </dependency>
+ </dependencies>
+ </profile>
</profiles>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index b47d34b..9d1b7d9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -678,7 +678,6 @@
</build>
</profile>
-
<profile>
<id>schema-import</id>
<activation>
[13/50] [abbrv] incubator-ignite git commit: # Fixed unmarshalling
error handling for cache 'get'
Posted by sb...@apache.org.
# Fixed unmarshalling error handling for cache 'get'
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6d6ec778
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6d6ec778
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6d6ec778
Branch: refs/heads/ignite-890
Commit: 6d6ec778b43d730dd19001011aaaa49ec86c5d20
Parents: 94a42a4
Author: sboikov <sb...@gridgain.com>
Authored: Wed Jul 8 15:08:33 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Wed Jul 8 15:08:33 2015 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheIoManager.java | 8 ++-
.../distributed/near/GridNearGetFuture.java | 4 +-
.../cache/CacheFutureExceptionSelfTest.java | 72 +++++++++++++++++---
3 files changed, 71 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6d6ec778/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
index 0707096..29e3551 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
@@ -445,8 +445,7 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
case 50: {
GridNearGetResponse res = (GridNearGetResponse)msg;
- GridPartitionedGetFuture fut = (GridPartitionedGetFuture)ctx.mvcc().future(
- res.version(), res.futureId());
+ GridCacheFuture fut = ctx.mvcc().future(res.version(), res.futureId());
if (fut == null) {
if (log.isDebugEnabled())
@@ -457,7 +456,10 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
res.error(res.classError());
- fut.onResult(nodeId, res);
+ if (fut instanceof GridNearGetFuture)
+ ((GridNearGetFuture)fut).onResult(nodeId, res);
+ else
+ ((GridPartitionedGetFuture)fut).onResult(nodeId, res);
}
break;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6d6ec778/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
index 74438bb..58f6fe5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
@@ -223,7 +223,7 @@ public final class GridNearGetFuture<K, V> extends GridCompoundIdentityFuture<Ma
* @param nodeId Sender.
* @param res Result.
*/
- void onResult(UUID nodeId, GridNearGetResponse res) {
+ public void onResult(UUID nodeId, GridNearGetResponse res) {
for (IgniteInternalFuture<Map<K, V>> fut : futures())
if (isMini(fut)) {
MiniFuture f = (MiniFuture)fut;
@@ -649,7 +649,7 @@ public final class GridNearGetFuture<K, V> extends GridCompoundIdentityFuture<Ma
if (log.isDebugEnabled())
log.debug("Got removed entry while processing get response (will not retry).");
}
- catch (IgniteCheckedException e) {
+ catch (Exception e) {
// Fail.
onDone(e);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6d6ec778/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheFutureExceptionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheFutureExceptionSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheFutureExceptionSelfTest.java
index 34d2daa..372c859 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheFutureExceptionSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheFutureExceptionSelfTest.java
@@ -20,6 +20,9 @@ package org.apache.ignite.internal.processors.cache;
import org.apache.ignite.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.lang.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.apache.ignite.testframework.junits.common.*;
import javax.cache.*;
@@ -32,31 +35,82 @@ import static java.util.concurrent.TimeUnit.*;
* Cache future self test.
*/
public class CacheFutureExceptionSelfTest extends GridCommonAbstractTest {
+ /** */
+ private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
+
+ /** */
+ private static volatile boolean fail;
+
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
IgniteConfiguration cfg = new IgniteConfiguration();
+
cfg.setGridName(gridName);
+ TcpDiscoverySpi spi = new TcpDiscoverySpi();
+
+ spi.setIpFinder(IP_FINDER);
+
+ cfg.setDiscoverySpi(spi);
+
if (gridName.equals(getTestGridName(1)))
cfg.setClientMode(true);
return cfg;
}
+ /** {@inheritDoc} */
+ @Override protected void afterTest() throws Exception {
+ stopAllGrids();
+ }
+
/**
* @throws Exception If failed.
*/
public void testAsyncCacheFuture() throws Exception {
- Ignite srv = startGrid(0);
+ startGrid(0);
+
+ startGrid(1);
+
+ testGet(false, false);
+
+ testGet(false, true);
+
+ testGet(true, false);
+
+ testGet(true, true);
+ }
+
+ /**
+ * @param nearCache If {@code true} creates near cache on client.
+ * @param cpyOnRead Cache copy on read flag.
+ * @throws Exception If failed.
+ */
+ private void testGet(boolean nearCache, boolean cpyOnRead) throws Exception {
+ fail = false;
+
+ Ignite srv = grid(0);
+
+ Ignite client = grid(1);
+
+ final String cacheName = nearCache ? ("NEAR-CACHE-" + cpyOnRead) : ("CACHE-" + cpyOnRead);
+
+ CacheConfiguration<Object, Object> ccfg = new CacheConfiguration<>();
+
+ ccfg.setCopyOnRead(cpyOnRead);
+
+ ccfg.setName(cacheName);
+
+ IgniteCache<Object, Object> cache = srv.createCache(ccfg);
- IgniteCache<String, NotSerializableClass> cache = srv.getOrCreateCache("CACHE");
cache.put("key", new NotSerializableClass());
- Ignite client = startGrid(1);
+ IgniteCache<Object, Object> clientCache = nearCache ? client.createNearCache(cacheName,
+ new NearCacheConfiguration<>()) : client.cache(cacheName);
- IgniteCache<String, NotSerializableClass> asyncCache = client.<String, NotSerializableClass>cache("CACHE").withAsync();
+ IgniteCache<Object, Object> asyncCache = clientCache.withAsync();
- System.setProperty("FAIL", "true");
+ fail = true;
asyncCache.get("key");
@@ -79,7 +133,9 @@ public class CacheFutureExceptionSelfTest extends GridCommonAbstractTest {
}
});
- assertTrue(futLatch.await(60, SECONDS));
+ assertTrue(futLatch.await(5, SECONDS));
+
+ srv.destroyCache(cache.getName());
}
/**
@@ -93,10 +149,10 @@ public class CacheFutureExceptionSelfTest extends GridCommonAbstractTest {
/** {@inheritDoc}*/
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
- if (System.getProperty("FAIL") != null)
+ if (fail)
throw new RuntimeException("Deserialization failed.");
in.readObject();
}
}
-}
\ No newline at end of file
+}
\ No newline at end of file
[41/50] [abbrv] incubator-ignite git commit: ignite-890: fixing
Posted by sb...@apache.org.
ignite-890: fixing
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/dce50db4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/dce50db4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/dce50db4
Branch: refs/heads/ignite-890
Commit: dce50db493421bad94679b2e067389c1a79afb14
Parents: b335500
Author: Denis Magda <dm...@gridgain.com>
Authored: Mon Jul 13 13:06:36 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Mon Jul 13 13:06:36 2015 +0300
----------------------------------------------------------------------
.../org/apache/ignite/spi/IgniteSpiAdapter.java | 16 ++++++++++------
.../org/apache/ignite/spi/IgniteSpiContext.java | 6 ++++--
.../apache/ignite/spi/discovery/tcp/ServerImpl.java | 12 ++++++++++--
.../tcp/TcpDiscoveryMultiThreadedTest.java | 4 ++--
4 files changed, 26 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dce50db4/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
index 5e557bd..df043dd 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiAdapter.java
@@ -545,17 +545,19 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement
/**
* @param obj Timeout object.
+ * @throws IgniteSpiException Thrown in case of any error.
* @see IgniteSpiContext#addTimeoutObject(IgniteSpiTimeoutObject)
*/
- protected void addTimeoutObject(IgniteSpiTimeoutObject obj) {
+ protected void addTimeoutObject(IgniteSpiTimeoutObject obj) throws IgniteSpiException {
spiCtx.addTimeoutObject(obj);
}
/**
* @param obj Timeout object.
+ * @throws IgniteSpiException Thrown in case of any error.
* @see IgniteSpiContext#removeTimeoutObject(IgniteSpiTimeoutObject)
*/
- protected void removeTimeoutObject(IgniteSpiTimeoutObject obj) {
+ protected void removeTimeoutObject(IgniteSpiTimeoutObject obj) throws IgniteSpiException {
spiCtx.removeTimeoutObject(obj);
}
@@ -764,15 +766,17 @@ public abstract class IgniteSpiAdapter implements IgniteSpi, IgniteSpiManagement
}
/** {@inheritDoc} */
- @Override public void addTimeoutObject(IgniteSpiTimeoutObject obj) {
- assert ignite instanceof IgniteKernal : ignite;
+ @Override public void addTimeoutObject(IgniteSpiTimeoutObject obj) throws IgniteSpiException {
+ if (!(ignite instanceof IgniteKernal))
+ throw new IgniteSpiException("Wrong Ignite instance is set: " + ignite);
((IgniteKernal)ignite).context().timeout().addTimeoutObject(new GridSpiTimeoutObject(obj));
}
/** {@inheritDoc} */
- @Override public void removeTimeoutObject(IgniteSpiTimeoutObject obj) {
- assert ignite instanceof IgniteKernal : ignite;
+ @Override public void removeTimeoutObject(IgniteSpiTimeoutObject obj) throws IgniteSpiException {
+ if (!(ignite instanceof IgniteKernal))
+ throw new IgniteSpiException("Wrong Ignite instance is set: " + ignite);
((IgniteKernal)ignite).context().timeout().removeTimeoutObject(new GridSpiTimeoutObject(obj));
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dce50db4/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
index 611702b..addf63f 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
@@ -320,11 +320,13 @@ public interface IgniteSpiContext {
/**
* @param c Timeout object.
+ * @throws IgniteSpiException Thrown if any exception occurs.
*/
- public void addTimeoutObject(IgniteSpiTimeoutObject c);
+ public void addTimeoutObject(IgniteSpiTimeoutObject c) throws IgniteSpiException;
/**
* @param c Timeout object.
+ * @throws IgniteSpiException Thrown if any exception occurs.
*/
- public void removeTimeoutObject(IgniteSpiTimeoutObject c);
+ public void removeTimeoutObject(IgniteSpiTimeoutObject c) throws IgniteSpiException;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dce50db4/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index 4d4b2a7..ff33efa 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -3879,8 +3879,6 @@ class ServerImpl extends TcpDiscoveryImpl {
return;
}
- boolean res = pingNode(msg.nodeToPing());
-
final ClientMessageWorker worker = clientMsgWorkers.get(msg.creatorNodeId());
if (worker == null) {
@@ -3888,6 +3886,16 @@ class ServerImpl extends TcpDiscoveryImpl {
log.debug("Ping request from dead client node, will be skipped: " + msg.creatorNodeId());
}
else {
+ boolean res;
+
+ try {
+ res = pingNode(msg.nodeToPing());
+ } catch (IgniteSpiException e) {
+ log.error("Failed to ping node [nodeToPing=" + msg.nodeToPing() + ']', e);
+
+ res = false;
+ }
+
TcpDiscoveryClientPingResponse pingRes = new TcpDiscoveryClientPingResponse(
getLocalNodeId(), msg.nodeToPing(), res);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/dce50db4/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 2aca2fb..b291b9c 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -37,10 +37,10 @@ import static org.apache.ignite.events.EventType.*;
*/
public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
/** */
- private static final int GRID_CNT = 5;
+ private static final int GRID_CNT = 3;
/** */
- private static final int CLIENT_GRID_CNT = 5;
+ private static final int CLIENT_GRID_CNT = 2;
/** */
private static final ThreadLocal<Boolean> clientFlagPerThread = new ThreadLocal<>();
[37/50] [abbrv] incubator-ignite git commit: # ignite-648:
Implemented.
Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWrityOrderOffHeapMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWrityOrderOffHeapMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWrityOrderOffHeapMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..3732cd2
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWrityOrderOffHeapMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicPrimaryWrityOrderOffHeapMultiJvmFullApiSelfTest extends
+ GridCacheAtomicPrimaryWrityOrderOffHeapMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWrityOrderOffHeapTieredMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWrityOrderOffHeapTieredMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWrityOrderOffHeapTieredMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..02e6857
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheAtomicPrimaryWrityOrderOffHeapTieredMultiJvmFullApiSelfTest.java
@@ -0,0 +1,36 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheAtomicPrimaryWrityOrderOffHeapTieredMultiJvmFullApiSelfTest
+ extends GridCacheAtomicPrimaryWrityOrderOffHeapTieredMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void testLocalClearKeys() throws Exception {
+ fail("https://issues.apache.org/jira/browse/IGNITE-1107");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheNearOnlyFairAffinityMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheNearOnlyFairAffinityMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheNearOnlyFairAffinityMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..c8829a1
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheNearOnlyFairAffinityMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheNearOnlyFairAffinityMultiJvmFullApiSelfTest extends
+ GridCacheNearOnlyFairAffinityMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheNearOnlyMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheNearOnlyMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheNearOnlyMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..40504d8
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheNearOnlyMultiJvmFullApiSelfTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheNearOnlyMultiJvmFullApiSelfTest extends GridCacheNearOnlyMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheNearOnlyMultiJvmP2PDisabledFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheNearOnlyMultiJvmP2PDisabledFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheNearOnlyMultiJvmP2PDisabledFullApiSelfTest.java
new file mode 100644
index 0000000..5e48504
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheNearOnlyMultiJvmP2PDisabledFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheNearOnlyMultiJvmP2PDisabledFullApiSelfTest extends
+ GridCacheNearOnlyMultiNodeP2PDisabledFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedCopyOnReadDisabledMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedCopyOnReadDisabledMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedCopyOnReadDisabledMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..2aa8ed8
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedCopyOnReadDisabledMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCachePartitionedCopyOnReadDisabledMultiJvmFullApiSelfTest extends
+ GridCachePartitionedCopyOnReadDisabledMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedFairAffinityMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedFairAffinityMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedFairAffinityMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..7bd0043
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedFairAffinityMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.replicated.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCachePartitionedFairAffinityMultiJvmFullApiSelfTest extends
+ GridCachePartitionedFairAffinityMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..c88f360
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedMultiJvmFullApiSelfTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCachePartitionedMultiJvmFullApiSelfTest extends GridCachePartitionedMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedMultiJvmP2PDisabledFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedMultiJvmP2PDisabledFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedMultiJvmP2PDisabledFullApiSelfTest.java
new file mode 100644
index 0000000..1e619eb
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedMultiJvmP2PDisabledFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCachePartitionedMultiJvmP2PDisabledFullApiSelfTest extends
+ GridCachePartitionedMultiNodeP2PDisabledFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledAtomicOffHeapTieredMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledAtomicOffHeapTieredMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledAtomicOffHeapTieredMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..ff249a7
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledAtomicOffHeapTieredMultiJvmFullApiSelfTest.java
@@ -0,0 +1,36 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.dht.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCachePartitionedNearDisabledAtomicOffHeapTieredMultiJvmFullApiSelfTest
+ extends GridCachePartitionedNearDisabledAtomicOffHeapTieredMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void testLocalClearKeys() throws Exception {
+ fail("https://issues.apache.org/jira/browse/IGNITE-1107");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledFairAffinityMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledFairAffinityMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledFairAffinityMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..b3e45ad
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledFairAffinityMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.dht.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCachePartitionedNearDisabledFairAffinityMultiJvmFullApiSelfTest extends
+ GridCachePartitionedNearDisabledFairAffinityMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..6cdd3be
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.dht.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCachePartitionedNearDisabledMultiJvmFullApiSelfTest extends
+ GridCachePartitionedNearDisabledMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledMultiJvmP2PDisabledFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledMultiJvmP2PDisabledFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledMultiJvmP2PDisabledFullApiSelfTest.java
new file mode 100644
index 0000000..c873b11
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledMultiJvmP2PDisabledFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.dht.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCachePartitionedNearDisabledMultiJvmP2PDisabledFullApiSelfTest extends
+ GridCachePartitionedNearDisabledMultiNodeP2PDisabledFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledOffHeapMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledOffHeapMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledOffHeapMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..8d0bc7f
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledOffHeapMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.dht.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCachePartitionedNearDisabledOffHeapMultiJvmFullApiSelfTest extends
+ GridCachePartitionedNearDisabledOffHeapMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledOffHeapTieredMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledOffHeapTieredMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledOffHeapTieredMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..c797d5b
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedNearDisabledOffHeapTieredMultiJvmFullApiSelfTest.java
@@ -0,0 +1,36 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.dht.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCachePartitionedNearDisabledOffHeapTieredMultiJvmFullApiSelfTest
+ extends GridCachePartitionedNearDisabledOffHeapTieredMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void testLocalClearKeys() throws Exception {
+ fail("https://issues.apache.org/jira/browse/IGNITE-1107");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedOffHeapMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedOffHeapMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedOffHeapMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..5cf5d8a
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedOffHeapMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCachePartitionedOffHeapMultiJvmFullApiSelfTest extends
+ GridCachePartitionedOffHeapMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedOffHeapTieredMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedOffHeapTieredMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedOffHeapTieredMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..f843ae5
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCachePartitionedOffHeapTieredMultiJvmFullApiSelfTest.java
@@ -0,0 +1,36 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCachePartitionedOffHeapTieredMultiJvmFullApiSelfTest
+ extends GridCachePartitionedOffHeapTieredMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void testLocalClearKeys() throws Exception {
+ fail("https://issues.apache.org/jira/browse/IGNITE-1107");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedAtomicMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedAtomicMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedAtomicMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..7f8bfa1
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedAtomicMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.replicated.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheReplicatedAtomicMultiJvmFullApiSelfTest extends
+ GridCacheReplicatedAtomicMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedAtomicPrimaryWriteOrderMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedAtomicPrimaryWriteOrderMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedAtomicPrimaryWriteOrderMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..fb87c9c
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedAtomicPrimaryWriteOrderMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.replicated.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheReplicatedAtomicPrimaryWriteOrderMultiJvmFullApiSelfTest extends
+ GridCacheReplicatedAtomicPrimaryWriteOrderMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..19a5abd
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedMultiJvmFullApiSelfTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.replicated.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheReplicatedMultiJvmFullApiSelfTest extends GridCacheReplicatedMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedMultiJvmP2PDisabledFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedMultiJvmP2PDisabledFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedMultiJvmP2PDisabledFullApiSelfTest.java
new file mode 100644
index 0000000..7473bdc
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedMultiJvmP2PDisabledFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.replicated.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheReplicatedMultiJvmP2PDisabledFullApiSelfTest extends
+ GridCacheReplicatedMultiNodeP2PDisabledFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedNearOnlyMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedNearOnlyMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedNearOnlyMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..9d7639c
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedNearOnlyMultiJvmFullApiSelfTest.java
@@ -0,0 +1,37 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.replicated.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheReplicatedNearOnlyMultiJvmFullApiSelfTest extends
+ GridCacheReplicatedNearOnlyMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void testNearDhtKeySize() throws Exception {
+ if (isMultiJvm())
+ fail("https://issues.apache.org/jira/browse/IGNITE-648");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedOffHeapMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedOffHeapMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedOffHeapMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..f054f4b
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedOffHeapMultiJvmFullApiSelfTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.replicated.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheReplicatedOffHeapMultiJvmFullApiSelfTest extends
+ GridCacheReplicatedOffHeapMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedOffHeapTieredMultiJvmFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedOffHeapTieredMultiJvmFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedOffHeapTieredMultiJvmFullApiSelfTest.java
new file mode 100644
index 0000000..2006972
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/multijvm/GridCacheReplicatedOffHeapTieredMultiJvmFullApiSelfTest.java
@@ -0,0 +1,36 @@
+/*
+ * 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.multijvm;
+
+import org.apache.ignite.internal.processors.cache.distributed.replicated.*;
+
+/**
+ * Multi-JVM tests.
+ */
+public class GridCacheReplicatedOffHeapTieredMultiJvmFullApiSelfTest
+ extends GridCacheReplicatedOffHeapTieredMultiNodeFullApiSelfTest {
+ /** {@inheritDoc} */
+ protected boolean isMultiJvm() {
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void testLocalClearKeys() throws Exception {
+ fail("https://issues.apache.org/jira/browse/IGNITE-1107");
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
index 9a63b3a..06a1523 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
@@ -33,10 +33,13 @@ import org.apache.ignite.marshaller.jdk.*;
import org.apache.ignite.spi.checkpoint.sharedfs.*;
import org.apache.ignite.spi.communication.tcp.*;
import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
import org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.apache.ignite.testframework.*;
import org.apache.ignite.testframework.config.*;
import org.apache.ignite.testframework.junits.logger.*;
+import org.apache.ignite.testframework.junits.multijvm.*;
import org.apache.log4j.*;
import org.jetbrains.annotations.*;
import org.springframework.beans.*;
@@ -72,6 +75,11 @@ public abstract class GridAbstractTest extends TestCase {
/** Null name for execution map. */
private static final String NULL_NAME = UUID.randomUUID().toString();
+ /** Ip finder for TCP discovery. */
+ public static final TcpDiscoveryIpFinder LOCAL_IP_FINDER = new TcpDiscoveryVmIpFinder(false) {{
+ setAddresses(Collections.singleton("127.0.0.1:47500..47509"));
+ }};
+
/** */
private static final long DFLT_TEST_TIMEOUT = 5 * 60 * 1000;
@@ -203,6 +211,9 @@ public abstract class GridAbstractTest extends TestCase {
* @return logger.
*/
protected IgniteLogger log() {
+ if (isRemoteJvm())
+ return IgniteNodeRunner.startedInstance().log();
+
return log;
}
@@ -464,6 +475,11 @@ public abstract class GridAbstractTest extends TestCase {
}
try {
+ List<Integer> jvmIds = IgniteNodeRunner.killAll();
+
+ if (!jvmIds.isEmpty())
+ log.info("Next processes of IgniteNodeRunner were killed: " + jvmIds);
+
beforeTestsStarted();
}
catch (Exception | Error t) {
@@ -556,6 +572,9 @@ public abstract class GridAbstractTest extends TestCase {
* @throws Exception If failed.
*/
protected final Ignite startGridsMultiThreaded(int init, int cnt) throws Exception {
+ if (isMultiJvm())
+ fail("https://issues.apache.org/jira/browse/IGNITE-648");
+
assert init >= 0;
assert cnt > 0;
@@ -657,14 +676,37 @@ public abstract class GridAbstractTest extends TestCase {
* @throws Exception If failed.
*/
protected Ignite startGrid(String gridName, GridSpringResourceContext ctx) throws Exception {
- startingGrid.set(gridName);
+ if (!isRemoteJvm(gridName)) {
+ startingGrid.set(gridName);
- try {
- return IgnitionEx.start(optimize(getConfiguration(gridName)), ctx);
- }
- finally {
- startingGrid.set(null);
+ try {
+ return IgnitionEx.start(optimize(getConfiguration(gridName)), ctx);
+ }
+ finally {
+ startingGrid.set(null);
+ }
}
+ else
+ return startRemoteGrid(gridName, null, ctx);
+ }
+
+ /**
+ * Starts new grid at another JVM with given name.
+ *
+ * @param gridName Grid name.
+ * @param ctx Spring context.
+ * @return Started grid.
+ * @throws Exception If failed.
+ */
+ protected Ignite startRemoteGrid(String gridName, IgniteConfiguration cfg, GridSpringResourceContext ctx)
+ throws Exception {
+ if (ctx != null)
+ throw new UnsupportedOperationException("Starting of grid at another jvm by context doesn't supported.");
+
+ if (cfg == null)
+ cfg = optimize(getConfiguration(gridName));
+
+ return new IgniteProcessProxy(cfg, log, grid(0));
}
/**
@@ -707,13 +749,16 @@ public abstract class GridAbstractTest extends TestCase {
@SuppressWarnings({"deprecation"})
protected void stopGrid(@Nullable String gridName, boolean cancel) {
try {
- Ignite ignite = G.ignite(gridName);
+ Ignite ignite = grid(gridName);
assert ignite != null : "Ignite returned null grid for name: " + gridName;
info(">>> Stopping grid [name=" + ignite.name() + ", id=" + ignite.cluster().localNode().id() + ']');
- G.stop(gridName, cancel);
+ if (!isRemoteJvm(gridName))
+ G.stop(gridName, cancel);
+ else
+ IgniteProcessProxy.stop(gridName, cancel);
}
catch (IllegalStateException ignored) {
// Ignore error if grid already stopped.
@@ -736,23 +781,28 @@ public abstract class GridAbstractTest extends TestCase {
* @param cancel Cancel flag.
*/
protected void stopAllGrids(boolean cancel) {
- Collection<Ignite> clients = new ArrayList<>();
- Collection<Ignite> srvs = new ArrayList<>();
-
- for (Ignite g : G.allGrids()) {
- if (g.configuration().getDiscoverySpi().isClientMode())
- clients.add(g);
- else
- srvs.add(g);
- }
+ try {
+ Collection<Ignite> clients = new ArrayList<>();
+ Collection<Ignite> srvs = new ArrayList<>();
+
+ for (Ignite g : G.allGrids()) {
+ if (g.configuration().getDiscoverySpi().isClientMode())
+ clients.add(g);
+ else
+ srvs.add(g);
+ }
- for (Ignite g : clients)
- stopGrid(g.name(), cancel);
+ for (Ignite g : clients)
+ stopGrid(g.name(), cancel);
- for (Ignite g : srvs)
- stopGrid(g.name(), cancel);
+ for (Ignite g : srvs)
+ stopGrid(g.name(), cancel);
- assert G.allGrids().isEmpty();
+ assert G.allGrids().isEmpty();
+ }
+ finally {
+ IgniteProcessProxy.killAll(); // In multi-JVM case.
+ }
}
/**
@@ -821,7 +871,14 @@ public abstract class GridAbstractTest extends TestCase {
* @return Grid instance.
*/
protected IgniteEx grid(String name) {
- return (IgniteEx)G.ignite(name);
+ if (!isRemoteJvm(name))
+ return (IgniteEx)G.ignite(name);
+ else {
+ if (isRemoteJvm())
+ return IgniteNodeRunner.startedInstance();
+ else
+ return IgniteProcessProxy.ignite(name);
+ }
}
/**
@@ -831,7 +888,7 @@ public abstract class GridAbstractTest extends TestCase {
* @return Grid instance.
*/
protected IgniteEx grid(int idx) {
- return (IgniteEx)G.ignite(getTestGridName(idx));
+ return grid(getTestGridName(idx));
}
/**
@@ -839,7 +896,7 @@ public abstract class GridAbstractTest extends TestCase {
* @return Ignite instance.
*/
protected Ignite ignite(int idx) {
- return G.ignite(getTestGridName(idx));
+ return grid(idx);
}
/**
@@ -848,7 +905,10 @@ public abstract class GridAbstractTest extends TestCase {
* @return Grid for given test.
*/
protected IgniteEx grid() {
- return (IgniteEx)G.ignite(getTestGridName());
+ if (!isMultiJvm())
+ return (IgniteEx)G.ignite(getTestGridName());
+ else
+ throw new UnsupportedOperationException("Operation doesn't supported yet.");
}
/**
@@ -856,7 +916,17 @@ public abstract class GridAbstractTest extends TestCase {
* @return Ignite instance with given local node.
*/
protected final Ignite grid(ClusterNode node) {
- return G.ignite(node.id());
+ if (!isMultiJvm())
+ return G.ignite(node.id());
+ else {
+ try {
+ return IgniteProcessProxy.ignite(node.id());
+ }
+ catch (Exception ignore) {
+ // A hack if it is local grid.
+ return G.ignite(node.id());
+ }
+ }
}
/**
@@ -886,7 +956,10 @@ public abstract class GridAbstractTest extends TestCase {
protected Ignite startGrid(String gridName, IgniteConfiguration cfg) throws Exception {
cfg.setGridName(gridName);
- return G.start(cfg);
+ if (!isRemoteJvm(gridName))
+ return G.start(cfg);
+ else
+ return startRemoteGrid(gridName, cfg, null);
}
/**
@@ -1015,6 +1088,9 @@ public abstract class GridAbstractTest extends TestCase {
cfg.setNodeId(UUID.fromString(new String(chars)));
}
+ if (isMultiJvm())
+ ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(LOCAL_IP_FINDER);
+
return cfg;
}
@@ -1286,6 +1362,183 @@ public abstract class GridAbstractTest extends TestCase {
}
/**
+ * Gets flag whether nodes will run in one JVM or in separate JVMs.
+ *
+ * @return <code>True</code> to run nodes in separate JVMs.
+ * @see IgniteNodeRunner
+ * @see IgniteProcessProxy
+ * @see #isRemoteJvm()
+ * @see #isRemoteJvm(int)
+ * @see #isRemoteJvm(String)
+ * @see #executeOnLocalOrRemoteJvm(int, TestIgniteIdxCallable)
+ * @see #executeOnLocalOrRemoteJvm(Ignite, TestIgniteCallable)
+ * @see #executeOnLocalOrRemoteJvm(IgniteCache, TestCacheCallable)
+ */
+ protected boolean isMultiJvm() {
+ return false;
+ }
+
+ /**
+ * @param gridName Grid name.
+ * @return <code>True</code> if test was run in multi-JVM mode and grid with this name was started at another JVM.
+ */
+ protected boolean isRemoteJvm(String gridName) {
+ return isMultiJvm() && !"0".equals(gridName.substring(getTestGridName().length()));
+ }
+
+ /**
+ * @param idx Grid index.
+ * @return <code>True</code> if test was run in multi-JVM mode and grid with this ID was started at another JVM.
+ */
+ protected boolean isRemoteJvm(int idx) {
+ return isMultiJvm() && idx != 0;
+ }
+
+ /**
+ * @return <code>True</code> if current JVM contains remote started node
+ * (It differs from JVM where tests executing).
+ */
+ protected boolean isRemoteJvm() {
+ return IgniteNodeRunner.hasStartedInstance();
+ }
+
+ /**
+ * @param cache Cache.
+ * @return <code>True</code> if cache is an instance of {@link IgniteCacheProcessProxy}
+ */
+ public static boolean isMultiJvmObject(IgniteCache cache) {
+ return cache instanceof IgniteCacheProcessProxy;
+ }
+
+ /**
+ * @param ignite Ignite.
+ * @return <code>True</code> if cache is an instance of {@link IgniteProcessProxy}
+ */
+ public static boolean isMultiJvmObject(Ignite ignite) {
+ return ignite instanceof IgniteProcessProxy;
+ }
+
+ /**
+ * Calls job on local JVM or on remote JVM in multi-JVM case.
+ *
+ * @param idx Grid index.
+ * @param job Job.
+ */
+ public <R> R executeOnLocalOrRemoteJvm(final int idx, final TestIgniteIdxCallable<R> job) {
+ IgniteEx ignite = grid(idx);
+
+ if (!isMultiJvmObject(ignite))
+ try {
+ return job.call(idx);
+ }
+ catch (Exception e) {
+ throw new IgniteException(e);
+ }
+ else
+ return executeRemotely(idx, job);
+ }
+
+ /**
+ * Calls job on local JVM or on remote JVM in multi-JVM case.
+ *
+ * @param ignite Ignite.
+ * @param job Job.
+ */
+ public static <R> R executeOnLocalOrRemoteJvm(Ignite ignite, final TestIgniteCallable<R> job) {
+ if (!isMultiJvmObject(ignite))
+ try {
+ return job.call(ignite);
+ }
+ catch (Exception e) {
+ throw new IgniteException(e);
+ }
+ else
+ return executeRemotely((IgniteProcessProxy)ignite, job);
+ }
+
+ /**
+ * Calls job on local JVM or on remote JVM in multi-JVM case.
+ *
+ * @param cache Cache.
+ * @param job Job.
+ */
+ public static <K,V,R> R executeOnLocalOrRemoteJvm(IgniteCache<K,V> cache, TestCacheCallable<K,V,R> job) {
+ Ignite ignite = cache.unwrap(Ignite.class);
+
+ if (!isMultiJvmObject(ignite))
+ try {
+ return job.call(ignite, cache);
+ }
+ catch (Exception e) {
+ throw new IgniteException(e);
+ }
+ else
+ return executeRemotely((IgniteCacheProcessProxy<K, V>)cache, job);
+ }
+
+ /**
+ * Calls job on remote JVM.
+ *
+ * @param idx Grid index.
+ * @param job Job.
+ */
+ public <R> R executeRemotely(final int idx, final TestIgniteIdxCallable<R> job) {
+ IgniteEx ignite = grid(idx);
+
+ if (!isMultiJvmObject(ignite))
+ throw new IllegalArgumentException("Ignite have to be process proxy.");
+
+ IgniteProcessProxy proxy = (IgniteProcessProxy)ignite;
+
+ return proxy.remoteCompute().call(new IgniteCallable<R>() {
+ @Override public R call() throws Exception {
+ return job.call(idx);
+ }
+ });
+ }
+
+ /**
+ * Calls job on remote JVM.
+ *
+ * @param proxy Ignite.
+ * @param job Job.
+ */
+ public static <R> R executeRemotely(IgniteProcessProxy proxy, final TestIgniteCallable<R> job) {
+ final UUID id = proxy.getId();
+
+ return proxy.remoteCompute().call(new IgniteCallable<R>() {
+ @Override public R call() throws Exception {
+ Ignite ignite = Ignition.ignite(id);
+
+ return job.call(ignite);
+ }
+ });
+ }
+
+ /**
+ * Runs job on remote JVM.
+ *
+ * @param cache Cache.
+ * @param job Job.
+ */
+ public static <K, V, R> R executeRemotely(IgniteCacheProcessProxy<K, V> cache,
+ final TestCacheCallable<K, V, R> job) {
+ IgniteProcessProxy proxy = (IgniteProcessProxy)cache.unwrap(Ignite.class);
+
+ final UUID id = proxy.getId();
+ final String cacheName = cache.getName();
+
+ return proxy.remoteCompute().call(new IgniteCallable<R>() {
+ @Override public R call() throws Exception {
+ Ignite ignite = Ignition.ignite(id);
+ IgniteCache<K,V> cache = ignite.cache(cacheName);
+
+ return job.call(ignite, cache);
+ }
+ });
+ }
+
+ /**
* @return Test counters.
*/
protected synchronized TestCounters getTestCounters() throws IgniteCheckedException {
@@ -1598,4 +1851,75 @@ public abstract class GridAbstractTest extends TestCase {
return numOfTests;
}
}
+
+ /** */
+ public static interface TestIgniteCallable<R> extends Serializable {
+ /**
+ * @param ignite Ignite.
+ */
+ R call(Ignite ignite) throws Exception;
+ }
+
+ /** */
+ public abstract static class TestIgniteRunnable implements TestIgniteCallable<Object> {
+ /** {@inheritDoc} */
+ @Override public Object call(Ignite ignite) throws Exception {
+ run(ignite);
+
+ return null;
+ }
+
+ /**
+ * @param ignite Ignite.
+ */
+ public abstract void run(Ignite ignite) throws Exception;
+ }
+
+ /** */
+ public static interface TestIgniteIdxCallable<R> extends Serializable {
+ /**
+ * @param idx Grid index.
+ */
+ R call(int idx) throws Exception;
+ }
+
+ /** */
+ public abstract static class TestIgniteIdxRunnable implements TestIgniteIdxCallable<Object> {
+ /** {@inheritDoc} */
+ @Override public Object call(int idx) throws Exception {
+ run(idx);
+
+ return null;
+ }
+
+ /**
+ * @param idx Index.
+ */
+ public abstract void run(int idx) throws Exception;
+ }
+
+ /** */
+ public static interface TestCacheCallable<K, V, R> extends Serializable {
+ /**
+ * @param ignite Ignite.
+ * @param cache Cache.
+ */
+ R call(Ignite ignite, IgniteCache<K, V> cache) throws Exception;
+ }
+
+ /** */
+ public abstract static class TestCacheRunnable<K, V> implements TestCacheCallable<K, V, Object> {
+ /** {@inheritDoc} */
+ @Override public Object call(Ignite ignite, IgniteCache cache) throws Exception {
+ run(ignite, cache);
+
+ return null;
+ }
+
+ /**
+ * @param ignite Ignite.
+ * @param cache Cache.
+ */
+ public abstract void run(Ignite ignite, IgniteCache<K, V> cache) throws Exception;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
index 9941ca8..8698b4a 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
@@ -116,6 +116,10 @@ public abstract class GridCommonAbstractTest extends GridAbstractTest {
* @return Cache.
*/
protected <K, V> GridCacheAdapter<K, V> internalCache(IgniteCache<K, V> cache) {
+ if (isMultiJvmObject(cache))
+ throw new UnsupportedOperationException("Oparetion can't be supported automatically for multi jvm " +
+ "(send closure instead).");
+
return ((IgniteKernal)cache.unwrap(Ignite.class)).internalCache(cache.getName());
}
@@ -201,9 +205,13 @@ public abstract class GridCommonAbstractTest extends GridAbstractTest {
* @param cache Cache.
* @return {@code True} if near cache is enabled.
*/
- protected static <K, V> boolean nearEnabled(IgniteCache<K,V> cache) {
- CacheConfiguration cfg = ((IgniteKernal)cache.unwrap(Ignite.class)).
- <K, V>internalCache(cache.getName()).context().config();
+ protected static <K, V> boolean nearEnabled(final IgniteCache<K,V> cache) {
+ CacheConfiguration cfg = GridAbstractTest.executeOnLocalOrRemoteJvm(cache,
+ new TestCacheCallable<K, V, CacheConfiguration>() {
+ @Override public CacheConfiguration call(Ignite ignite, IgniteCache<K, V> cache) throws Exception {
+ return ((IgniteKernal)ignite).<K, V>internalCache(cache.getName()).context().config();
+ }
+ });
return isNearEnabled(cfg);
}
@@ -238,27 +246,33 @@ public abstract class GridCommonAbstractTest extends GridAbstractTest {
* @param replaceExistingValues Replace existing values.
* @throws Exception If failed.
*/
- protected static <K> void loadAll(Cache<K, ?> cache, Set<K> keys, boolean replaceExistingValues) throws Exception {
- final AtomicReference<Exception> ex = new AtomicReference<>();
+ protected static <K> void loadAll(Cache<K, ?> cache, final Set<K> keys, final boolean replaceExistingValues) throws Exception {
+ IgniteCache<K, Object> cacheCp = (IgniteCache<K, Object>)cache;
- final CountDownLatch latch = new CountDownLatch(1);
+ GridAbstractTest.executeOnLocalOrRemoteJvm(cacheCp, new TestCacheRunnable<K, Object>() {
+ @Override public void run(Ignite ignite, IgniteCache<K, Object> cache) throws Exception {
+ final AtomicReference<Exception> ex = new AtomicReference<>();
- cache.loadAll(keys, replaceExistingValues, new CompletionListener() {
- @Override public void onCompletion() {
- latch.countDown();
- }
+ final CountDownLatch latch = new CountDownLatch(1);
- @Override public void onException(Exception e) {
- ex.set(e);
+ cache.loadAll(keys, replaceExistingValues, new CompletionListener() {
+ @Override public void onCompletion() {
+ latch.countDown();
+ }
- latch.countDown();
- }
- });
+ @Override public void onException(Exception e) {
+ ex.set(e);
+
+ latch.countDown();
+ }
+ });
- latch.await();
+ latch.await();
- if (ex.get() != null)
- throw ex.get();
+ if (ex.get() != null)
+ throw ex.get();
+ }
+ });
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8218fe6f/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/AffinityProcessProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/AffinityProcessProxy.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/AffinityProcessProxy.java
new file mode 100644
index 0000000..e87895d
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/multijvm/AffinityProcessProxy.java
@@ -0,0 +1,195 @@
+/*
+ * 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.testframework.junits.multijvm;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cache.affinity.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.lang.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+
+/**
+ * Proxy class for affinity at another JVM.
+ */
+@SuppressWarnings("TransientFieldInNonSerializableClass")
+public class AffinityProcessProxy<K> implements Affinity<K> {
+ /** Compute. */
+ private final transient IgniteCompute compute;
+
+ /** Cache name. */
+ private final String cacheName;
+
+ /** Grid id. */
+ private final UUID gridId;
+
+ /**
+ * @param cacheName Cache name.
+ * @param proxy Ignite ptocess proxy.
+ */
+ public AffinityProcessProxy(String cacheName, IgniteProcessProxy proxy) {
+ this.cacheName = cacheName;
+ gridId = proxy.getId();
+ compute = proxy.remoteCompute();
+ }
+
+ /**
+ * Returns cache instance. Method to be called from closure at another JVM.
+ *
+ * @return Cache.
+ */
+ private Affinity<Object> affinity() {
+ return Ignition.ignite(gridId).affinity(cacheName);
+ }
+
+ /** {@inheritDoc} */
+ @Override public int partitions() {
+ return (int)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().partitions();
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public int partition(final K key) {
+ return (int)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().partition(key);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isPrimary(final ClusterNode n, final K key) {
+ return (boolean)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().isPrimary(n, key);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isBackup(final ClusterNode n, final K key) {
+ return (boolean)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().isBackup(n, key);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean isPrimaryOrBackup(final ClusterNode n, final K key) {
+ return (boolean)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().isPrimaryOrBackup(n, key);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public int[] primaryPartitions(final ClusterNode n) {
+ return (int[])compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().primaryPartitions(n);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public int[] backupPartitions(final ClusterNode n) {
+ return (int[])compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().backupPartitions(n);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public int[] allPartitions(final ClusterNode n) {
+ return (int[])compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().allPartitions(n);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public Object affinityKey(final K key) {
+ return compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().affinityKey(key);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public Map<ClusterNode, Collection<K>> mapKeysToNodes(final Collection<? extends K> keys) {
+ return (Map<ClusterNode, Collection<K>>)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().mapKeysToNodes(keys);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public ClusterNode mapKeyToNode(final K key) {
+ return (ClusterNode)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().mapKeyToNode(key);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public Collection<ClusterNode> mapKeyToPrimaryAndBackups(final K key) {
+ return (Collection<ClusterNode>)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().mapKeyToPrimaryAndBackups(key);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public ClusterNode mapPartitionToNode(final int part) {
+ return (ClusterNode)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().mapPartitionToNode(part);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public Map<Integer, ClusterNode> mapPartitionsToNodes(final Collection<Integer> parts) {
+ return (Map<Integer, ClusterNode>)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().mapPartitionsToNodes(parts);
+ }
+ });
+ }
+
+ /** {@inheritDoc} */
+ @Override public Collection<ClusterNode> mapPartitionToPrimaryAndBackups(final int part) {
+ return (Collection<ClusterNode>)compute.call(new IgniteCallable<Object>() {
+ @Override public Object call() throws Exception {
+ return affinity().mapPartitionToPrimaryAndBackups(part);
+ }
+ });
+ }
+}
[49/50] [abbrv] incubator-ignite git commit: ignite-890: fixed
Posted by sb...@apache.org.
ignite-890: fixed
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/baeb924e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/baeb924e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/baeb924e
Branch: refs/heads/ignite-890
Commit: baeb924e05d928df067493bf63c492c5ffda6f21
Parents: da5d7e5
Author: Denis Magda <dm...@gridgain.com>
Authored: Tue Jul 14 15:46:15 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Tue Jul 14 15:46:15 2015 +0300
----------------------------------------------------------------------
.../discovery/GridDiscoveryManager.java | 4 +-
.../communication/tcp/TcpCommunicationSpi.java | 22 +--
.../ignite/spi/discovery/tcp/ClientImpl.java | 19 +--
.../ignite/spi/discovery/tcp/ServerImpl.java | 62 ++------
.../spi/discovery/tcp/TcpDiscoverySpi.java | 8 --
.../tcp/internal/TcpDiscoveryNode.java | 6 -
.../messages/TcpDiscoveryNodeFailedMessage.java | 1 -
.../tcp/TcpDiscoveryMultiThreadedTest.java | 142 ++++++++++++-------
.../testframework/junits/GridAbstractTest.java | 13 +-
9 files changed, 114 insertions(+), 163 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index 80f7f98..eae07ed 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -1589,7 +1589,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
new Runnable() {
@Override public void run() {
ctx.markSegmented();
- System.out.println("Stopping grid on segmentation: " + ctx.gridName());
+
G.stop(ctx.gridName(), true);
}
}
@@ -1896,7 +1896,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
segmented = true;
if (!isLocDaemon)
- U.warn(log, "Local node SEGMENTED: " + node + ", remote_nodes = " + getSpi().getRemoteNodes());
+ U.warn(log, "Local node SEGMENTED: " + node);
else if (log.isDebugEnabled())
log.debug("Local node SEGMENTED: " + node);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index 423f4ef..df7d098 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -1899,8 +1899,6 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
}
}
catch (IgniteCheckedException | RuntimeException | Error e) {
- //tryFailClient(node, e);
-
if (log.isDebugEnabled())
log.debug(
"Caught exception (will close client) [err=" + e.getMessage() + ", client=" + client + ']');
@@ -2141,8 +2139,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
if (client == null) {
assert errs != null;
-// if (!tryFailClient(node, errs) && X.hasCause(errs, ConnectException.class))
- if (X.hasCause(errs, ConnectException.class))
+ if (X.hasCause(errs, ConnectException.class))
LT.warn(log, null, "Failed to connect to a remote node " +
"(make sure that destination node is alive and " +
"operating system firewall is disabled on local and remote hosts) " +
@@ -2203,7 +2200,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
UUID rmtNodeId0 = U.bytesToUuid(buf.array(), 1);
if (!rmtNodeId.equals(rmtNodeId0))
- throw new HandshakeFailureException("Remote node ID is not as expected [expected=" + rmtNodeId +
+ throw new IgniteCheckedException("Remote node ID is not as expected [expected=" + rmtNodeId +
", rcvd=" + rmtNodeId0 + ']');
else if (log.isDebugEnabled())
log.debug("Received remote node ID: " + rmtNodeId0);
@@ -2245,7 +2242,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
int read = ch.read(buf);
if (read == -1)
- throw new HandshakeFailureException("Failed to read remote node recovery handshake " +
+ throw new IgniteCheckedException("Failed to read remote node recovery handshake " +
"(connection closed).");
i += read;
@@ -2424,19 +2421,6 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
}
}
- /** Internal exception class for handshake failure handling. */
- private static class HandshakeFailureException extends IgniteCheckedException {
- /** */
- private static final long serialVersionUID = 0L;
-
- /**
- * @param msg Message.
- */
- HandshakeFailureException(String msg) {
- super(msg);
- }
- }
-
/**
* This worker takes responsibility to shut the server down when stopping,
* No other thread shall stop passed server.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index 467acc6..838b89a 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -129,8 +129,7 @@ class ClientImpl extends TcpDiscoveryImpl {
b.append("Stats: ").append(spi.stats).append(U.nl());
- System.out.println(b.toString());
-// U.quietAndInfo(log, b.toString());
+ U.quietAndInfo(log, b.toString());
}
/** {@inheritDoc} */
@@ -432,10 +431,8 @@ class ClientImpl extends TcpDiscoveryImpl {
}
if (addrs.isEmpty()) {
- if (timeout > 0 && (U.currentTimeMillis() - startTime) > timeout) {
- System.out.println("Client reconnect timeout: " + getLocalNodeId());
+ if (timeout > 0 && (U.currentTimeMillis() - startTime) > timeout)
return null;
- }
U.warn(log, "Failed to connect to any address from IP finder (will retry to join topology " +
"in 2000ms): " + addrs0);
@@ -796,7 +793,7 @@ class ClientImpl extends TcpDiscoveryImpl {
catch (IOException e) {
msgWorker.addMessage(new SocketClosedMessage(sock));
- //if (log.isDebugEnabled())
+ if (log.isDebugEnabled())
U.error(log, "Connection failed [sock=" + sock + ", locNodeId=" + getLocalNodeId() + ']', e);
}
finally {
@@ -1134,24 +1131,19 @@ class ClientImpl extends TcpDiscoveryImpl {
assert spi.getSpiContext().isStopping();
if (currSock != null) {
- System.out.println("Sending node left msg: " + getLocalNodeId());
-
TcpDiscoveryAbstractMessage leftMsg = new TcpDiscoveryNodeLeftMessage(getLocalNodeId());
leftMsg.client(true);
sockWriter.sendMessage(leftMsg);
}
- else {
- System.out.println("No connection on leave: " + getLocalNodeId());
+ else
leaveLatch.countDown();
- }
}
else if (msg instanceof SocketClosedMessage) {
if (((SocketClosedMessage)msg).sock == currSock) {
currSock = null;
- System.out.println("Socket closed. Join latch: " + joinLatch.getCount() + ". Node: " + getLocalNodeId());
boolean join = joinLatch.getCount() > 0;
if (spi.getSpiContext().isStopping() || segmented) {
@@ -1166,7 +1158,6 @@ class ClientImpl extends TcpDiscoveryImpl {
else {
assert reconnector == null;
- System.out.println("Starting reconnector: " + getLocalNodeId());
final Reconnector reconnector = new Reconnector(join);
this.reconnector = reconnector;
reconnector.start();
@@ -1180,8 +1171,6 @@ class ClientImpl extends TcpDiscoveryImpl {
reconnector.cancel();
reconnector.join();
- System.out.println("RECONNECT FAILED: sending segmentation error: " + locNode);
-
notifyDiscovery(EVT_NODE_SEGMENTED, topVer, locNode, allVisibleNodes());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index cda026f..bca2d98 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -1335,7 +1335,7 @@ class ServerImpl extends TcpDiscoveryImpl {
return;
}
- //assert log.isInfoEnabled();
+ assert log.isInfoEnabled();
synchronized (mux) {
StringBuilder b = new StringBuilder(U.nl());
@@ -1388,8 +1388,7 @@ class ServerImpl extends TcpDiscoveryImpl {
b.append("Stats: ").append(spi.stats).append(U.nl());
- System.out.println(b.toString());
- //U.quietAndInfo(log, b.toString());
+ U.quietAndInfo(log, b.toString());
}
}
@@ -1830,8 +1829,6 @@ class ServerImpl extends TcpDiscoveryImpl {
}
}
- private static volatile boolean dumping;
-
/**
* Message worker thread for messages processing.
*/
@@ -2228,8 +2225,7 @@ class ServerImpl extends TcpDiscoveryImpl {
", next=" + next.id() +
", res=" + res + ']');
- if (debugMode && !(msg instanceof TcpDiscoveryDiscardMessage) && !(msg instanceof TcpDiscoveryHeartbeatMessage)
- && !(msg instanceof TcpDiscoveryCustomEventMessage))
+ if (debugMode)
debugLog("Message has been sent to next node [msg=" + msg +
", next=" + next.id() +
", res=" + res + ']');
@@ -2817,48 +2813,28 @@ class ServerImpl extends TcpDiscoveryImpl {
if (log.isDebugEnabled())
log.debug("Accept client reconnect, restored pending messages " +
"[locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
-
- if (debugMode)
- debugLog("Accept client reconnect, restored pending messages " +
- "[locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
-
}
else {
if (log.isDebugEnabled())
log.debug("Failing reconnecting client node because failed to restore pending " +
"messages [locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
- if (debugMode)
- debugLog("Failing reconnecting client node because failed to restore pending " +
- "messages [locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
-
processNodeFailedMessage(new TcpDiscoveryNodeFailedMessage(locNodeId,
node.id(), node.internalOrder()));
}
}
}
- else {
- if (log.isDebugEnabled())
- log.debug("Reconnecting client node is already failed [nodeId=" + nodeId + ']');
-
- if (debugMode)
- debugLog("Reconnecting client node is already failed [nodeId=" + nodeId + ']');
- }
+ else if (log.isDebugEnabled())
+ log.debug("Reconnecting client node is already failed [nodeId=" + nodeId + ']');
if (isLocNodeRouter) {
ClientMessageWorker wrk = clientMsgWorkers.get(nodeId);
if (wrk != null)
wrk.addMessage(msg);
- else {
- if (log.isDebugEnabled())
- log.debug("Failed to reconnect client node (disconnected during the process) [locNodeId=" +
- locNodeId + ", clientNodeId=" + nodeId + ']');
-
- if (debugMode)
- debugLog("Failed to reconnect client node (disconnected during the process) [locNodeId=" +
- locNodeId + ", clientNodeId=" + nodeId + ']');
- }
+ else if (log.isDebugEnabled())
+ log.debug("Failed to reconnect client node (disconnected during the process) [locNodeId=" +
+ locNodeId + ", clientNodeId=" + nodeId + ']');
}
else {
if (ring.hasRemoteNodes())
@@ -3252,9 +3228,6 @@ class ServerImpl extends TcpDiscoveryImpl {
if (log.isDebugEnabled())
log.debug("Starting local node stop procedure.");
- if (debugMode)
- debugLog("Starting local node stop procedure.");
-
spiState = STOPPING;
mux.notifyAll();
@@ -3262,9 +3235,6 @@ class ServerImpl extends TcpDiscoveryImpl {
}
if (msg.verified() || !ring.hasRemoteNodes() || msg.senderNodeId() != null) {
- if (debugMode)
- debugLog("Do stop local node: [msg=" + msg + ", hasRemote=" + ring.hasRemoteNodes() + ']');
-
if (spi.ipFinder.isShared() && !ring.hasRemoteNodes()) {
try {
spi.ipFinder.unregisterAddresses(locNode.socketAddresses());
@@ -3765,22 +3735,11 @@ class ServerImpl extends TcpDiscoveryImpl {
if (clientNodeIds.contains(clientNode.id()))
clientNode.aliveCheck(spi.maxMissedClientHbs);
else {
- if (!isLocalNodeCoordinator())
- continue;
-
- if (clientNode.aliveCheck() == 0)
- // Node can just became coordinator without receiving any client heartbeat.
- clientNode.aliveCheck(spi.maxMissedClientHbs);
-
int aliveCheck = clientNode.decrementAliveCheck();
- if (aliveCheck == 0) {
- // Make aliveCheck negative
- clientNode.decrementAliveCheck();
-
+ if (aliveCheck <= 0 && isLocalNodeCoordinator() && !failedNodes.contains(clientNode))
processNodeFailedMessage(new TcpDiscoveryNodeFailedMessage(locNodeId,
clientNode.id(), clientNode.internalOrder()));
- }
}
}
}
@@ -4354,8 +4313,7 @@ class ServerImpl extends TcpDiscoveryImpl {
spi.stats.onMessageReceived(msg);
- if (debugMode && !(msg instanceof TcpDiscoveryDiscardMessage) && !(msg instanceof TcpDiscoveryHeartbeatMessage)
- && !(msg instanceof TcpDiscoveryCustomEventMessage) && recordable(msg))
+ if (debugMode && recordable(msg))
debugLog("Message has been received: " + msg);
if (msg instanceof TcpDiscoveryJoinRequestMessage) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index b84e6c8..7663fe6 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -327,8 +327,6 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
/** */
private boolean forceSrvMode;
- public static volatile ArrayList<TcpDiscoverySpi> allSpis = new ArrayList<>();
-
/** {@inheritDoc} */
@Override public String getSpiState() {
return impl.getSpiState();
@@ -1563,12 +1561,6 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
impl = new ServerImpl(this);
}
-// impl.setDebugMode(true);
-//
-// synchronized (allSpis) {
-// allSpis.add(this);
-// }
-
assertParameter(ipFinder != null, "ipFinder != null");
assertParameter(hbFreq > 0, "heartbeatFreq > 0");
assertParameter(netTimeout > 0, "networkTimeout > 0");
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
index 46844ba..22f56c3 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/internal/TcpDiscoveryNode.java
@@ -427,12 +427,6 @@ public class TcpDiscoveryNode extends GridMetadataAwareAdapter implements Cluste
this.aliveCheck = aliveCheck;
}
- public int aliveCheck() {
- assert isClient();
-
- return aliveCheck;
- }
-
/**
* @return Client router node ID.
*/
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
index cd85bfd..93ecdaa 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryNodeFailedMessage.java
@@ -51,7 +51,6 @@ public class TcpDiscoveryNodeFailedMessage extends TcpDiscoveryAbstractMessage {
public TcpDiscoveryNodeFailedMessage(UUID creatorNodeId, UUID failedNodeId, long order) {
super(creatorNodeId);
- U.dumpStack("Failed = " + failedNodeId + ", creator=" + creatorNodeId);
assert failedNodeId != null;
assert order > 0;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 4e5c68e..fa70828 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -40,7 +40,7 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
private static final int GRID_CNT = 5;
/** */
- private static final int CLIENT_GRID_CNT = 1;
+ private static final int CLIENT_GRID_CNT = 5;
/** */
private static final ThreadLocal<Boolean> clientFlagPerThread = new ThreadLocal<>();
@@ -95,78 +95,60 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
/** {@inheritDoc} */
@Override protected long getTestTimeout() {
- return 2 * 60 * 1000;
+ return 3 * 60 * 1000;
}
/**
* @throws Exception If any error occurs.
*/
- public void testMultiThreaded() throws Exception {
- //fail("https://issues.apache.org/jira/browse/IGNITE-1100");
+ public void testMultiThreadedClientsRestart() throws Exception {
+ clientFlagGlobal = false;
- execute();
- }
+ info("Test timeout: " + (getTestTimeout() / (60 * 1000)) + " min.");
- /**
- * @throws Exception If any error occurs.
- */
- public void testTopologyVersion() throws Exception {
startGridsMultiThreaded(GRID_CNT);
- long prev = 0;
-
- for (Ignite g : G.allGrids()) {
- IgniteKernal kernal = (IgniteKernal)g;
-
- long ver = kernal.context().discovery().topologyVersion();
-
- info("Top ver: " + ver);
-
- if (prev == 0)
- prev = ver;
- }
-
- info("Test finished.");
- }
-
- /**
- * @throws Exception If any error occurs.
- */
- public void testMultipleStartOnCoordinatorStop() throws Exception{
- startGrids(GRID_CNT);
-
- final CyclicBarrier barrier = new CyclicBarrier(GRID_CNT + 4);
+ clientFlagGlobal = true;
- final AtomicInteger startIdx = new AtomicInteger(GRID_CNT);
+ startGridsMultiThreaded(GRID_CNT, CLIENT_GRID_CNT);
- IgniteInternalFuture<?> fut = GridTestUtils.runMultiThreadedAsync(new Callable<Object>() {
- @Override public Object call() throws Exception {
- barrier.await();
+ final AtomicBoolean done = new AtomicBoolean();
- Ignite ignite = startGrid(startIdx.getAndIncrement());
+ final AtomicInteger clientIdx = new AtomicInteger(GRID_CNT);
- assertFalse(ignite.configuration().isClientMode());
+ IgniteInternalFuture<?> fut1 = multithreadedAsync(
+ new Callable<Object>() {
+ @Override public Object call() throws Exception {
+ clientFlagPerThread.set(true);
- log.info("Started node: " + ignite.name());
+ int idx = clientIdx.getAndIncrement();
- return null;
- }
- }, GRID_CNT + 3, "start-thread");
+ while (!done.get()) {
+ stopGrid(idx);
+ startGrid(idx);
+ }
- barrier.await();
+ return null;
+ }
+ },
+ CLIENT_GRID_CNT
+ );
- U.sleep(ThreadLocalRandom.current().nextInt(10, 100));
+ Thread.sleep(getTestTimeout() - 60 * 1000);
- for (int i = 0; i < GRID_CNT; i++)
- stopGrid(i);
+ done.set(true);
- fut.get();
+ fut1.get();
}
/**
- * @throws Exception If failed.
+ * @throws Exception If any error occurs.
*/
- private void execute() throws Exception {
+ public void testMultiThreadedClientsServersRestart() throws Exception {
+ fail("https://issues.apache.org/jira/browse/IGNITE-1123");
+
+ clientFlagGlobal = false;
+
info("Test timeout: " + (getTestTimeout() / (60 * 1000)) + " min.");
startGridsMultiThreaded(GRID_CNT);
@@ -229,4 +211,64 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
fut1.get();
fut2.get();
}
+
+ /**
+ * @throws Exception If any error occurs.
+ */
+ public void testTopologyVersion() throws Exception {
+ clientFlagGlobal = false;
+
+ startGridsMultiThreaded(GRID_CNT);
+
+ long prev = 0;
+
+ for (Ignite g : G.allGrids()) {
+ IgniteKernal kernal = (IgniteKernal)g;
+
+ long ver = kernal.context().discovery().topologyVersion();
+
+ info("Top ver: " + ver);
+
+ if (prev == 0)
+ prev = ver;
+ }
+
+ info("Test finished.");
+ }
+
+ /**
+ * @throws Exception If any error occurs.
+ */
+ public void testMultipleStartOnCoordinatorStop() throws Exception{
+ clientFlagGlobal = false;
+
+ startGrids(GRID_CNT);
+
+ final CyclicBarrier barrier = new CyclicBarrier(GRID_CNT + 4);
+
+ final AtomicInteger startIdx = new AtomicInteger(GRID_CNT);
+
+ IgniteInternalFuture<?> fut = GridTestUtils.runMultiThreadedAsync(new Callable<Object>() {
+ @Override public Object call() throws Exception {
+ barrier.await();
+
+ Ignite ignite = startGrid(startIdx.getAndIncrement());
+
+ assertFalse(ignite.configuration().isClientMode());
+
+ log.info("Started node: " + ignite.name());
+
+ return null;
+ }
+ }, GRID_CNT + 3, "start-thread");
+
+ barrier.await();
+
+ U.sleep(ThreadLocalRandom.current().nextInt(10, 100));
+
+ for (int i = 0; i < GRID_CNT; i++)
+ stopGrid(i);
+
+ fut.get();
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/baeb924e/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
index f7ec124..06a1523 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
@@ -1022,33 +1022,26 @@ public abstract class GridAbstractTest extends TestCase {
* @param cancel Cancel flag.
*/
@SuppressWarnings("deprecation")
- protected boolean stopGrid(int idx, boolean cancel) {
+ protected void stopGrid(int idx, boolean cancel) {
String gridName = getTestGridName(idx);
- boolean res;
-
try {
Ignite ignite = G.ignite(gridName);
assert ignite != null : "Ignite returned null grid for name: " + gridName;
- info(">>> Stopping grid [name=" + ignite.name() + ", id=" + ignite.cluster().localNode().id() +
- ", isClient=" + ignite.configuration().isClientMode() + ']');
+ info(">>> Stopping grid [name=" + ignite.name() + ", id=" + ignite.cluster().localNode().id() + ']');
- res = G.stop(gridName, cancel);
+ G.stop(gridName, cancel);
}
catch (IllegalStateException ignored) {
// Ignore error if grid already stopped.
- res = true;
}
catch (Throwable e) {
error("Failed to stop grid [gridName=" + gridName + ", cancel=" + cancel + ']', e);
stopGridErr = true;
- res = false;
}
-
- return res;
}
/**
[31/50] [abbrv] incubator-ignite git commit: # ignite-929 close does
not destroy cache
Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java
index 1ba24e3..5093af5 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsForClusterGroupSelfTest.java
@@ -107,7 +107,7 @@ public class CacheMetricsForClusterGroupSelfTest extends GridCommonAbstractTest
assertMetrics(cache1);
assertMetrics(cache2);
- closeCaches();
+ destroyCaches();
}
/**
@@ -135,7 +135,7 @@ public class CacheMetricsForClusterGroupSelfTest extends GridCommonAbstractTest
assertMetrics(cache1);
assertMetrics(cache2);
- closeCaches();
+ destroyCaches();
}
/**
@@ -157,9 +157,9 @@ public class CacheMetricsForClusterGroupSelfTest extends GridCommonAbstractTest
/**
* Closes caches.
*/
- private void closeCaches() {
- cache1.close();
- cache2.close();
+ private void destroyCaches() {
+ cache1.destroy();
+ cache2.destroy();
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheOffheapMapEntrySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheOffheapMapEntrySelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheOffheapMapEntrySelfTest.java
index 8c7d33d..f4d7607 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheOffheapMapEntrySelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheOffheapMapEntrySelfTest.java
@@ -149,7 +149,9 @@ public class CacheOffheapMapEntrySelfTest extends GridCacheAbstractSelfTest {
cacheMode,
"Cache");
- try (IgniteCache jcache = grid(0).getOrCreateCache(cfg)) {
+ IgniteCache jcache = grid(0).getOrCreateCache(cfg);
+
+ try {
GridCacheAdapter<Integer, String> cache = ((IgniteKernal)grid(0)).internalCache(jcache.getName());
Integer key = primaryKey(grid(0).cache(null));
@@ -164,5 +166,8 @@ public class CacheOffheapMapEntrySelfTest extends GridCacheAbstractSelfTest {
assertEquals(entry.getClass(), entryCls);
}
+ finally {
+ jcache.destroy();
+ }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStopAndDestroySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStopAndDestroySelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStopAndDestroySelfTest.java
new file mode 100644
index 0000000..20284a8
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStopAndDestroySelfTest.java
@@ -0,0 +1,859 @@
+/*
+ * 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;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.managers.communication.*;
+import org.apache.ignite.internal.processors.cache.distributed.dht.*;
+import org.apache.ignite.internal.util.typedef.internal.*;
+import org.apache.ignite.plugin.extensions.communication.*;
+import org.apache.ignite.spi.*;
+import org.apache.ignite.spi.communication.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.testframework.*;
+import org.apache.ignite.testframework.junits.common.*;
+
+import javax.cache.*;
+import javax.cache.CacheManager;
+import javax.cache.configuration.*;
+import java.util.*;
+import java.util.concurrent.atomic.*;
+
+import static org.apache.ignite.cache.CacheMode.*;
+
+/**
+ * Checks stop and destroy methods behavior.
+ */
+public class CacheStopAndDestroySelfTest extends GridCommonAbstractTest {
+ /** */
+ private static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
+
+ /** key-value used at test. */
+ protected static String KEY_VAL = "1";
+
+ /** cache name 1. */
+ protected static String CACHE_NAME_DHT = "cache";
+
+ /** cache name 2. */
+ protected static String CACHE_NAME_CLIENT = "cache_client";
+
+ /** near cache name. */
+ protected static String CACHE_NAME_NEAR = "cache_near";
+
+ /** local cache name. */
+ protected static String CACHE_NAME_LOC = "cache_local";
+
+ /** */
+ private static volatile boolean stop;
+
+ /** {@inheritDoc} */
+ @Override protected void beforeTest() throws Exception {
+ super.beforeTest();
+
+ startGridsMultiThreaded(gridCount());
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void afterTest() throws Exception {
+ super.afterTest();
+
+ stopAllGrids();
+ }
+
+ /**
+ * @return Grids count to start.
+ */
+ protected int gridCount() {
+ return 3;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+ IgniteConfiguration iCfg = super.getConfiguration(gridName);
+
+ if (getTestGridName(2).equals(gridName))
+ iCfg.setClientMode(true);
+
+ ((TcpDiscoverySpi)iCfg.getDiscoverySpi()).setIpFinder(ipFinder);
+ ((TcpDiscoverySpi)iCfg.getDiscoverySpi()).setForceServerMode(true);
+
+ iCfg.setCacheConfiguration();
+
+ TcpCommunicationSpi commSpi = new CountingTxRequestsToClientNodeTcpCommunicationSpi();
+
+ commSpi.setLocalPort(GridTestUtils.getNextCommPort(getClass()));
+ commSpi.setTcpNoDelay(true);
+
+ iCfg.setCommunicationSpi(commSpi);
+
+ return iCfg;
+ }
+
+ /**
+ * Helps to count messages.
+ */
+ public static class CountingTxRequestsToClientNodeTcpCommunicationSpi extends TcpCommunicationSpi {
+ /** Counter. */
+ public static AtomicInteger cnt = new AtomicInteger();
+
+ /** Node filter. */
+ public static UUID nodeFilter;
+
+ /** {@inheritDoc} */
+ @Override public void sendMessage(ClusterNode node, Message msg) throws IgniteSpiException {
+ super.sendMessage(node, msg);
+
+ if (nodeFilter != null &&
+ node.id().equals(nodeFilter) &&
+ msg instanceof GridIoMessage &&
+ ((GridIoMessage)msg).message() instanceof GridDhtTxPrepareRequest)
+ cnt.incrementAndGet();
+ }
+ }
+
+ /**
+ * @return dht config
+ */
+ private CacheConfiguration getDhtConfig() {
+ CacheConfiguration cfg = defaultCacheConfiguration();
+
+ cfg.setName(CACHE_NAME_DHT);
+ cfg.setCacheMode(PARTITIONED);
+ cfg.setNearConfiguration(null);
+
+ return cfg;
+ }
+
+ /**
+ * @return client config
+ */
+ private CacheConfiguration getClientConfig() {
+ CacheConfiguration cfg = defaultCacheConfiguration();
+
+ cfg.setName(CACHE_NAME_CLIENT);
+ cfg.setCacheMode(PARTITIONED);
+ cfg.setNearConfiguration(null);
+
+ return cfg;
+ }
+
+ /**
+ * @return near config
+ */
+ private CacheConfiguration getNearConfig() {
+ CacheConfiguration cfg = defaultCacheConfiguration();
+
+ cfg.setName(CACHE_NAME_NEAR);
+ cfg.setCacheMode(PARTITIONED);
+ cfg.setNearConfiguration(new NearCacheConfiguration());
+
+ return cfg;
+ }
+
+ /**
+ * @return local config
+ */
+ private CacheConfiguration getLocalConfig() {
+ CacheConfiguration cfg = defaultCacheConfiguration();
+
+ cfg.setName(CACHE_NAME_LOC);
+ cfg.setCacheMode(LOCAL);
+ cfg.setNearConfiguration(null);
+
+ return cfg;
+ }
+
+ /**
+ * Test Double Destroy.
+ *
+ * @throws Exception If failed.
+ */
+ public void testDhtDoubleDestroy() throws Exception {
+ dhtDestroy();
+
+ dhtDestroy();
+ }
+
+ /**
+ * Test DHT Destroy.
+ *
+ * @throws Exception If failed.
+ */
+ private void dhtDestroy() throws Exception {
+ grid(0).getOrCreateCache(getDhtConfig());
+
+ assertNull(grid(0).cache(CACHE_NAME_DHT).get(KEY_VAL));
+
+ grid(0).cache(CACHE_NAME_DHT).put(KEY_VAL, KEY_VAL);
+
+ assertEquals(KEY_VAL, grid(0).cache(CACHE_NAME_DHT).get(KEY_VAL));
+ assertEquals(KEY_VAL, grid(1).cache(CACHE_NAME_DHT).get(KEY_VAL));
+ assertEquals(KEY_VAL, grid(2).cache(CACHE_NAME_DHT).get(KEY_VAL));
+
+ assertFalse(grid(0).configuration().isClientMode());
+
+ // DHT Destroy. Cache should be removed from each node.
+
+ IgniteCache<Object, Object> cache = grid(0).cache(CACHE_NAME_DHT);
+
+ cache.destroy();
+
+ checkDestroyed(cache);
+ }
+
+ /**
+ * Test Double Destroy.
+ *
+ * @throws Exception If failed.
+ */
+ public void testClientDoubleDestroy() throws Exception {
+ clientDestroy();
+
+ clientDestroy();
+ }
+
+ /**
+ * Test Client Destroy.
+ *
+ * @throws Exception If failed.
+ */
+ private void clientDestroy() throws Exception {
+ grid(0).getOrCreateCache(getClientConfig());
+
+ assertNull(grid(0).cache(CACHE_NAME_CLIENT).get(KEY_VAL));
+
+ grid(0).cache(CACHE_NAME_CLIENT).put(KEY_VAL, KEY_VAL);
+
+ assertEquals(KEY_VAL, grid(0).cache(CACHE_NAME_CLIENT).get(KEY_VAL));
+ assertEquals(KEY_VAL, grid(1).cache(CACHE_NAME_CLIENT).get(KEY_VAL));
+ assertEquals(KEY_VAL, grid(2).cache(CACHE_NAME_CLIENT).get(KEY_VAL));
+
+ // DHT Destroy from client node. Cache should be removed from each node.
+
+ assertTrue(grid(2).configuration().isClientMode());
+
+ IgniteCache<Object, Object> cache = grid(2).cache(CACHE_NAME_CLIENT);
+
+ cache.destroy(); // Client node.
+
+ checkDestroyed(cache);
+ }
+
+ /**
+ * Test Double Destroy.
+ *
+ * @throws Exception If failed.
+ */
+ public void testNearDoubleDestroy() throws Exception {
+ nearDestroy();
+
+ nearDestroy();
+ }
+
+ /**
+ * Test Near Destroy.
+ *
+ * @throws Exception If failed.
+ */
+ private void nearDestroy() throws Exception {
+ grid(0).getOrCreateCache(getNearConfig());
+
+ grid(2).getOrCreateNearCache(CACHE_NAME_NEAR, new NearCacheConfiguration());
+
+ assertNull(grid(0).cache(CACHE_NAME_NEAR).get(KEY_VAL));
+ assertNull(grid(2).cache(CACHE_NAME_NEAR).get(KEY_VAL));
+
+ grid(2).cache(CACHE_NAME_NEAR).put(KEY_VAL, KEY_VAL);
+ grid(0).cache(CACHE_NAME_NEAR).put(KEY_VAL, "near-test");
+
+ assertEquals("near-test", grid(2).cache(CACHE_NAME_NEAR).localPeek(KEY_VAL));
+
+ // Near cache destroy. Cache should be removed from each node.
+
+ IgniteCache<Object, Object> cache = grid(2).cache(CACHE_NAME_NEAR);
+
+ cache.destroy();
+
+ checkDestroyed(cache);
+ }
+
+ /**
+ * Test Double Destroy.
+ *
+ * @throws Exception If failed.
+ */
+ public void testLocalDoubleDestroy() throws Exception {
+ localDestroy();
+
+ localDestroy();
+ }
+
+ /**
+ * Test Local Destroy.
+ *
+ * @throws Exception If failed.
+ */
+ private void localDestroy() throws Exception {
+ grid(0).getOrCreateCache(getLocalConfig());
+
+ assert grid(0).cache(CACHE_NAME_LOC).get(KEY_VAL) == null;
+ assert grid(1).cache(CACHE_NAME_LOC).get(KEY_VAL) == null;
+
+ grid(0).cache(CACHE_NAME_LOC).put(KEY_VAL, KEY_VAL + 0);
+ grid(1).cache(CACHE_NAME_LOC).put(KEY_VAL, KEY_VAL + 1);
+
+ assert grid(0).cache(CACHE_NAME_LOC).get(KEY_VAL).equals(KEY_VAL + 0);
+ assert grid(1).cache(CACHE_NAME_LOC).get(KEY_VAL).equals(KEY_VAL + 1);
+
+ grid(0).cache(CACHE_NAME_LOC).destroy();
+
+ assertNull(grid(0).cache(CACHE_NAME_LOC));
+ }
+
+ /**
+ * Test Dht close.
+ *
+ * @throws Exception If failed.
+ */
+ public void testDhtClose() throws Exception {
+ IgniteCache<Integer, Integer> dhtCache0 = grid(0).getOrCreateCache(getDhtConfig());
+
+ final Integer key = primaryKey(dhtCache0);
+
+ assertNull(dhtCache0.get(key));
+
+ dhtCache0.put(key, key);
+
+ assertEquals(key, dhtCache0.get(key));
+
+ // DHT Close. No-op.
+
+ IgniteCache<Integer, Integer> dhtCache1 = grid(1).cache(CACHE_NAME_DHT);
+ IgniteCache<Integer, Integer> dhtCache2 = grid(2).cache(CACHE_NAME_DHT);
+
+ dhtCache0.close();
+
+ try {
+ dhtCache0.get(key);// Not affected, but can not be taken.
+
+ fail();
+ }
+ catch (IllegalStateException ignored) {
+ // No-op
+ }
+
+ assertEquals(key, dhtCache1.get(key)); // Not affected.
+ assertEquals(key, dhtCache2.get(key));// Not affected.
+
+ // DHT Creation after closed.
+
+ IgniteCache<Integer, Integer> dhtCache0New = grid(0).cache(CACHE_NAME_DHT);
+
+ assertNotSame(dhtCache0, dhtCache0New);
+
+ assertEquals(key, dhtCache0New.get(key)); // Not affected, can be taken since cache reopened.
+
+ dhtCache2.put(key, key + 1);
+
+ assertEquals((Object)(key + 1), dhtCache0New.get(key));
+
+ // Check close at last node.
+
+ stopAllGrids(true);
+
+ startGrid(0);
+
+ dhtCache0 = grid(0).getOrCreateCache(getDhtConfig());
+
+ assertNull(dhtCache0.get(key));
+
+ dhtCache0.put(key, key);
+
+ assertEquals(key, dhtCache0.get(key));
+
+ // Closing last node.
+ dhtCache0.close();
+
+ try {
+ dhtCache0.get(key);// Can not be taken.
+
+ fail();
+ }
+ catch (IllegalStateException ignored) {
+ // No-op
+ }
+
+ // Reopening cache.
+ dhtCache0 = grid(0).cache(CACHE_NAME_DHT);
+
+ assertEquals(key, dhtCache0.get(key)); // Entry not loosed.
+ }
+
+ /**
+ * Test Dht close.
+ *
+ * @throws Exception If failed.
+ */
+ public void testDhtCloseWithTry() throws Exception {
+ String curVal = null;
+
+ for (int i = 0; i < 3; i++) {
+ try (IgniteCache<String, String> cache0 = grid(0).getOrCreateCache(getDhtConfig())) {
+ IgniteCache<String, String> cache1 = grid(1).cache(CACHE_NAME_DHT);
+ IgniteCache<String, String> cache2 = grid(2).cache(CACHE_NAME_DHT);
+
+ if (i == 0) {
+ assert cache0.get(KEY_VAL) == null;
+ assert cache1.get(KEY_VAL) == null;
+ assert cache2.get(KEY_VAL) == null;
+ }
+ else {
+ assert cache0.get(KEY_VAL).equals(curVal);
+ assert cache1.get(KEY_VAL).equals(curVal);
+ assert cache2.get(KEY_VAL).equals(curVal);
+ }
+
+ curVal = KEY_VAL + curVal;
+
+ cache0.put(KEY_VAL, curVal);
+
+ assert cache0.get(KEY_VAL).equals(curVal);
+ assert cache1.get(KEY_VAL).equals(curVal);
+ assert cache2.get(KEY_VAL).equals(curVal);
+ }
+ }
+ }
+
+ /**
+ * Test Client close.
+ *
+ * @throws Exception If failed.
+ */
+ public void testClientClose() throws Exception {
+ IgniteCache<String, String> cache0 = grid(0).getOrCreateCache(getClientConfig());
+
+ assert cache0.get(KEY_VAL) == null;
+
+ cache0.put(KEY_VAL, KEY_VAL);
+
+ assert cache0.get(KEY_VAL).equals(KEY_VAL);
+
+ // DHT Close from client node. Should affect only client node.
+
+ IgniteCache<String, String> cache1 = grid(1).cache(CACHE_NAME_CLIENT);
+ IgniteCache<String, String> cache2 = grid(2).cache(CACHE_NAME_CLIENT);
+
+ assert cache2.get(KEY_VAL).equals(KEY_VAL);
+
+ cache2.close();// Client node.
+
+ assert cache0.get(KEY_VAL).equals(KEY_VAL);// Not affected.
+ assert cache1.get(KEY_VAL).equals(KEY_VAL);// Not affected.
+
+ try {
+ cache2.get(KEY_VAL);// Affected.
+
+ assert false;
+ }
+ catch (IllegalStateException ignored) {
+ // No-op
+ }
+
+ // DHT Creation from client node after closed.
+ IgniteCache<String, String> cache2New = grid(2).cache(CACHE_NAME_CLIENT);
+
+ assertNotSame(cache2, cache2New);
+
+ assert cache2New.get(KEY_VAL).equals(KEY_VAL);
+
+ cache0.put(KEY_VAL, KEY_VAL + "recreated");
+
+ assert cache0.get(KEY_VAL).equals(KEY_VAL + "recreated");
+ assert cache1.get(KEY_VAL).equals(KEY_VAL + "recreated");
+ assert cache2New.get(KEY_VAL).equals(KEY_VAL + "recreated");
+ }
+
+ /**
+ * Test Client close.
+ *
+ * @throws Exception If failed.
+ */
+ public void testClientCloseWithTry() throws Exception {
+ String curVal = null;
+
+ for (int i = 0; i < 3; i++) {
+ try (IgniteCache<String, String> cache2 = grid(2).getOrCreateCache(getClientConfig())) {
+ IgniteCache<String, String> cache0 = grid(0).cache(CACHE_NAME_CLIENT);
+ IgniteCache<String, String> cache1 = grid(1).cache(CACHE_NAME_CLIENT);
+
+ if (i == 0) {
+ assert cache0.get(KEY_VAL) == null;
+ assert cache1.get(KEY_VAL) == null;
+ assert cache2.get(KEY_VAL) == null;
+ }
+ else {
+ assert cache0.get(KEY_VAL).equals(curVal);
+ assert cache1.get(KEY_VAL).equals(curVal);
+ assert cache2.get(KEY_VAL).equals(curVal);
+ }
+
+ curVal = KEY_VAL + curVal;
+
+ cache2.put(KEY_VAL, curVal);
+
+ assert cache0.get(KEY_VAL).equals(curVal);
+ assert cache1.get(KEY_VAL).equals(curVal);
+ assert cache2.get(KEY_VAL).equals(curVal);
+ }
+
+ awaitPartitionMapExchange();
+ }
+ }
+
+ /**
+ * Test Near close.
+ *
+ * @throws Exception If failed.
+ */
+ public void testNearClose() throws Exception {
+ IgniteCache<String, String> cache0 = grid(0).getOrCreateCache(getNearConfig());
+
+ // GridDhtTxPrepareRequest requests to Client node will be counted.
+ CountingTxRequestsToClientNodeTcpCommunicationSpi.nodeFilter = grid(2).context().localNodeId();
+
+ // Near Close from client node.
+
+ IgniteCache<String, String> cache1 = grid(1).cache(CACHE_NAME_NEAR);
+ IgniteCache<String, String> cache2 = grid(2).createNearCache(CACHE_NAME_NEAR, new NearCacheConfiguration());
+
+ assert cache2.get(KEY_VAL) == null;
+
+ // Subscribing to events.
+ cache2.put(KEY_VAL, KEY_VAL);
+
+ CountingTxRequestsToClientNodeTcpCommunicationSpi.cnt.set(0);
+
+ cache0.put(KEY_VAL, "near-test");
+
+ U.sleep(1000);
+
+ //Ensure near cache was automatically updated.
+ assert CountingTxRequestsToClientNodeTcpCommunicationSpi.cnt.get() != 0;
+
+ assert cache2.localPeek(KEY_VAL).equals("near-test");
+
+ cache2.close();
+
+ CountingTxRequestsToClientNodeTcpCommunicationSpi.cnt.set(0);
+
+ // Should not produce messages to client node.
+ cache0.put(KEY_VAL, KEY_VAL + 0);
+
+ U.sleep(1000);
+
+ // Ensure near cache was NOT automatically updated.
+ assert CountingTxRequestsToClientNodeTcpCommunicationSpi.cnt.get() == 0;
+
+ assert cache0.get(KEY_VAL).equals(KEY_VAL + 0);// Not affected.
+ assert cache1.get(KEY_VAL).equals(KEY_VAL + 0);// Not affected.
+
+ try {
+ cache2.get(KEY_VAL);// Affected.
+
+ assert false;
+ }
+ catch (IllegalArgumentException | IllegalStateException ignored) {
+ // No-op
+ }
+
+ // Near Creation from client node after closed.
+
+ IgniteCache<String, String> cache2New = grid(2).createNearCache(CACHE_NAME_NEAR, new NearCacheConfiguration());
+
+ assertNotSame(cache2, cache2New);
+
+ // Subscribing to events.
+ cache2New.put(KEY_VAL, KEY_VAL);
+
+ assert cache2New.localPeek(KEY_VAL).equals(KEY_VAL);
+
+ cache0.put(KEY_VAL, KEY_VAL + "recreated");
+
+ assert cache0.get(KEY_VAL).equals(KEY_VAL + "recreated");
+ assert cache1.get(KEY_VAL).equals(KEY_VAL + "recreated");
+ assert cache2New.localPeek(KEY_VAL).equals(KEY_VAL + "recreated");
+ }
+
+ /**
+ * Test Near close.
+ *
+ * @throws Exception If failed.
+ */
+ public void testNearCloseWithTry() throws Exception {
+ String curVal = null;
+
+ grid(0).getOrCreateCache(getNearConfig());
+
+ NearCacheConfiguration nearCfg = new NearCacheConfiguration();
+
+ for (int i = 0; i < 3; i++) {
+ try (IgniteCache<String, String> cache2 = grid(2).getOrCreateNearCache(CACHE_NAME_NEAR, nearCfg)) {
+ IgniteCache<String, String> cache0 = grid(0).cache(CACHE_NAME_NEAR);
+ IgniteCache<String, String> cache1 = grid(1).cache(CACHE_NAME_NEAR);
+
+ assert cache2.localPeek(KEY_VAL) == null;
+
+ assert cache0.get(KEY_VAL) == null || cache0.get(KEY_VAL).equals(curVal);
+ assert cache1.get(KEY_VAL) == null || cache1.get(KEY_VAL).equals(curVal);
+ assert cache2.get(KEY_VAL) == null || cache2.get(KEY_VAL).equals(curVal);
+
+ curVal = KEY_VAL + curVal;
+
+ cache2.put(KEY_VAL, curVal);
+
+ assert cache2.localPeek(KEY_VAL).equals(curVal);
+
+ assert cache0.get(KEY_VAL).equals(curVal);
+ assert cache1.get(KEY_VAL).equals(curVal);
+ assert cache2.get(KEY_VAL).equals(curVal);
+ }
+ }
+ }
+
+ /**
+ * Test Local close.
+ *
+ * @throws Exception If failed.
+ */
+ public void testLocalClose() throws Exception {
+ grid(0).getOrCreateCache(getLocalConfig());
+
+ assert grid(0).cache(CACHE_NAME_LOC).get(KEY_VAL) == null;
+ assert grid(1).cache(CACHE_NAME_LOC).get(KEY_VAL) == null;
+
+ grid(0).cache(CACHE_NAME_LOC).put(KEY_VAL, KEY_VAL + 0);
+ grid(1).cache(CACHE_NAME_LOC).put(KEY_VAL, KEY_VAL + 1);
+
+ assert grid(0).cache(CACHE_NAME_LOC).get(KEY_VAL).equals(KEY_VAL + 0);
+ assert grid(1).cache(CACHE_NAME_LOC).get(KEY_VAL).equals(KEY_VAL + 1);
+
+ // Local close. Same as Local destroy.
+
+ IgniteCache<Object, Object> cache = grid(1).cache(CACHE_NAME_LOC);
+
+ cache.close();
+
+ checkUsageFails(cache);
+
+ assertNull(grid(1).cache(CACHE_NAME_LOC));
+
+ // Local creation after closed.
+
+ grid(0).getOrCreateCache(getLocalConfig());
+
+ grid(0).cache(CACHE_NAME_LOC).put(KEY_VAL, KEY_VAL + "recreated0");
+ grid(1).cache(CACHE_NAME_LOC).put(KEY_VAL, KEY_VAL + "recreated1");
+ grid(2).cache(CACHE_NAME_LOC).put(KEY_VAL, KEY_VAL + "recreated2");
+
+ assert grid(0).cache(CACHE_NAME_LOC).get(KEY_VAL).equals(KEY_VAL + "recreated0");
+ assert grid(1).cache(CACHE_NAME_LOC).get(KEY_VAL).equals(KEY_VAL + "recreated1");
+ assert grid(2).cache(CACHE_NAME_LOC).get(KEY_VAL).equals(KEY_VAL + "recreated2");
+ }
+
+ /**
+ * Test Local close.
+ *
+ * @throws Exception If failed.
+ */
+ public void testLocalCloseWithTry() throws Exception {
+ String curVal = null;
+
+ for (int i = 0; i < 3; i++) {
+ try (IgniteCache<String, String> cache2 = grid(2).getOrCreateCache(getLocalConfig())) {
+ IgniteCache<String, String> cache0 = grid(0).cache(CACHE_NAME_LOC);
+ IgniteCache<String, String> cache1 = grid(1).cache(CACHE_NAME_LOC);
+
+ assert cache0.get(KEY_VAL) == null;
+ assert cache1.get(KEY_VAL) == null;
+ assert cache2.get(KEY_VAL) == null;
+
+ curVal = KEY_VAL + curVal;
+
+ cache0.put(KEY_VAL, curVal + 1);
+ cache1.put(KEY_VAL, curVal + 2);
+ cache2.put(KEY_VAL, curVal + 3);
+
+ assert cache0.get(KEY_VAL).equals(curVal + 1);
+ assert cache1.get(KEY_VAL).equals(curVal + 2);
+ assert cache2.get(KEY_VAL).equals(curVal + 3);
+ }
+ }
+ }
+
+ /**
+ * Tests concurrent close.
+ *
+ * @throws Exception If failed.
+ */
+ public void testConcurrentCloseSetWithTry() throws Exception {
+ final AtomicInteger a1 = new AtomicInteger();
+ final AtomicInteger a2 = new AtomicInteger();
+ final AtomicInteger a3 = new AtomicInteger();
+ final AtomicInteger a4 = new AtomicInteger();
+
+ Thread t1 = new Thread(new Runnable() {
+ @Override public void run() {
+ Thread.currentThread().setName("test-thread-1");
+
+ closeWithTry(a1, 0);
+ }
+ });
+ Thread t2 = new Thread(new Runnable() {
+ @Override public void run() {
+ Thread.currentThread().setName("test-thread-2");
+
+ closeWithTry(a2, 0);
+ }
+ });
+ Thread t3 = new Thread(new Runnable() {
+ @Override public void run() {
+ Thread.currentThread().setName("test-thread-3");
+
+ closeWithTry(a3, 2);
+ }
+ });
+ Thread t4 = new Thread(new Runnable() {
+ @Override public void run() {
+ Thread.currentThread().setName("test-thread-4");
+
+ closeWithTry(a4, 2);
+ }
+ });
+
+ IgniteCache<Object, Object> cache = grid(0).getOrCreateCache(getDhtConfig());
+
+ cache.close();
+
+ t1.start();
+ t2.start();
+ t3.start();
+ t4.start();
+
+ try {
+ U.sleep(1000);
+ }
+ finally {
+ stop = true;
+ }
+
+ t1.join();
+ t2.join();
+ t3.join();
+ t4.join();
+
+ assert a1.get() > 1;
+ assert a2.get() > 1;
+ assert a3.get() > 1;
+ assert a4.get() > 1;
+
+ checkUsageFails(cache);
+ }
+
+ /**
+ * @param a AtomicInteger.
+ * @param node Node.
+ */
+ public void closeWithTry(AtomicInteger a, int node) {
+ while (!stop) {
+ try (IgniteCache<String, String> cache = grid(node).getOrCreateCache(getDhtConfig())) {
+ a.incrementAndGet();
+
+ assert cache.get(KEY_VAL) == null || cache.get(KEY_VAL).equals(KEY_VAL);
+
+ cache.put(KEY_VAL, KEY_VAL);
+
+ assert cache.get(KEY_VAL).equals(KEY_VAL);
+ }
+ }
+ }
+
+ /**
+ * Tests start -> destroy -> start -> close using CacheManager.
+ */
+ public void testTckStyleCreateDestroyClose() {
+ CacheManager mgr = Caching.getCachingProvider().getCacheManager();
+
+ String cacheName = "cache";
+
+ mgr.createCache(cacheName, new MutableConfiguration<Integer, String>().setTypes(Integer.class, String.class));
+
+ mgr.destroyCache(cacheName);
+
+ Cache<Integer, String> cache = mgr.createCache(cacheName,
+ new MutableConfiguration<Integer, String>().setTypes(Integer.class, String.class));
+
+ cache.close();
+
+ cache.close();
+
+ try {
+ cache.get(1);
+
+ fail();
+ }
+ catch (IllegalStateException e) {
+ // No-op;
+ }
+ }
+
+ /**
+ * @param cache Cache.
+ * @throws Exception If failed.
+ */
+ private void checkDestroyed(IgniteCache<Object, Object> cache) throws Exception {
+ checkUsageFails(cache);
+
+ awaitPartitionMapExchange();
+
+ String cacheName = cache.getName();
+
+ for (int i = 0; i < 3; i++)
+ assertNull("Unexpected cache for node: " + i, grid(i).cache(cacheName));
+ }
+
+ /**
+ * @param cache Cache.
+ * @throws Exception If failed.
+ */
+ private void checkUsageFails(IgniteCache<Object, Object> cache) throws Exception {
+ try {
+ cache.get(0);
+
+ fail();
+ }
+ catch (IllegalStateException e) {
+ // No-op.
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStoreUsageMultinodeDynamicStartAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStoreUsageMultinodeDynamicStartAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStoreUsageMultinodeDynamicStartAbstractTest.java
index 82667d9..2d52933 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStoreUsageMultinodeDynamicStartAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStoreUsageMultinodeDynamicStartAbstractTest.java
@@ -163,7 +163,7 @@ public abstract class CacheStoreUsageMultinodeDynamicStartAbstractTest extends C
cache = srv.cache(null);
if (cache != null)
- cache.close();
+ cache.destroy();
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridProjectionForCachesOnDaemonNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridProjectionForCachesOnDaemonNodeSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridProjectionForCachesOnDaemonNodeSelfTest.java
index b9acd99..e640f82 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridProjectionForCachesOnDaemonNodeSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridProjectionForCachesOnDaemonNodeSelfTest.java
@@ -88,7 +88,7 @@ public class GridProjectionForCachesOnDaemonNodeSelfTest extends GridCommonAbstr
/** {@inheritDoc} */
@Override protected void afterTest() throws Exception {
- ignite.cache(null).close();
+ ignite.cache(null).destroy();
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDynamicCacheStartSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDynamicCacheStartSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDynamicCacheStartSelfTest.java
index cd19703..d1f8016 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDynamicCacheStartSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDynamicCacheStartSelfTest.java
@@ -175,7 +175,7 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
GridTestUtils.runMultiThreaded(new Callable<Object>() {
@Override public Object call() throws Exception {
- futs.add(kernal.context().cache().dynamicStopCache(DYNAMIC_CACHE_NAME));
+ futs.add(kernal.context().cache().dynamicDestroyCache(DYNAMIC_CACHE_NAME));
return null;
}
@@ -237,7 +237,7 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
@Override public Object call() throws Exception {
IgniteEx kernal = grid(ThreadLocalRandom.current().nextInt(nodeCount()));
- futs.add(kernal.context().cache().dynamicStopCache(DYNAMIC_CACHE_NAME));
+ futs.add(kernal.context().cache().dynamicDestroyCache(DYNAMIC_CACHE_NAME));
return null;
}
@@ -300,7 +300,7 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
for (int g = 0; g < nodeCount(); g++)
caches[g] = grid(g).cache(DYNAMIC_CACHE_NAME);
- kernal.context().cache().dynamicStopCache(DYNAMIC_CACHE_NAME).get();
+ kernal.context().cache().dynamicDestroyCache(DYNAMIC_CACHE_NAME).get();
for (int g = 0; g < nodeCount(); g++) {
final IgniteKernal kernal0 = (IgniteKernal) grid(g);
@@ -353,7 +353,7 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
}
// Undeploy cache.
- kernal.context().cache().dynamicStopCache(DYNAMIC_CACHE_NAME).get();
+ kernal.context().cache().dynamicDestroyCache(DYNAMIC_CACHE_NAME).get();
startGrid(nodeCount() + 1);
@@ -430,7 +430,7 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
}, IllegalArgumentException.class, null);
}
- kernal.context().cache().dynamicStopCache(DYNAMIC_CACHE_NAME).get();
+ kernal.context().cache().dynamicDestroyCache(DYNAMIC_CACHE_NAME).get();
stopGrid(nodeCount() + 1);
stopGrid(nodeCount());
@@ -483,7 +483,7 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
GridTestUtils.assertThrows(log, new Callable<Object>() {
@Override public Object call() throws Exception {
- IgniteKernal ignite = (IgniteKernal) grid(nodeCount());
+ IgniteKernal ignite = (IgniteKernal)grid(nodeCount());
return ignite.getCache(DYNAMIC_CACHE_NAME);
}
@@ -497,7 +497,7 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
for (int g = 0; g < nodeCount() + 1; g++)
assertEquals("1", ignite(g).cache(DYNAMIC_CACHE_NAME).get("1"));
- kernal.context().cache().dynamicStopCache(DYNAMIC_CACHE_NAME).get();
+ kernal.context().cache().dynamicDestroyCache(DYNAMIC_CACHE_NAME).get();
}
finally {
stopGrid(nodeCount());
@@ -539,7 +539,7 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
for (int g = 0; g < nodeCount() + 1; g++)
assertEquals("1", ignite(g).cache(DYNAMIC_CACHE_NAME).get("1"));
- kernal.context().cache().dynamicStopCache(DYNAMIC_CACHE_NAME).get();
+ kernal.context().cache().dynamicDestroyCache(DYNAMIC_CACHE_NAME).get();
}
finally {
stopGrid(nodeCount());
@@ -585,7 +585,7 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
for (int g = 0; g < nodeCount() + 1; g++)
assertEquals("1", ignite(g).cache(DYNAMIC_CACHE_NAME).get("1"));
- kernal.context().cache().dynamicStopCache(DYNAMIC_CACHE_NAME).get();
+ kernal.context().cache().dynamicDestroyCache(DYNAMIC_CACHE_NAME).get();
}
finally {
stopGrid(nodeCount());
@@ -638,10 +638,15 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
ignite(i).events().localListen(lsnrs[i], EventType.EVTS_CACHE_LIFECYCLE);
}
- try (IgniteCache<Object, Object> ignored = ignite(0).createCache(cfg)) {
+ IgniteCache<Object, Object> cache = ignite(0).createCache(cfg);
+
+ try {
for (CountDownLatch start : starts)
start.await();
}
+ finally {
+ cache.destroy();
+ }
for (CountDownLatch stop : stops)
stop.await();
@@ -665,28 +670,29 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
ccfg.setCacheMode(CacheMode.PARTITIONED);
ccfg.setNodeFilter(NODE_FILTER);
- try (IgniteCache cache = ig.createCache(ccfg, new NearCacheConfiguration())) {
- assertNotNull(cache);
+ IgniteCache cache = ig.createCache(ccfg, new NearCacheConfiguration());
+ assertNotNull(cache);
- GridCacheAdapter<Object, Object> cacheAdapter =
- ((IgniteKernal)ig).internalCache(DYNAMIC_CACHE_NAME);
+ GridCacheAdapter<Object, Object> cacheAdapter =
+ ((IgniteKernal)ig).internalCache(DYNAMIC_CACHE_NAME);
- assertNotNull(cacheAdapter);
- assertFalse(cacheAdapter.context().affinityNode());
- assertTrue(cacheAdapter.context().isNear());
+ assertNotNull(cacheAdapter);
+ assertFalse(cacheAdapter.context().affinityNode());
+ assertTrue(cacheAdapter.context().isNear());
- try {
- IgniteEx grid = startGrid(nodeCount() + 1);
+ try {
+ IgniteEx grid = startGrid(nodeCount() + 1);
- // Check that new node sees near node.
- GridDiscoveryManager disco = grid.context().discovery();
+ // Check that new node sees near node.
+ GridDiscoveryManager disco = grid.context().discovery();
- assertTrue(disco.cacheNearNode(disco.node(ig.cluster().localNode().id()),
- DYNAMIC_CACHE_NAME));
- }
- finally {
- stopGrid(nodeCount() + 1);
- }
+ assertTrue(disco.cacheNearNode(disco.node(ig.cluster().localNode().id()),
+ DYNAMIC_CACHE_NAME));
+ }
+ finally {
+ cache.destroy();
+
+ stopGrid(nodeCount() + 1);
}
}
finally {
@@ -955,14 +961,14 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
cfg.setNodeFilter(F.not(NODE_FILTER));
- try (IgniteCache<Object, Object> ignored = ignite(0).createCache(cfg)) {
+ IgniteCache<Object, Object> cache = ignite(0).createCache(cfg);
- final CountDownLatch[] latches = new CountDownLatch[nodeCount()];
+ final CountDownLatch[] latches = new CountDownLatch[nodeCount()];
- IgnitePredicate[] lsnrs = new IgnitePredicate[nodeCount()];
+ IgnitePredicate[] lsnrs = new IgnitePredicate[nodeCount()];
- for (int i = 0; i < nodeCount(); i++) {
- final int idx = i;
+ for (int i = 0; i < nodeCount(); i++) {
+ final int idx = i;
latches[i] = new CountDownLatch(1);
lsnrs[i] = new IgnitePredicate<CacheEvent>() {
@@ -971,29 +977,30 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
case EventType.EVT_CACHE_NODES_LEFT:
latches[idx].countDown();
- break;
+ break;
- default:
- assert false;
- }
+ default:
+ assert false;
+ }
- assertEquals(DYNAMIC_CACHE_NAME, e.cacheName());
+ assertEquals(DYNAMIC_CACHE_NAME, e.cacheName());
- return true;
- }
- };
+ return true;
+ }
+ };
- ignite(i).events().localListen(lsnrs[i], EventType.EVTS_CACHE_LIFECYCLE);
- }
+ ignite(i).events().localListen(lsnrs[i], EventType.EVTS_CACHE_LIFECYCLE);
+ }
- stopGrid(nodeCount());
+ stopGrid(nodeCount());
- for (CountDownLatch latch : latches)
- latch.await();
+ for (CountDownLatch latch : latches)
+ latch.await();
- for (int i = 0; i < nodeCount(); i++)
- ignite(i).events().stopLocalListen(lsnrs[i]);
- }
+ for (int i = 0; i < nodeCount(); i++)
+ ignite(i).events().stopLocalListen(lsnrs[i]);
+
+ cache.destroy();
}
/**
@@ -1007,7 +1014,9 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
try {
CacheConfiguration cfg = new CacheConfiguration(DYNAMIC_CACHE_NAME);
- try (IgniteCache cache = ignite(0).createCache(cfg)) {
+ IgniteCache cache = ignite(0).createCache(cfg);
+
+ try {
for (int i = 0; i < 100; i++) {
assertFalse(ignite(0).affinity(DYNAMIC_CACHE_NAME).mapKeyToPrimaryAndBackups(i)
.contains(dNode.cluster().localNode()));
@@ -1015,6 +1024,9 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
cache.put(i, i);
}
}
+ finally {
+ cache.destroy();
+ }
}
finally {
stopGrid(nodeCount());
@@ -1027,23 +1039,25 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
* @throws Exception If failed.
*/
public void testAwaitPartitionMapExchange() throws Exception {
- try (IgniteCache ignored = grid(0).getOrCreateCache(new CacheConfiguration(DYNAMIC_CACHE_NAME))) {
- awaitPartitionMapExchange();
+ IgniteCache cache = grid(0).getOrCreateCache(new CacheConfiguration(DYNAMIC_CACHE_NAME));
- startGrid(nodeCount());
+ awaitPartitionMapExchange();
- awaitPartitionMapExchange();
+ startGrid(nodeCount());
- startGrid(nodeCount() + 1);
+ awaitPartitionMapExchange();
- awaitPartitionMapExchange();
+ startGrid(nodeCount() + 1);
- stopGrid(nodeCount() + 1);
+ awaitPartitionMapExchange();
- awaitPartitionMapExchange();
+ stopGrid(nodeCount() + 1);
- stopGrid(nodeCount());
- }
+ awaitPartitionMapExchange();
+
+ stopGrid(nodeCount());
+
+ cache.destroy();
}
/**
@@ -1084,9 +1098,11 @@ public class IgniteDynamicCacheStartSelfTest extends GridCommonAbstractTest {
if (iter % 10 == 0)
log.info("Cache start/stop iteration: " + iter);
- try (IgniteCache<Object, Object> cache = ignite1.getOrCreateCache("cache-" + iter)) {
- assertNotNull(cache);
- }
+ IgniteCache<Object, Object> cache = ignite1.getOrCreateCache("cache-" + iter);
+
+ assertNotNull(cache);
+
+ cache.destroy();
iter++;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheClientNodePartitionsExchangeTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheClientNodePartitionsExchangeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheClientNodePartitionsExchangeTest.java
index d60a0c3..5a51a1b 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheClientNodePartitionsExchangeTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheClientNodePartitionsExchangeTest.java
@@ -498,7 +498,7 @@ public class IgniteCacheClientNodePartitionsExchangeTest extends GridCommonAbstr
spi1.reset();
spi2.reset();
- assertNull(((IgniteKernal)ignite2).context().cache().context().cache().internalCache("cache1"));
+ assertNull(((IgniteKernal)ignite2).context().cache().context().cache().internalCache(CACHE_NAME1));
if (nearCache)
ignite2.getOrCreateNearCache(CACHE_NAME1, new NearCacheConfiguration<>());
@@ -507,7 +507,7 @@ public class IgniteCacheClientNodePartitionsExchangeTest extends GridCommonAbstr
waitForTopologyUpdate(3, new AffinityTopologyVersion(3, 1));
- GridCacheAdapter cache = ((IgniteKernal)ignite2).context().cache().context().cache().internalCache("cache1");
+ GridCacheAdapter cache = ((IgniteKernal)ignite2).context().cache().context().cache().internalCache(CACHE_NAME1);
assertNotNull(cache);
assertEquals(nearCache, cache.context().isNear());
@@ -533,6 +533,29 @@ public class IgniteCacheClientNodePartitionsExchangeTest extends GridCommonAbstr
spi1.reset();
spi2.reset();
+ AffinityTopologyVersion topVer;
+
+ if (!srvNode) {
+ log.info("Close client cache: " + CACHE_NAME1);
+
+ ignite2.cache(CACHE_NAME1).close();
+
+ assertNull(((IgniteKernal)ignite2).context().cache().context().cache().internalCache(CACHE_NAME1));
+
+ waitForTopologyUpdate(3, new AffinityTopologyVersion(3, 2));
+
+ assertEquals(0, spi0.partitionsSingleMessages());
+ assertEquals(0, spi0.partitionsFullMessages());
+ assertEquals(0, spi1.partitionsSingleMessages());
+ assertEquals(0, spi1.partitionsFullMessages());
+ assertEquals(0, spi2.partitionsSingleMessages());
+ assertEquals(0, spi2.partitionsFullMessages());
+
+ topVer = new AffinityTopologyVersion(3, 3);
+ }
+ else
+ topVer = new AffinityTopologyVersion(3, 2);
+
final String CACHE_NAME2 = "cache2";
ccfg = new CacheConfiguration();
@@ -541,7 +564,7 @@ public class IgniteCacheClientNodePartitionsExchangeTest extends GridCommonAbstr
ignite2.createCache(ccfg);
- waitForTopologyUpdate(3, new AffinityTopologyVersion(3, 2));
+ waitForTopologyUpdate(3, topVer);
assertEquals(0, spi0.partitionsSingleMessages());
assertEquals(2, spi0.partitionsFullMessages());
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/CacheLocalOffHeapAndSwapMetricsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/CacheLocalOffHeapAndSwapMetricsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/CacheLocalOffHeapAndSwapMetricsSelfTest.java
index 3d44600..f4b0d2d 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/CacheLocalOffHeapAndSwapMetricsSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/CacheLocalOffHeapAndSwapMetricsSelfTest.java
@@ -96,7 +96,7 @@ public class CacheLocalOffHeapAndSwapMetricsSelfTest extends GridCommonAbstractT
/** {@inheritDoc} */
@Override protected void afterTest() throws Exception {
if (cache != null)
- cache.close();
+ cache.destroy();
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/test/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerMultinodeCreateCacheTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerMultinodeCreateCacheTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerMultinodeCreateCacheTest.java
index 12b6458..470ac79 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerMultinodeCreateCacheTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerMultinodeCreateCacheTest.java
@@ -76,15 +76,17 @@ public class DataStreamerMultinodeCreateCacheTest extends GridCommonAbstractTest
while (System.currentTimeMillis() < stopTime) {
String cacheName = "cache-" + threadIdx + "-" + (iter % 10);
- try (IgniteCache<Integer, String> cache = ignite.getOrCreateCache(cacheName)) {
- try (IgniteDataStreamer<Object, Object> stmr = ignite.dataStreamer(cacheName)) {
- ((DataStreamerImpl<Object, Object>)stmr).maxRemapCount(0);
+ IgniteCache<Integer, String> cache = ignite.getOrCreateCache(cacheName);
- for (int i = 0; i < 1000; i++)
- stmr.addData(i, i);
- }
+ try (IgniteDataStreamer<Object, Object> stmr = ignite.dataStreamer(cacheName)) {
+ ((DataStreamerImpl<Object, Object>)stmr).maxRemapCount(0);
+
+ for (int i = 0; i < 1000; i++)
+ stmr.addData(i, i);
}
+ cache.destroy();
+
iter++;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
index 12d2b05..bde3a72 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
@@ -131,6 +131,8 @@ public class IgniteCacheTestSuite4 extends TestSuite {
suite.addTestSuite(CacheRemoveAllSelfTest.class);
+ suite.addTestSuite(CacheStopAndDestroySelfTest.class);
+
suite.addTestSuite(CacheOffheapMapEntrySelfTest.class);
suite.addTestSuite(CacheJdbcStoreSessionListenerSelfTest.class);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e3fba883/modules/extdata/p2p/src/main/java/org/apache/ignite/tests/p2p/startcache/CacheConfigurationP2PTestClient.java
----------------------------------------------------------------------
diff --git a/modules/extdata/p2p/src/main/java/org/apache/ignite/tests/p2p/startcache/CacheConfigurationP2PTestClient.java b/modules/extdata/p2p/src/main/java/org/apache/ignite/tests/p2p/startcache/CacheConfigurationP2PTestClient.java
index eea3a9b..701668b0 100644
--- a/modules/extdata/p2p/src/main/java/org/apache/ignite/tests/p2p/startcache/CacheConfigurationP2PTestClient.java
+++ b/modules/extdata/p2p/src/main/java/org/apache/ignite/tests/p2p/startcache/CacheConfigurationP2PTestClient.java
@@ -109,9 +109,9 @@ public class CacheConfigurationP2PTestClient {
if (cnt != 600)
throw new Exception("Unexpected query result: " + cnt);
- cache1.close();
+ cache1.destroy();
- cache2.close();
+ cache2.destroy();
}
}
}
[12/50] [abbrv] incubator-ignite git commit: #ignite-1101: Add test
for cache future runtime exception.
Posted by sb...@apache.org.
#ignite-1101: Add test for cache future runtime exception.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/94a42a48
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/94a42a48
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/94a42a48
Branch: refs/heads/ignite-890
Commit: 94a42a48530998da9895e217c99eec69db71d8c9
Parents: 44b52b4
Author: ivasilinets <iv...@gridgain.com>
Authored: Wed Jul 8 14:45:49 2015 +0300
Committer: ivasilinets <iv...@gridgain.com>
Committed: Wed Jul 8 14:45:49 2015 +0300
----------------------------------------------------------------------
.../cache/CacheFutureExceptionSelfTest.java | 121 ++++---------------
1 file changed, 26 insertions(+), 95 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/94a42a48/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheFutureExceptionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheFutureExceptionSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheFutureExceptionSelfTest.java
index 27bfe17..34d2daa 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheFutureExceptionSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheFutureExceptionSelfTest.java
@@ -19,16 +19,11 @@ package org.apache.ignite.internal.processors.cache;
import org.apache.ignite.*;
import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.util.*;
-import org.apache.ignite.internal.util.typedef.*;
import org.apache.ignite.lang.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.apache.ignite.testframework.junits.common.*;
import javax.cache.*;
import java.io.*;
-import java.util.*;
import java.util.concurrent.*;
import static java.util.concurrent.TimeUnit.*;
@@ -39,9 +34,11 @@ import static java.util.concurrent.TimeUnit.*;
public class CacheFutureExceptionSelfTest extends GridCommonAbstractTest {
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
- IgniteConfiguration cfg = StartNode.createConfiguration();
+ IgniteConfiguration cfg = new IgniteConfiguration();
+ cfg.setGridName(gridName);
- cfg.setClientMode(true);
+ if (gridName.equals(getTestGridName(1)))
+ cfg.setClientMode(true);
return cfg;
}
@@ -50,68 +47,39 @@ public class CacheFutureExceptionSelfTest extends GridCommonAbstractTest {
* @throws Exception If failed.
*/
public void testAsyncCacheFuture() throws Exception {
- final CountDownLatch readyLatch = new CountDownLatch(1);
+ Ignite srv = startGrid(0);
- GridJavaProcess node1 = null;
+ IgniteCache<String, NotSerializableClass> cache = srv.getOrCreateCache("CACHE");
+ cache.put("key", new NotSerializableClass());
- Collection<String> jvmArgs = Arrays.asList("-ea", "-DIGNITE_QUIET=false");
+ Ignite client = startGrid(1);
- try {
- node1 = GridJavaProcess.exec(
- StartNode.class.getName(), null,
- log,
- new CI1<String>() {
- @Override public void apply(String s) {
- info("Server node1: " + s);
+ IgniteCache<String, NotSerializableClass> asyncCache = client.<String, NotSerializableClass>cache("CACHE").withAsync();
- if (s.contains("Topology snapshot"))
- readyLatch.countDown();
- }
- },
- null,
- jvmArgs,
- null
- );
+ System.setProperty("FAIL", "true");
- assertTrue(readyLatch.await(60, SECONDS));
+ asyncCache.get("key");
- Ignite client = startGrid(0);
+ final CountDownLatch futLatch = new CountDownLatch(1);
- IgniteCache<String, NotSerializableClass> cache = client.getOrCreateCache("CACHE");
+ asyncCache.future().listen(new IgniteInClosure<IgniteFuture<Object>>() {
+ @Override public void apply(IgniteFuture<Object> fut) {
+ assertTrue(fut.isDone());
- cache.put("key", new NotSerializableClass());
+ try {
+ fut.get();
- System.setProperty("FAIL", "true");
-
- IgniteCache<String, NotSerializableClass> asyncCache = cache.withAsync();
-
- asyncCache.get("key");
-
- final CountDownLatch futLatch = new CountDownLatch(1);
-
- asyncCache.future().listen(new IgniteInClosure<IgniteFuture<Object>>() {
- @Override public void apply(IgniteFuture<Object> fut) {
- assertTrue(fut.isDone());
-
- try {
- fut.get();
-
- fail();
- }
- catch (CacheException e) {
- log.info("Expected error: " + e);
+ fail();
+ }
+ catch (CacheException e) {
+ log.info("Expected error: " + e);
- futLatch.countDown();
- }
+ futLatch.countDown();
}
- });
+ }
+ });
- assertTrue(futLatch.await(60, SECONDS));
- }
- finally {
- if (node1 != null)
- node1.killProcess();
- }
+ assertTrue(futLatch.await(60, SECONDS));
}
/**
@@ -131,41 +99,4 @@ public class CacheFutureExceptionSelfTest extends GridCommonAbstractTest {
in.readObject();
}
}
-
- /**
- * Test class.
- */
- public static class StartNode {
- /**
- * @return Configuration.
- */
- public static IgniteConfiguration createConfiguration() {
- IgniteConfiguration cfg = new IgniteConfiguration();
-
- cfg.setPeerClassLoadingEnabled(true);
-
- cfg.setLocalHost("127.0.0.1");
-
- TcpDiscoverySpi disco = new TcpDiscoverySpi();
-
- disco.setIpFinderCleanFrequency(1000);
-
- TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
-
- ipFinder.setAddresses(Collections.singletonList("127.0.0.1:47500..47509"));
-
- disco.setIpFinder(ipFinder);
-
- cfg.setDiscoverySpi(disco);
-
- return cfg;
- }
-
- /**
- * @param args Main parameters.
- */
- public static void main(String[] args) {
- Ignition.start(createConfiguration());
- }
- }
-}
\ No newline at end of file
+}
\ No newline at end of file
[03/50] [abbrv] incubator-ignite git commit: # review
Posted by sb...@apache.org.
# review
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/839fe79f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/839fe79f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/839fe79f
Branch: refs/heads/ignite-890
Commit: 839fe79fa5ff0ee91b528b43d6a7834aa1ea719f
Parents: cd01e4c
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Wed Jul 8 06:16:48 2015 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Wed Jul 8 06:16:48 2015 +0300
----------------------------------------------------------------------
.../processors/cache/jta/CacheJtaManager.java | 24 ++++++++++----------
1 file changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/839fe79f/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaManager.java
----------------------------------------------------------------------
diff --git a/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaManager.java b/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaManager.java
index 09d856b..ace5fe7 100644
--- a/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaManager.java
+++ b/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaManager.java
@@ -35,7 +35,7 @@ public class CacheJtaManager extends CacheJtaManagerAdapter {
private final ThreadLocal<GridCacheXAResource> xaRsrc = new ThreadLocal<>();
/** */
- private volatile TransactionManager jtaTm;
+ private TransactionManager jtaTm;
/** */
private final AtomicReference<CacheTmLookup> tmLookupRef = new AtomicReference<>();
@@ -46,7 +46,7 @@ public class CacheJtaManager extends CacheJtaManagerAdapter {
if (cctx.txConfig() != null) {
String txLookupClsName = cctx.txConfig().getTxManagerLookupClassName();
-
+
if (txLookupClsName != null)
tmLookupRef.set(createTmLookup(txLookupClsName));
}
@@ -55,7 +55,7 @@ public class CacheJtaManager extends CacheJtaManagerAdapter {
/** {@inheritDoc} */
@Override protected void stop0(boolean cancel) {
CacheTmLookup tmLookup = tmLookupRef.get();
-
+
if (tmLookup instanceof LifecycleAware)
((LifecycleAware)tmLookup).stop();
}
@@ -70,10 +70,10 @@ public class CacheJtaManager extends CacheJtaManagerAdapter {
CacheTmLookup res = (CacheTmLookup)cls.newInstance();
cctx.kernalContext().resource().injectGeneric(res);
-
+
if (res instanceof LifecycleAware)
((LifecycleAware)res).start();
-
+
return res;
}
catch (Exception e) {
@@ -86,10 +86,10 @@ public class CacheJtaManager extends CacheJtaManagerAdapter {
if (jtaTm == null) {
try {
CacheTmLookup tmLookup = tmLookupRef.get();
-
+
if (tmLookup == null)
return;
-
+
jtaTm = tmLookup.getTm();
}
catch (Exception e) {
@@ -144,23 +144,23 @@ public class CacheJtaManager extends CacheJtaManagerAdapter {
/** {@inheritDoc} */
@Override public void registerCache(CacheConfiguration<?, ?> cfg) throws IgniteCheckedException {
String cacheLookupClsName = cfg.getTransactionManagerLookupClassName();
-
+
if (cacheLookupClsName != null) {
CacheTmLookup tmLookup = tmLookupRef.get();
-
+
if (tmLookup == null) {
tmLookup = createTmLookup(cacheLookupClsName);
-
+
if (tmLookupRef.compareAndSet(null, tmLookup))
return;
-
+
tmLookup = tmLookupRef.get();
}
if (!cacheLookupClsName.equals(tmLookup.getClass().getName()))
throw new IgniteCheckedException("Failed to start cache with CacheTmLookup that specified in cache " +
"configuration, because node uses another CacheTmLookup [cache" + cfg.getName() +
- ", tmLookupClassName=" + cacheLookupClsName + ", tmLookupUsedByNode="
+ ", tmLookupClassName=" + cacheLookupClsName + ", tmLookupUsedByNode="
+ tmLookup.getClass().getName() + ']');
}
}
[18/50] [abbrv] incubator-ignite git commit: release notes
Posted by sb...@apache.org.
release notes
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/064d079c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/064d079c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/064d079c
Branch: refs/heads/ignite-890
Commit: 064d079ce4f7cc501936b95a1eaae144c6b823bb
Parents: fa5cb91
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Wed Jul 8 19:51:33 2015 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Wed Jul 8 19:51:33 2015 +0300
----------------------------------------------------------------------
RELEASE_NOTES.txt | 10 ++++++++++
1 file changed, 10 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/064d079c/RELEASE_NOTES.txt
----------------------------------------------------------------------
diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
index 3a5043e..bcfed27 100644
--- a/RELEASE_NOTES.txt
+++ b/RELEASE_NOTES.txt
@@ -1,6 +1,16 @@
Apache Ignite Release Notes
===========================
+Apache Ignite In-Memory Data Fabric 1.3
+---------------------------------------
+
+* Added auto-retries for cache operations in recoverable cases.
+* Fixed several issues with JTA integration.
+* Stability fixes for TCP discovery SPI.
+* Stability fixes for onheap and offheap SQL queries.
+* Bug fixes in In-Memory Accelerator For Apache Hadoop.
+* Many stability and fault-tolerance fixes.
+
Apache Ignite In-Memory Data Fabric 1.2
---------------------------------------
[34/50] [abbrv] incubator-ignite git commit: # ignite-1055: fix
GridCommandLineTransformerSelfTest
Posted by sb...@apache.org.
# ignite-1055: fix GridCommandLineTransformerSelfTest
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/a747ca4f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/a747ca4f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/a747ca4f
Branch: refs/heads/ignite-890
Commit: a747ca4f6215ca55a9daf95c073a4d7e7aa756a7
Parents: 6386794
Author: ashutak <as...@gridgain.com>
Authored: Fri Jul 10 16:24:47 2015 +0300
Committer: ashutak <as...@gridgain.com>
Committed: Fri Jul 10 16:24:47 2015 +0300
----------------------------------------------------------------------
.../cmdline/GridCommandLineTransformerSelfTest.java | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a747ca4f/modules/core/src/test/java/org/apache/ignite/startup/cmdline/GridCommandLineTransformerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/startup/cmdline/GridCommandLineTransformerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/startup/cmdline/GridCommandLineTransformerSelfTest.java
index ec85532..dafc649 100644
--- a/modules/core/src/test/java/org/apache/ignite/startup/cmdline/GridCommandLineTransformerSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/startup/cmdline/GridCommandLineTransformerSelfTest.java
@@ -32,7 +32,7 @@ public class GridCommandLineTransformerSelfTest extends GridCommonAbstractTest {
public void testTransformIfNoArguments() throws Exception {
assertEquals(
"\"INTERACTIVE=0\" \"QUIET=-DIGNITE_QUIET=true\" \"NO_PAUSE=0\" " +
- "\"JVM_XOPTS=\" \"CONFIG=\"",
+ "\"NO_JMX=0\" \"JVM_XOPTS=\" \"CONFIG=\"",
CommandLineTransformer.transform());
}
@@ -101,7 +101,7 @@ public class GridCommandLineTransformerSelfTest extends GridCommonAbstractTest {
*/
public void testTransformIfOnlyPathToConfigSpecified() throws Exception {
assertEquals(
- "\"INTERACTIVE=0\" \"QUIET=-DIGNITE_QUIET=true\" \"NO_PAUSE=0\" " +
+ "\"INTERACTIVE=0\" \"QUIET=-DIGNITE_QUIET=true\" \"NO_PAUSE=0\" \"NO_JMX=0\" " +
"\"JVM_XOPTS=\" \"CONFIG=c:\\qw.xml\"",
CommandLineTransformer.transform("c:\\qw.xml"));
}
@@ -111,10 +111,10 @@ public class GridCommandLineTransformerSelfTest extends GridCommonAbstractTest {
*/
public void testTransformIfAllSupportedArguments() throws Exception {
assertEquals(
- "\"INTERACTIVE=1\" \"QUIET=-DIGNITE_QUIET=false\" \"NO_PAUSE=1\" " +
- "\"JVM_XOPTS=-Xmx1g -Xms1m\" " +
- "\"CONFIG=\"c:\\path to\\русский каталог\"\"",
- CommandLineTransformer.transform("-i", "-np", "-v", "-J-Xmx1g", "-J-Xms1m",
+ "\"INTERACTIVE=1\" \"QUIET=-DIGNITE_QUIET=false\" \"NO_PAUSE=1\" \"NO_JMX=1\" " +
+ "\"JVM_XOPTS=-Xmx1g -Xms1m\" " +
+ "\"CONFIG=\"c:\\path to\\русский каталог\"\"",
+ CommandLineTransformer.transform("-i", "-np", "-v", "-J-Xmx1g", "-J-Xms1m", "-nojmx",
"\"c:\\path to\\русский каталог\""));
}
}
[16/50] [abbrv] incubator-ignite git commit: moved link to the
project site to the top of the log
Posted by sb...@apache.org.
moved link to the project site to the top of the log
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/459d7022
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/459d7022
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/459d7022
Branch: refs/heads/ignite-890
Commit: 459d7022f8685858eb01792f2c99db5f5efc8e9a
Parents: 82f4992
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Wed Jul 8 19:39:09 2015 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Wed Jul 8 19:39:09 2015 +0300
----------------------------------------------------------------------
.../java/org/apache/ignite/internal/IgniteKernal.java | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/459d7022/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 30931fa..c12d2cf 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -1486,10 +1486,12 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
" / _/ ___/ |/ / _/_ __/ __/ ",
" _/ // (7 7 // / / / / _/ ",
"/___/\\___/_/|_/___/ /_/ /___/ ",
- " ",
+ "",
ver,
COPYRIGHT,
"",
+ "Ignite documentation: " + "http://" + SITE,
+ "",
"Quiet mode.");
if (fileName != null)
@@ -1508,7 +1510,9 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
">>> /___/\\___/_/|_/___/ /_/ /___/ " + NL +
">>> " + NL +
">>> " + ver + NL +
- ">>> " + COPYRIGHT + NL
+ ">>> " + COPYRIGHT + NL +
+ ">>> " + NL +
+ ">>> Ignite documentation: " + "http://" + SITE + NL
);
}
}
@@ -1557,8 +1561,6 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
">>> Local node addresses: " + U.addressesAsString(locNode) + NL +
">>> Local ports: " + sb + NL;
- str += ">>> Ignite documentation: http://" + SITE + NL;
-
log.info(str);
}
}
[17/50] [abbrv] incubator-ignite git commit: Merge remote-tracking
branch 'origin/master'
Posted by sb...@apache.org.
Merge remote-tracking branch 'origin/master'
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/fa5cb918
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/fa5cb918
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/fa5cb918
Branch: refs/heads/ignite-890
Commit: fa5cb918dcb0fe4253332fd9be859803ad014ddb
Parents: 459d702 4c9d8c2
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Wed Jul 8 19:39:36 2015 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Wed Jul 8 19:39:36 2015 +0300
----------------------------------------------------------------------
.../configuration/CacheConfiguration.java | 4 +
.../configuration/TransactionConfiguration.java | 23 +++
.../processors/cache/GridCacheAttributes.java | 3 +
.../processors/cache/GridCacheContext.java | 8 +-
.../processors/cache/GridCacheIoManager.java | 8 +-
.../processors/cache/GridCacheProcessor.java | 21 +-
.../cache/GridCacheSharedContext.java | 15 +-
.../distributed/near/GridNearGetFuture.java | 4 +-
.../cache/jta/CacheJtaManagerAdapter.java | 17 +-
.../cache/jta/CacheNoopJtaManager.java | 2 +-
.../visor/cache/VisorCacheConfiguration.java | 11 -
.../cache/CacheFutureExceptionSelfTest.java | 161 +++++++--------
.../loadtests/hashmap/GridCacheTestContext.java | 4 +-
.../HibernateTransactionalDataRegion.java | 12 +-
.../hibernate/HibernateL2CacheSelfTest.java | 7 +-
.../HibernateL2CacheTransactionalSelfTest.java | 5 -
.../apache/ignite/cache/jta/CacheTmLookup.java | 3 +-
.../processors/cache/jta/CacheJtaManager.java | 72 ++++++-
.../cache/jta/GridCacheXAResource.java | 16 +-
.../processors/cache/GridCacheJtaSelfTest.java | 52 +++--
.../GridTmLookupLifecycleAwareSelfTest.java | 29 ++-
modules/kafka/licenses/apache-2.0.txt | 202 +++++++++++++++++++
modules/kafka/pom.xml | 11 -
.../commands/cache/VisorCacheCommand.scala | 2 -
.../config/benchmark-index-put.properties | 64 ------
.../config/benchmark-put-indexed-val.properties | 64 ++++++
.../cache/IgnitePutIndex1Benchmark.java | 42 ----
.../cache/IgnitePutIndex2Benchmark.java | 42 ----
.../cache/IgnitePutIndexedValue1Benchmark.java | 42 ++++
.../cache/IgnitePutIndexedValue2Benchmark.java | 42 ++++
.../cache/IgnitePutIndexedValue8Benchmark.java | 2 +-
.../ignite/yardstick/cache/model/Person1.java | 29 +--
.../ignite/yardstick/cache/model/Person2.java | 45 +----
.../ignite/yardstick/cache/model/Person8.java | 155 +-------------
34 files changed, 661 insertions(+), 558 deletions(-)
----------------------------------------------------------------------
[23/50] [abbrv] incubator-ignite git commit: ignite-890: logs
Posted by sb...@apache.org.
ignite-890: logs
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/a1ed65b1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/a1ed65b1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/a1ed65b1
Branch: refs/heads/ignite-890
Commit: a1ed65b1f28e44e7633d1d33ba12a4d2242dbc80
Parents: 4031db7
Author: Denis Magda <dm...@gridgain.com>
Authored: Thu Jul 9 11:27:35 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Thu Jul 9 11:27:35 2015 +0300
----------------------------------------------------------------------
.../ignite/spi/discovery/tcp/ClientImpl.java | 7 +-
.../ignite/spi/discovery/tcp/ServerImpl.java | 96 ++++++++++++++++----
.../spi/discovery/tcp/TcpDiscoveryImpl.java | 6 +-
.../spi/discovery/tcp/TcpDiscoverySpi.java | 8 ++
.../tcp/TcpDiscoveryMultiThreadedTest.java | 4 +-
5 files changed, 95 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1ed65b1/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index 3f05f59..75e44d2 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -129,7 +129,8 @@ class ClientImpl extends TcpDiscoveryImpl {
b.append("Stats: ").append(spi.stats).append(U.nl());
- U.quietAndInfo(log, b.toString());
+ System.out.println(b.toString());
+// U.quietAndInfo(log, b.toString());
}
/** {@inheritDoc} */
@@ -781,8 +782,8 @@ class ClientImpl extends TcpDiscoveryImpl {
msg.senderNodeId(rmtNodeId);
- if (log.isDebugEnabled())
- log.debug("Message has been received: " + msg);
+// if (log.isDebugEnabled())
+ log.info("Message has been received: " + msg);
spi.stats.onMessageReceived(msg);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1ed65b1/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index d51293e..5faa437 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -1326,7 +1326,7 @@ class ServerImpl extends TcpDiscoveryImpl {
return;
}
- assert log.isInfoEnabled();
+ //assert log.isInfoEnabled();
synchronized (mux) {
StringBuilder b = new StringBuilder(U.nl());
@@ -1379,7 +1379,8 @@ class ServerImpl extends TcpDiscoveryImpl {
b.append("Stats: ").append(spi.stats).append(U.nl());
- U.quietAndInfo(log, b.toString());
+ System.out.println(b.toString());
+ //U.quietAndInfo(log, b.toString());
}
}
@@ -1820,6 +1821,8 @@ class ServerImpl extends TcpDiscoveryImpl {
}
}
+ private static volatile boolean dumping;
+
/**
* Message worker thread for messages processing.
*/
@@ -1988,7 +1991,7 @@ class ServerImpl extends TcpDiscoveryImpl {
if (debugMode)
debugLog("New next node [newNext=" + newNext + ", formerNext=" + next +
- ", ring=" + ring + ", failedNodes=" + failedNodes + ']');
+ ", ring=" + ring + ", failedNodes=" + failedNodes + ", coord= " + resolveCoordinator() + ']');
U.closeQuiet(sock);
@@ -2059,9 +2062,22 @@ class ServerImpl extends TcpDiscoveryImpl {
if (!next.id().equals(nextId)) {
// Node with different ID has bounded to the same port.
- if (log.isDebugEnabled())
- log.debug("Failed to restore ring because next node ID received is not as " +
- "expected [expectedId=" + next.id() + ", rcvdId=" + nextId + ']');
+ //if (log.isDebugEnabled())
+ log.info("Failed to restore ring because next node ID received is not as " +
+ "expected [expectedId=" + next.id() + ", rcvdId=" + nextId + ", " +
+ "locNode " + locNodeId + ", ring = " + ring + ']');
+
+// if (!dumping) {
+// synchronized (TcpDiscoverySpi.allSpis) {
+// dumping = true;
+// System.out.println("------------ Start dump ------ ");
+// for (TcpDiscoverySpi spi : TcpDiscoverySpi.allSpis)
+// spi.dumpDebugInfo();
+// }
+// System.out.println("------------- End dump -----------");
+//
+// System.exit(1);
+// }
if (debugMode)
debugLog("Failed to restore ring because next node ID received is not as " +
@@ -2216,7 +2232,8 @@ class ServerImpl extends TcpDiscoveryImpl {
", next=" + next.id() +
", res=" + res + ']');
- if (debugMode)
+ if (debugMode && !(msg instanceof TcpDiscoveryDiscardMessage) && !(msg instanceof TcpDiscoveryHeartbeatMessage)
+ && !(msg instanceof TcpDiscoveryCustomEventMessage))
debugLog("Message has been sent to next node [msg=" + msg +
", next=" + next.id() +
", res=" + res + ']');
@@ -2804,28 +2821,48 @@ class ServerImpl extends TcpDiscoveryImpl {
if (log.isDebugEnabled())
log.debug("Accept client reconnect, restored pending messages " +
"[locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
+
+ if (debugMode)
+ debugLog("Accept client reconnect, restored pending messages " +
+ "[locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
+
}
else {
if (log.isDebugEnabled())
log.debug("Failing reconnecting client node because failed to restore pending " +
"messages [locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
+ if (debugMode)
+ debugLog("Failing reconnecting client node because failed to restore pending " +
+ "messages [locNodeId=" + locNodeId + ", clientNodeId=" + nodeId + ']');
+
processNodeFailedMessage(new TcpDiscoveryNodeFailedMessage(locNodeId,
node.id(), node.internalOrder()));
}
}
}
- else if (log.isDebugEnabled())
- log.debug("Reconnecting client node is already failed [nodeId=" + nodeId + ']');
+ else {
+ if (log.isDebugEnabled())
+ log.debug("Reconnecting client node is already failed [nodeId=" + nodeId + ']');
+
+ if (debugMode)
+ debugLog("Reconnecting client node is already failed [nodeId=" + nodeId + ']');
+ }
if (isLocNodeRouter) {
ClientMessageWorker wrk = clientMsgWorkers.get(nodeId);
if (wrk != null)
wrk.addMessage(msg);
- else if (log.isDebugEnabled())
- log.debug("Failed to reconnect client node (disconnected during the process) [locNodeId=" +
- locNodeId + ", clientNodeId=" + nodeId + ']');
+ else {
+ if (log.isDebugEnabled())
+ log.debug("Failed to reconnect client node (disconnected during the process) [locNodeId=" +
+ locNodeId + ", clientNodeId=" + nodeId + ']');
+
+ if (debugMode)
+ debugLog("Failed to reconnect client node (disconnected during the process) [locNodeId=" +
+ locNodeId + ", clientNodeId=" + nodeId + ']');
+ }
}
else {
if (ring.hasRemoteNodes())
@@ -3219,6 +3256,9 @@ class ServerImpl extends TcpDiscoveryImpl {
if (log.isDebugEnabled())
log.debug("Starting local node stop procedure.");
+ if (debugMode)
+ debugLog("Starting local node stop procedure.");
+
spiState = STOPPING;
mux.notifyAll();
@@ -3226,6 +3266,9 @@ class ServerImpl extends TcpDiscoveryImpl {
}
if (msg.verified() || !ring.hasRemoteNodes() || msg.senderNodeId() != null) {
+ if (debugMode)
+ debugLog("Do stop local node: [msg=" + msg + ", hasRemote=" + ring.hasRemoteNodes() + ']');
+
if (spi.ipFinder.isShared() && !ring.hasRemoteNodes()) {
try {
spi.ipFinder.unregisterAddresses(locNode.socketAddresses());
@@ -3252,8 +3295,11 @@ class ServerImpl extends TcpDiscoveryImpl {
}
if (ring.node(msg.senderNodeId()) == null) {
- if (log.isDebugEnabled())
- log.debug("Discarding node left message since sender node is not in topology: " + msg);
+// if (log.isDebugEnabled())
+ log.info("Discarding node left message since sender node is not in topology: " + msg);
+
+ if (debugMode)
+ debugLog("Discarding node left message since sender node is not in topology: " + msg);
return;
}
@@ -3266,8 +3312,11 @@ class ServerImpl extends TcpDiscoveryImpl {
}
}
else {
- if (log.isDebugEnabled())
- log.debug("Discarding node left message since node was not found: " + msg);
+// if (log.isDebugEnabled())
+ log.info("Discarding node left message since node was not found: " + msg);
+
+ if (debugMode)
+ debugLog("Discarding node left message since node was not found: " + msg);
return;
}
@@ -3276,6 +3325,9 @@ class ServerImpl extends TcpDiscoveryImpl {
if (locNodeCoord) {
if (msg.verified()) {
+ if (!locNode.id().equals(msg.verifierNodeId()))
+ System.out.println("Fuck!!: [loc=" + locNode + ", verifier=" + msg.verifierNodeId());
+
spi.stats.onRingMessageReceived(msg);
addMessage(new TcpDiscoveryDiscardMessage(locNodeId, msg.id()));
@@ -3294,6 +3346,9 @@ class ServerImpl extends TcpDiscoveryImpl {
if (log.isDebugEnabled())
log.debug("Removed node from topology: " + leftNode);
+ if (debugMode)
+ debugLog("Removed node from topology: " + leftNode);
+
long topVer;
if (locNodeCoord) {
@@ -3329,6 +3384,9 @@ class ServerImpl extends TcpDiscoveryImpl {
if (log.isDebugEnabled())
log.debug("Sent verified node left message to leaving node: " + msg);
+
+ if (debugMode)
+ debugLog("Sent verified node left message to leaving node: " + msg);
}
catch (IgniteCheckedException | IOException e) {
if (log.isDebugEnabled())
@@ -3372,6 +3430,9 @@ class ServerImpl extends TcpDiscoveryImpl {
if (log.isDebugEnabled())
log.debug("Unable to send message across the ring (topology has no remote nodes): " + msg);
+ if (debugMode)
+ debugLog("Unable to send message across the ring (topology has no remote nodes): " + msg);
+
U.closeQuiet(sock);
}
}
@@ -4290,7 +4351,8 @@ class ServerImpl extends TcpDiscoveryImpl {
spi.stats.onMessageReceived(msg);
- if (debugMode && recordable(msg))
+ if (debugMode && !(msg instanceof TcpDiscoveryDiscardMessage) && !(msg instanceof TcpDiscoveryHeartbeatMessage)
+ && !(msg instanceof TcpDiscoveryCustomEventMessage) && recordable(msg))
debugLog("Message has been received: " + msg);
if (msg instanceof TcpDiscoveryJoinRequestMessage) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1ed65b1/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
index ace917f..9172afe 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryImpl.java
@@ -103,9 +103,9 @@ abstract class TcpDiscoveryImpl {
debugLog.add(msg0);
int delta = debugLog.size() - debugMsgHist;
-
- for (int i = 0; i < delta && debugLog.size() > debugMsgHist; i++)
- debugLog.poll();
+//
+// for (int i = 0; i < delta && debugLog.size() > debugMsgHist; i++)
+// debugLog.poll();
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1ed65b1/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 7663fe6..650c22d 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -327,6 +327,8 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
/** */
private boolean forceSrvMode;
+ public static volatile ArrayList<TcpDiscoverySpi> allSpis = new ArrayList<>();
+
/** {@inheritDoc} */
@Override public String getSpiState() {
return impl.getSpiState();
@@ -1561,6 +1563,12 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter implements DiscoverySpi, T
impl = new ServerImpl(this);
}
+ impl.setDebugMode(true);
+
+ synchronized (allSpis) {
+ allSpis.add(this);
+ }
+
assertParameter(ipFinder != null, "ipFinder != null");
assertParameter(hbFreq > 0, "heartbeatFreq > 0");
assertParameter(netTimeout > 0, "networkTimeout > 0");
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1ed65b1/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
index 0bf7cad..1ae334b 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoveryMultiThreadedTest.java
@@ -95,15 +95,13 @@ public class TcpDiscoveryMultiThreadedTest extends GridCommonAbstractTest {
/** {@inheritDoc} */
@Override protected long getTestTimeout() {
- return 5 * 60 * 1000;
+ return 2 * 60 * 1000;
}
/**
* @throws Exception If any error occurs.
*/
public void testMultiThreaded() throws Exception {
- fail("https://issues.apache.org/jira/browse/IGNITE-1100");
-
execute();
}
[07/50] [abbrv] incubator-ignite git commit: # review
Posted by sb...@apache.org.
# review
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/82f49921
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/82f49921
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/82f49921
Branch: refs/heads/ignite-890
Commit: 82f49921969979589e04fb12f9902201a29ac7b2
Parents: 946b08b
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Wed Jul 8 12:38:11 2015 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Wed Jul 8 12:38:11 2015 +0300
----------------------------------------------------------------------
.../cache/IgnitePutIndex8Benchmark.java | 42 --------------------
.../cache/IgnitePutIndexedValue8Benchmark.java | 42 ++++++++++++++++++++
2 files changed, 42 insertions(+), 42 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/82f49921/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex8Benchmark.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex8Benchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex8Benchmark.java
deleted file mode 100644
index 542a139..0000000
--- a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndex8Benchmark.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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.yardstick.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.yardstick.cache.model.*;
-
-import java.util.*;
-
-/**
- * Ignite benchmark that performs put operations for entity with indexed fields.
- */
-public class IgnitePutIndex8Benchmark extends IgniteCacheAbstractBenchmark {
- /** {@inheritDoc} */
- @Override public boolean test(Map<Object, Object> ctx) throws Exception {
- int key = nextRandom(args.range());
-
- cache.put(key, new Person8(key, key + 1, key + 2, key + 3, key + 4, key + 5, key + 6, key + 7));
-
- return true;
- }
-
- /** {@inheritDoc} */
- @Override protected IgniteCache<Integer, Object> cache() {
- return ignite().cache("atomic-index");
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/82f49921/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue8Benchmark.java
----------------------------------------------------------------------
diff --git a/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue8Benchmark.java b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue8Benchmark.java
new file mode 100644
index 0000000..b51ff34
--- /dev/null
+++ b/modules/yardstick/src/main/java/org/apache/ignite/yardstick/cache/IgnitePutIndexedValue8Benchmark.java
@@ -0,0 +1,42 @@
+/*
+ * 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.yardstick.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.yardstick.cache.model.*;
+
+import java.util.*;
+
+/**
+ * Ignite benchmark that performs put operations for entity with indexed fields.
+ */
+public class IgnitePutIndexedValue8Benchmark extends IgniteCacheAbstractBenchmark {
+ /** {@inheritDoc} */
+ @Override public boolean test(Map<Object, Object> ctx) throws Exception {
+ int key = nextRandom(args.range());
+
+ cache.put(key, new Person8(key, key + 1, key + 2, key + 3, key + 4, key + 5, key + 6, key + 7));
+
+ return true;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected IgniteCache<Integer, Object> cache() {
+ return ignite().cache("atomic-index");
+ }
+}
[10/50] [abbrv] incubator-ignite git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/incubator-ignite
Posted by sb...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-ignite
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/44b52b4a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/44b52b4a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/44b52b4a
Branch: refs/heads/ignite-890
Commit: 44b52b4a8968808ad7c17d510e56c8defe8ee837
Parents: 1cf479b 1a6948e
Author: agura <ag...@gridgain.com>
Authored: Wed Jul 8 13:31:12 2015 +0300
Committer: agura <ag...@gridgain.com>
Committed: Wed Jul 8 13:31:12 2015 +0300
----------------------------------------------------------------------
.../config/benchmark-index-put.properties | 64 --------
.../config/benchmark-put-indexed-val.properties | 64 ++++++++
.../cache/IgnitePutIndex1Benchmark.java | 42 -----
.../cache/IgnitePutIndex2Benchmark.java | 42 -----
.../cache/IgnitePutIndexedValue1Benchmark.java | 42 +++++
.../cache/IgnitePutIndexedValue2Benchmark.java | 42 +++++
.../cache/IgnitePutIndexedValue8Benchmark.java | 2 +-
.../ignite/yardstick/cache/model/Person1.java | 29 +---
.../ignite/yardstick/cache/model/Person2.java | 45 +-----
.../ignite/yardstick/cache/model/Person8.java | 155 ++-----------------
10 files changed, 167 insertions(+), 360 deletions(-)
----------------------------------------------------------------------
[04/50] [abbrv] incubator-ignite git commit: # ignite-gg-10416
Exclude lifecycleBeans for daemon node.
Posted by sb...@apache.org.
# ignite-gg-10416 Exclude lifecycleBeans for daemon node.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8cc75fc5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8cc75fc5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8cc75fc5
Branch: refs/heads/ignite-890
Commit: 8cc75fc562706be8aebb837b708c03a9be264027
Parents: 0f1b31a
Author: Andrey <an...@gridgain.com>
Authored: Wed Jul 8 10:50:16 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Wed Jul 8 10:50:16 2015 +0700
----------------------------------------------------------------------
.../org/apache/ignite/visor/commands/open/VisorOpenCommand.scala | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8cc75fc5/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
index 6498baf..632a96b 100644
--- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
+++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/open/VisorOpenCommand.scala
@@ -144,7 +144,7 @@ class VisorOpenCommand extends VisorConsoleCommand {
try
// Cache, IGFS, indexing SPI configurations should be excluded from daemon node config.
spring.loadConfigurations(url, "cacheConfiguration", "fileSystemConfiguration",
- "indexingSpi").get1()
+ "lifecycleBeans", "indexingSpi").get1()
finally {
if (log4jTup != null)
U.removeLog4jNoOpLogger(log4jTup)