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/08/17 13:07:48 UTC
[01/12] incubator-ignite git commit: 1.3.3-p1-SNAPSHOT
Repository: incubator-ignite
Updated Branches:
refs/heads/ignite-426 4c634ed2a -> 25f8f419b
1.3.3-p1-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/834b3476
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/834b3476
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/834b3476
Branch: refs/heads/ignite-426
Commit: 834b34765fac4cb87d9d8f4bdb39c14a9e61275d
Parents: 7d747d2
Author: Ignite Teamcity <ig...@apache.org>
Authored: Tue Aug 11 10:53:58 2015 +0300
Committer: Ignite Teamcity <ig...@apache.org>
Committed: Tue Aug 11 10:53:58 2015 +0300
----------------------------------------------------------------------
examples/pom.xml | 2 +-
modules/aop/pom.xml | 2 +-
modules/apache-license-gen/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 +-
modules/core/src/main/resources/ignite.properties | 2 +-
modules/extdata/p2p/pom.xml | 2 +-
modules/extdata/uri/modules/uri-dependency/pom.xml | 2 +-
modules/extdata/uri/pom.xml | 2 +-
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 +-
modules/yarn/pom.xml | 2 +-
pom.xml | 2 +-
41 files changed, 41 insertions(+), 41 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/examples/pom.xml
----------------------------------------------------------------------
diff --git a/examples/pom.xml b/examples/pom.xml
index 1338a18..014cb0a 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -28,7 +28,7 @@
</parent>
<artifactId>ignite-examples</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/aop/pom.xml
----------------------------------------------------------------------
diff --git a/modules/aop/pom.xml b/modules/aop/pom.xml
index 194ffab..1983567 100644
--- a/modules/aop/pom.xml
+++ b/modules/aop/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-aop</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/apache-license-gen/pom.xml
----------------------------------------------------------------------
diff --git a/modules/apache-license-gen/pom.xml b/modules/apache-license-gen/pom.xml
index 11259a5..c723729 100644
--- a/modules/apache-license-gen/pom.xml
+++ b/modules/apache-license-gen/pom.xml
@@ -31,5 +31,5 @@
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-apache-license-gen</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/aws/pom.xml
----------------------------------------------------------------------
diff --git a/modules/aws/pom.xml b/modules/aws/pom.xml
index 37f6250..1f92999 100644
--- a/modules/aws/pom.xml
+++ b/modules/aws/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-aws</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/clients/pom.xml
----------------------------------------------------------------------
diff --git a/modules/clients/pom.xml b/modules/clients/pom.xml
index 1b33d4b..cf6a347 100644
--- a/modules/clients/pom.xml
+++ b/modules/clients/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-clients</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/cloud/pom.xml
----------------------------------------------------------------------
diff --git a/modules/cloud/pom.xml b/modules/cloud/pom.xml
index 45d08e7..b2cb2a7 100644
--- a/modules/cloud/pom.xml
+++ b/modules/cloud/pom.xml
@@ -29,7 +29,7 @@
</parent>
<artifactId>ignite-cloud</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<properties>
<jcloud.version>1.9.0</jcloud.version>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/codegen/pom.xml
----------------------------------------------------------------------
diff --git a/modules/codegen/pom.xml b/modules/codegen/pom.xml
index 2e8e4ed..49d4c83 100644
--- a/modules/codegen/pom.xml
+++ b/modules/codegen/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-codegen</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
index 222e14b..e9f5531 100644
--- a/modules/core/pom.xml
+++ b/modules/core/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-core</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/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 44e954e..6a6b866 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.3.3-SNAPSHOT
+ignite.version=1.3.3-p1-SNAPSHOT
ignite.build=0
ignite.revision=DEV
ignite.rel.date=01011970
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/extdata/p2p/pom.xml
----------------------------------------------------------------------
diff --git a/modules/extdata/p2p/pom.xml b/modules/extdata/p2p/pom.xml
index ad9fc03..ebcee89 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.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/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 a0ed86e..4c26e87 100644
--- a/modules/extdata/uri/modules/uri-dependency/pom.xml
+++ b/modules/extdata/uri/modules/uri-dependency/pom.xml
@@ -27,7 +27,7 @@
<artifactId>ignite-extdata-uri-dep</artifactId>
<packaging>jar</packaging>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<modelVersion>4.0.0</modelVersion>
<dependencies>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/extdata/uri/pom.xml
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/pom.xml b/modules/extdata/uri/pom.xml
index 46ec215..db1faa1 100644
--- a/modules/extdata/uri/pom.xml
+++ b/modules/extdata/uri/pom.xml
@@ -32,7 +32,7 @@
</parent>
<artifactId>ignite-extdata-uri</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/gce/pom.xml
----------------------------------------------------------------------
diff --git a/modules/gce/pom.xml b/modules/gce/pom.xml
index 3c13c4c..1442cd5 100644
--- a/modules/gce/pom.xml
+++ b/modules/gce/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-gce</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/geospatial/pom.xml
----------------------------------------------------------------------
diff --git a/modules/geospatial/pom.xml b/modules/geospatial/pom.xml
index 33fda30..40650a7 100644
--- a/modules/geospatial/pom.xml
+++ b/modules/geospatial/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-geospatial</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/hadoop/pom.xml
----------------------------------------------------------------------
diff --git a/modules/hadoop/pom.xml b/modules/hadoop/pom.xml
index eee70d6..c371f3f 100644
--- a/modules/hadoop/pom.xml
+++ b/modules/hadoop/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-hadoop</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/hibernate/pom.xml
----------------------------------------------------------------------
diff --git a/modules/hibernate/pom.xml b/modules/hibernate/pom.xml
index a583d52..bc4b2ed 100644
--- a/modules/hibernate/pom.xml
+++ b/modules/hibernate/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-hibernate</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/indexing/pom.xml
----------------------------------------------------------------------
diff --git a/modules/indexing/pom.xml b/modules/indexing/pom.xml
index bf2b369..70a2818 100644
--- a/modules/indexing/pom.xml
+++ b/modules/indexing/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-indexing</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/jcl/pom.xml
----------------------------------------------------------------------
diff --git a/modules/jcl/pom.xml b/modules/jcl/pom.xml
index 9583e52..fbf21b4 100644
--- a/modules/jcl/pom.xml
+++ b/modules/jcl/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-jcl</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/jta/pom.xml
----------------------------------------------------------------------
diff --git a/modules/jta/pom.xml b/modules/jta/pom.xml
index 2007d1b..868fb22 100644
--- a/modules/jta/pom.xml
+++ b/modules/jta/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-jta</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/kafka/pom.xml
----------------------------------------------------------------------
diff --git a/modules/kafka/pom.xml b/modules/kafka/pom.xml
index 6a15c48..1536e0b 100644
--- a/modules/kafka/pom.xml
+++ b/modules/kafka/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-kafka</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/log4j/pom.xml
----------------------------------------------------------------------
diff --git a/modules/log4j/pom.xml b/modules/log4j/pom.xml
index 6157eba..c39f892 100644
--- a/modules/log4j/pom.xml
+++ b/modules/log4j/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-log4j</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/mesos/pom.xml
----------------------------------------------------------------------
diff --git a/modules/mesos/pom.xml b/modules/mesos/pom.xml
index c207f79..6a9a22b 100644
--- a/modules/mesos/pom.xml
+++ b/modules/mesos/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-mesos</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<properties>
<mesos.version>0.22.0</mesos.version>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/rest-http/pom.xml
----------------------------------------------------------------------
diff --git a/modules/rest-http/pom.xml b/modules/rest-http/pom.xml
index 7e06bae..445321b 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.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/scalar-2.10/pom.xml
----------------------------------------------------------------------
diff --git a/modules/scalar-2.10/pom.xml b/modules/scalar-2.10/pom.xml
index 449dab2..65ebb92 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.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/scalar/pom.xml
----------------------------------------------------------------------
diff --git a/modules/scalar/pom.xml b/modules/scalar/pom.xml
index ef39a79..4d8b19b 100644
--- a/modules/scalar/pom.xml
+++ b/modules/scalar/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-scalar</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/schedule/pom.xml
----------------------------------------------------------------------
diff --git a/modules/schedule/pom.xml b/modules/schedule/pom.xml
index 690f25b..65570db 100644
--- a/modules/schedule/pom.xml
+++ b/modules/schedule/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-schedule</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/schema-import/pom.xml
----------------------------------------------------------------------
diff --git a/modules/schema-import/pom.xml b/modules/schema-import/pom.xml
index 2c56a3f..3e4bc70 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.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/slf4j/pom.xml
----------------------------------------------------------------------
diff --git a/modules/slf4j/pom.xml b/modules/slf4j/pom.xml
index 7b51fcb..f0a9f86 100644
--- a/modules/slf4j/pom.xml
+++ b/modules/slf4j/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-slf4j</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/spark-2.10/pom.xml
----------------------------------------------------------------------
diff --git a/modules/spark-2.10/pom.xml b/modules/spark-2.10/pom.xml
index 5b1745a..abe71df 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.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/spark/pom.xml
----------------------------------------------------------------------
diff --git a/modules/spark/pom.xml b/modules/spark/pom.xml
index d793279..3685427 100644
--- a/modules/spark/pom.xml
+++ b/modules/spark/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-spark</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/spring/pom.xml
----------------------------------------------------------------------
diff --git a/modules/spring/pom.xml b/modules/spring/pom.xml
index afee3f4..f46c337 100644
--- a/modules/spring/pom.xml
+++ b/modules/spring/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-spring</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/ssh/pom.xml
----------------------------------------------------------------------
diff --git a/modules/ssh/pom.xml b/modules/ssh/pom.xml
index d6e9ab7..8d49fa1 100644
--- a/modules/ssh/pom.xml
+++ b/modules/ssh/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-ssh</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/tools/pom.xml
----------------------------------------------------------------------
diff --git a/modules/tools/pom.xml b/modules/tools/pom.xml
index 83c800d..106192f 100644
--- a/modules/tools/pom.xml
+++ b/modules/tools/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-tools</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/urideploy/pom.xml
----------------------------------------------------------------------
diff --git a/modules/urideploy/pom.xml b/modules/urideploy/pom.xml
index f22da10..2414193 100644
--- a/modules/urideploy/pom.xml
+++ b/modules/urideploy/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-urideploy</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/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 fc0fa57..3385ae0 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.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/visor-console/pom.xml
----------------------------------------------------------------------
diff --git a/modules/visor-console/pom.xml b/modules/visor-console/pom.xml
index a6a9678..22295e0 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.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/visor-plugins/pom.xml
----------------------------------------------------------------------
diff --git a/modules/visor-plugins/pom.xml b/modules/visor-plugins/pom.xml
index fca86fd..97ff310 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.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<!-- Ignite dependencies -->
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/web/pom.xml
----------------------------------------------------------------------
diff --git a/modules/web/pom.xml b/modules/web/pom.xml
index 0a8d53f..f47433d 100644
--- a/modules/web/pom.xml
+++ b/modules/web/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-web</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/yardstick/pom.xml
----------------------------------------------------------------------
diff --git a/modules/yardstick/pom.xml b/modules/yardstick/pom.xml
index 853f9d4..de917e5 100644
--- a/modules/yardstick/pom.xml
+++ b/modules/yardstick/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-yardstick</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<properties>
<yardstick.version>0.7.0</yardstick.version>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/modules/yarn/pom.xml
----------------------------------------------------------------------
diff --git a/modules/yarn/pom.xml b/modules/yarn/pom.xml
index 2d90422..dbe59b0 100644
--- a/modules/yarn/pom.xml
+++ b/modules/yarn/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-yarn</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<properties>
<hadoop.version>2.7.0</hadoop.version>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/834b3476/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 260e45b..dcda132 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
<groupId>org.apache.ignite</groupId>
<artifactId>apache-ignite</artifactId>
- <version>1.3.3-SNAPSHOT</version>
+ <version>1.3.3-p1-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
[05/12] incubator-ignite git commit: Merge remote-tracking branch
'origin/ignite-1.3.3-p2' into ignite-1.3.3-p2
Posted by sb...@apache.org.
Merge remote-tracking branch 'origin/ignite-1.3.3-p2' into ignite-1.3.3-p2
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/47895da6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/47895da6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/47895da6
Branch: refs/heads/ignite-426
Commit: 47895da65c84e3c51a0eeb6c526d424ea9fabf41
Parents: a3301b3 9300bbc
Author: sboikov <sb...@gridgain.com>
Authored: Fri Aug 14 11:39:04 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Aug 14 11:39:04 2015 +0300
----------------------------------------------------------------------
examples/pom.xml | 2 +-
modules/aop/pom.xml | 2 +-
modules/apache-license-gen/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 +-
modules/core/src/main/resources/ignite.properties | 2 +-
modules/extdata/p2p/pom.xml | 2 +-
modules/extdata/uri/modules/uri-dependency/pom.xml | 2 +-
modules/extdata/uri/pom.xml | 2 +-
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 +-
modules/yarn/pom.xml | 2 +-
pom.xml | 2 +-
41 files changed, 41 insertions(+), 41 deletions(-)
----------------------------------------------------------------------
[03/12] incubator-ignite git commit: 1.3.3-p2-SNAPSHOT
Posted by sb...@apache.org.
1.3.3-p2-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/9300bbc7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/9300bbc7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/9300bbc7
Branch: refs/heads/ignite-426
Commit: 9300bbc776191218fb687339ba72675f3fe45848
Parents: 51dcd51
Author: Ignite Teamcity <ig...@apache.org>
Authored: Fri Aug 14 11:34:47 2015 +0300
Committer: Ignite Teamcity <ig...@apache.org>
Committed: Fri Aug 14 11:34:47 2015 +0300
----------------------------------------------------------------------
examples/pom.xml | 2 +-
modules/aop/pom.xml | 2 +-
modules/apache-license-gen/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 +-
modules/core/src/main/resources/ignite.properties | 2 +-
modules/extdata/p2p/pom.xml | 2 +-
modules/extdata/uri/modules/uri-dependency/pom.xml | 2 +-
modules/extdata/uri/pom.xml | 2 +-
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 +-
modules/yarn/pom.xml | 2 +-
pom.xml | 2 +-
41 files changed, 41 insertions(+), 41 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/examples/pom.xml
----------------------------------------------------------------------
diff --git a/examples/pom.xml b/examples/pom.xml
index 014cb0a..043689c 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -28,7 +28,7 @@
</parent>
<artifactId>ignite-examples</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/aop/pom.xml
----------------------------------------------------------------------
diff --git a/modules/aop/pom.xml b/modules/aop/pom.xml
index 1983567..8a271e5 100644
--- a/modules/aop/pom.xml
+++ b/modules/aop/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-aop</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/apache-license-gen/pom.xml
----------------------------------------------------------------------
diff --git a/modules/apache-license-gen/pom.xml b/modules/apache-license-gen/pom.xml
index c723729..e1066c1 100644
--- a/modules/apache-license-gen/pom.xml
+++ b/modules/apache-license-gen/pom.xml
@@ -31,5 +31,5 @@
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-apache-license-gen</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/aws/pom.xml
----------------------------------------------------------------------
diff --git a/modules/aws/pom.xml b/modules/aws/pom.xml
index 1f92999..e5cf518 100644
--- a/modules/aws/pom.xml
+++ b/modules/aws/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-aws</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/clients/pom.xml
----------------------------------------------------------------------
diff --git a/modules/clients/pom.xml b/modules/clients/pom.xml
index cf6a347..44ff225 100644
--- a/modules/clients/pom.xml
+++ b/modules/clients/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-clients</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/cloud/pom.xml
----------------------------------------------------------------------
diff --git a/modules/cloud/pom.xml b/modules/cloud/pom.xml
index b2cb2a7..28a071f 100644
--- a/modules/cloud/pom.xml
+++ b/modules/cloud/pom.xml
@@ -29,7 +29,7 @@
</parent>
<artifactId>ignite-cloud</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<properties>
<jcloud.version>1.9.0</jcloud.version>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/codegen/pom.xml
----------------------------------------------------------------------
diff --git a/modules/codegen/pom.xml b/modules/codegen/pom.xml
index 49d4c83..7d5a9dc 100644
--- a/modules/codegen/pom.xml
+++ b/modules/codegen/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-codegen</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/core/pom.xml
----------------------------------------------------------------------
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
index e9f5531..980559d 100644
--- a/modules/core/pom.xml
+++ b/modules/core/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-core</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/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 6a6b866..1bd08d4 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.3.3-p1-SNAPSHOT
+ignite.version=1.3.3-p2-SNAPSHOT
ignite.build=0
ignite.revision=DEV
ignite.rel.date=01011970
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/extdata/p2p/pom.xml
----------------------------------------------------------------------
diff --git a/modules/extdata/p2p/pom.xml b/modules/extdata/p2p/pom.xml
index ebcee89..d81b488 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.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/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 4c26e87..7430fa1 100644
--- a/modules/extdata/uri/modules/uri-dependency/pom.xml
+++ b/modules/extdata/uri/modules/uri-dependency/pom.xml
@@ -27,7 +27,7 @@
<artifactId>ignite-extdata-uri-dep</artifactId>
<packaging>jar</packaging>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<modelVersion>4.0.0</modelVersion>
<dependencies>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/extdata/uri/pom.xml
----------------------------------------------------------------------
diff --git a/modules/extdata/uri/pom.xml b/modules/extdata/uri/pom.xml
index db1faa1..4121188 100644
--- a/modules/extdata/uri/pom.xml
+++ b/modules/extdata/uri/pom.xml
@@ -32,7 +32,7 @@
</parent>
<artifactId>ignite-extdata-uri</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/gce/pom.xml
----------------------------------------------------------------------
diff --git a/modules/gce/pom.xml b/modules/gce/pom.xml
index 1442cd5..3c1ea24 100644
--- a/modules/gce/pom.xml
+++ b/modules/gce/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-gce</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/geospatial/pom.xml
----------------------------------------------------------------------
diff --git a/modules/geospatial/pom.xml b/modules/geospatial/pom.xml
index 40650a7..1cb53b6 100644
--- a/modules/geospatial/pom.xml
+++ b/modules/geospatial/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-geospatial</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/hadoop/pom.xml
----------------------------------------------------------------------
diff --git a/modules/hadoop/pom.xml b/modules/hadoop/pom.xml
index c371f3f..28a0e10 100644
--- a/modules/hadoop/pom.xml
+++ b/modules/hadoop/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-hadoop</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/hibernate/pom.xml
----------------------------------------------------------------------
diff --git a/modules/hibernate/pom.xml b/modules/hibernate/pom.xml
index bc4b2ed..14d257a 100644
--- a/modules/hibernate/pom.xml
+++ b/modules/hibernate/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-hibernate</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/indexing/pom.xml
----------------------------------------------------------------------
diff --git a/modules/indexing/pom.xml b/modules/indexing/pom.xml
index 70a2818..15067fa 100644
--- a/modules/indexing/pom.xml
+++ b/modules/indexing/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-indexing</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/jcl/pom.xml
----------------------------------------------------------------------
diff --git a/modules/jcl/pom.xml b/modules/jcl/pom.xml
index fbf21b4..d191858 100644
--- a/modules/jcl/pom.xml
+++ b/modules/jcl/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-jcl</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/jta/pom.xml
----------------------------------------------------------------------
diff --git a/modules/jta/pom.xml b/modules/jta/pom.xml
index 868fb22..9714593 100644
--- a/modules/jta/pom.xml
+++ b/modules/jta/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-jta</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/kafka/pom.xml
----------------------------------------------------------------------
diff --git a/modules/kafka/pom.xml b/modules/kafka/pom.xml
index 1536e0b..ed77507 100644
--- a/modules/kafka/pom.xml
+++ b/modules/kafka/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-kafka</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/log4j/pom.xml
----------------------------------------------------------------------
diff --git a/modules/log4j/pom.xml b/modules/log4j/pom.xml
index c39f892..987c8aa 100644
--- a/modules/log4j/pom.xml
+++ b/modules/log4j/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-log4j</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/mesos/pom.xml
----------------------------------------------------------------------
diff --git a/modules/mesos/pom.xml b/modules/mesos/pom.xml
index 6a9a22b..7879e63 100644
--- a/modules/mesos/pom.xml
+++ b/modules/mesos/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-mesos</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<properties>
<mesos.version>0.22.0</mesos.version>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/rest-http/pom.xml
----------------------------------------------------------------------
diff --git a/modules/rest-http/pom.xml b/modules/rest-http/pom.xml
index 445321b..4864b55 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.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/scalar-2.10/pom.xml
----------------------------------------------------------------------
diff --git a/modules/scalar-2.10/pom.xml b/modules/scalar-2.10/pom.xml
index 65ebb92..11d9c9a 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.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/scalar/pom.xml
----------------------------------------------------------------------
diff --git a/modules/scalar/pom.xml b/modules/scalar/pom.xml
index 4d8b19b..d5241c3 100644
--- a/modules/scalar/pom.xml
+++ b/modules/scalar/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-scalar</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/schedule/pom.xml
----------------------------------------------------------------------
diff --git a/modules/schedule/pom.xml b/modules/schedule/pom.xml
index 65570db..26b2ed3 100644
--- a/modules/schedule/pom.xml
+++ b/modules/schedule/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-schedule</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/schema-import/pom.xml
----------------------------------------------------------------------
diff --git a/modules/schema-import/pom.xml b/modules/schema-import/pom.xml
index 3e4bc70..957c821 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.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/slf4j/pom.xml
----------------------------------------------------------------------
diff --git a/modules/slf4j/pom.xml b/modules/slf4j/pom.xml
index f0a9f86..4c81324 100644
--- a/modules/slf4j/pom.xml
+++ b/modules/slf4j/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-slf4j</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/spark-2.10/pom.xml
----------------------------------------------------------------------
diff --git a/modules/spark-2.10/pom.xml b/modules/spark-2.10/pom.xml
index abe71df..3cc13ea 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.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/spark/pom.xml
----------------------------------------------------------------------
diff --git a/modules/spark/pom.xml b/modules/spark/pom.xml
index 3685427..0ba28d8 100644
--- a/modules/spark/pom.xml
+++ b/modules/spark/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-spark</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/spring/pom.xml
----------------------------------------------------------------------
diff --git a/modules/spring/pom.xml b/modules/spring/pom.xml
index f46c337..3fdb893 100644
--- a/modules/spring/pom.xml
+++ b/modules/spring/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-spring</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/ssh/pom.xml
----------------------------------------------------------------------
diff --git a/modules/ssh/pom.xml b/modules/ssh/pom.xml
index 8d49fa1..7911ff1 100644
--- a/modules/ssh/pom.xml
+++ b/modules/ssh/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-ssh</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/tools/pom.xml
----------------------------------------------------------------------
diff --git a/modules/tools/pom.xml b/modules/tools/pom.xml
index 106192f..e31d996 100644
--- a/modules/tools/pom.xml
+++ b/modules/tools/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-tools</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/urideploy/pom.xml
----------------------------------------------------------------------
diff --git a/modules/urideploy/pom.xml b/modules/urideploy/pom.xml
index 2414193..58fd030 100644
--- a/modules/urideploy/pom.xml
+++ b/modules/urideploy/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-urideploy</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/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 3385ae0..a676e10 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.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/visor-console/pom.xml
----------------------------------------------------------------------
diff --git a/modules/visor-console/pom.xml b/modules/visor-console/pom.xml
index 22295e0..6eb02e9 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.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/visor-plugins/pom.xml
----------------------------------------------------------------------
diff --git a/modules/visor-plugins/pom.xml b/modules/visor-plugins/pom.xml
index 97ff310..a1936e4 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.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<!-- Ignite dependencies -->
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/web/pom.xml
----------------------------------------------------------------------
diff --git a/modules/web/pom.xml b/modules/web/pom.xml
index f47433d..3e31812 100644
--- a/modules/web/pom.xml
+++ b/modules/web/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-web</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/yardstick/pom.xml
----------------------------------------------------------------------
diff --git a/modules/yardstick/pom.xml b/modules/yardstick/pom.xml
index de917e5..aa3845b 100644
--- a/modules/yardstick/pom.xml
+++ b/modules/yardstick/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-yardstick</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<properties>
<yardstick.version>0.7.0</yardstick.version>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/modules/yarn/pom.xml
----------------------------------------------------------------------
diff --git a/modules/yarn/pom.xml b/modules/yarn/pom.xml
index dbe59b0..bfa53bc 100644
--- a/modules/yarn/pom.xml
+++ b/modules/yarn/pom.xml
@@ -31,7 +31,7 @@
</parent>
<artifactId>ignite-yarn</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<properties>
<hadoop.version>2.7.0</hadoop.version>
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9300bbc7/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index dcda132..176c14e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
<groupId>org.apache.ignite</groupId>
<artifactId>apache-ignite</artifactId>
- <version>1.3.3-p1-SNAPSHOT</version>
+ <version>1.3.3-p2-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
[12/12] incubator-ignite git commit: # Merge remote-tracking branch
'remotes/origin/master' into ignite-426
Posted by sb...@apache.org.
# Merge remote-tracking branch 'remotes/origin/master' into ignite-426
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/25f8f419
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/25f8f419
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/25f8f419
Branch: refs/heads/ignite-426
Commit: 25f8f419bf75f8c6b83ecbe6cff29865a2d5548d
Parents: f0b24c4 1f00c70
Author: sboikov <sb...@gridgain.com>
Authored: Mon Aug 17 14:06:52 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Mon Aug 17 14:06:52 2015 +0300
----------------------------------------------------------------------
.../CachePartialUpdateCheckedException.java | 29 +++-
.../processors/cache/GridCacheAdapter.java | 161 ++++++++++++++++---
.../processors/cache/GridCacheMapEntry.java | 4 +-
.../dht/atomic/GridNearAtomicUpdateFuture.java | 61 +++++--
.../near/GridNearOptimisticTxPrepareFuture.java | 2 +-
...cheDhtLocalPartitionAfterRemoveSelfTest.java | 33 ++--
.../cache/GridCacheAbstractFullApiSelfTest.java | 1 -
.../IgniteCacheSizeFailoverTest.java | 115 +++++++++++++
.../IgniteCachePutRetryAbstractSelfTest.java | 120 +++++++++++---
...PutRetryAtomicPrimaryWriteOrderSelfTest.java | 32 ++++
.../tcp/IgniteCacheSslStartStopSelfTest.java | 1 +
.../IgniteCacheFailoverTestSuite.java | 3 +
.../testsuites/IgniteCacheTestSuite2.java | 1 +
13 files changed, 494 insertions(+), 69 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/25f8f419/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/25f8f419/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
index eec7fa0,e527f08..1a779ad
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
@@@ -287,24 -284,14 +288,24 @@@ public class GridNearAtomicUpdateFutur
return false;
}
- GridNearAtomicUpdateRequest req = mappings.get(nodeId);
+ Collection<GridAtomicMappingKey> mappingKeys = new ArrayList<>(mappings.size());
+ Collection<KeyCacheObject> failedKeys = new ArrayList<>();
+
+ for (Map.Entry<GridAtomicMappingKey, GridNearAtomicUpdateRequest> e : mappings.entrySet()) {
+ if (e.getKey().nodeId().equals(nodeId)) {
+ mappingKeys.add(e.getKey());
+
+ failedKeys.addAll(e.getValue().keys());
+ }
+ }
- if (req != null) {
- addFailedKeys(req.keys(),
- req.topologyVersion(),
- new ClusterTopologyCheckedException("Primary node left grid before response is received: " + nodeId));
+ if (!mappingKeys.isEmpty()) {
- if (!failedKeys.isEmpty())
- addFailedKeys(failedKeys, new ClusterTopologyCheckedException("Primary node left grid before " +
++ if (!failedKeys.isEmpty()) // TODO: top ver.
++ addFailedKeys(failedKeys, null, new ClusterTopologyCheckedException("Primary node left grid before " +
+ "response is received: " + nodeId));
- mappings.remove(nodeId);
+ for (GridAtomicMappingKey key : mappingKeys)
+ mappings.remove(key);
checkComplete();
@@@ -466,14 -479,17 +489,17 @@@
X.hasCause(err, ClusterTopologyCheckedException.class) &&
storeFuture() &&
remapCnt.decrementAndGet() > 0) {
+ ClusterTopologyCheckedException topErr = X.cause(err, ClusterTopologyCheckedException.class);
- CachePartialUpdateCheckedException cause = X.cause(err, CachePartialUpdateCheckedException.class);
+ if (!(topErr instanceof ClusterTopologyServerNotFoundException)) {
+ CachePartialUpdateCheckedException cause = X.cause(err, CachePartialUpdateCheckedException.class);
- assert !F.isEmpty(cause.failedKeys());
- assert cause != null && cause.topologyVersion() != null : err;
++ assert cause != null && !F.isEmpty(cause.failedKeys()) && cause.topologyVersion() != null : err;
- remap(cause.failedKeys());
+ remap(cause.failedKeys(), cause.topologyVersion());
- return false;
+ return false;
+ }
}
if (super.onDone(retval, err)) {
@@@ -1030,24 -1031,37 +1058,24 @@@
/**
* Maps future to single node.
*
- * @param nodeId Node ID.
+ * @param mappingKey Mapping key.
* @param req Request.
*/
- private void mapSingle(UUID nodeId, GridNearAtomicUpdateRequest req) {
- singleNodeId = nodeId;
+ private void mapSingle(GridAtomicMappingKey mappingKey, GridNearAtomicUpdateRequest req) {
+ singleNodeId = mappingKey.nodeId();
singleReq = req;
- if (cctx.localNodeId().equals(nodeId)) {
- cache.updateAllAsyncInternal(nodeId, req,
- new CI2<GridNearAtomicUpdateRequest, GridNearAtomicUpdateResponse>() {
- @Override public void apply(GridNearAtomicUpdateRequest req,
- GridNearAtomicUpdateResponse res) {
- assert res.futureVersion().equals(futVer) : futVer;
-
- onResult(res.nodeId(), res);
- }
- });
- }
- else {
- try {
- if (log.isDebugEnabled())
- log.debug("Sending near atomic update request [nodeId=" + req.nodeId() + ", req=" + req + ']');
+ try {
+ if (log.isDebugEnabled())
+ log.debug("Sending near atomic update request [nodeId=" + req.nodeId() + ", req=" + req + ']');
- cctx.io().send(req.nodeId(), req, cctx.ioPolicy());
+ sendRequest(mappingKey, req);
- if (syncMode == FULL_ASYNC && cctx.config().getAtomicWriteOrderMode() == PRIMARY)
- onDone(new GridCacheReturn(cctx, true, null, true));
- }
- catch (IgniteCheckedException e) {
- onDone(addFailedKeys(req.keys(), req.topologyVersion(), e));
- }
+ if (syncMode == FULL_ASYNC && cctx.config().getAtomicWriteOrderMode() == PRIMARY)
+ onDone(new GridCacheReturn(cctx, true, null, true));
+ }
+ catch (IgniteCheckedException e) {
- onDone(addFailedKeys(req.keys(), e));
++ onDone(addFailedKeys(req.keys(), req.topologyVersion(), e));
}
}
@@@ -1056,25 -1070,35 +1084,25 @@@
*
* @param mappings Mappings to send.
*/
- private void doUpdate(Map<UUID, GridNearAtomicUpdateRequest> mappings) {
- UUID locNodeId = cctx.localNodeId();
-
- GridNearAtomicUpdateRequest locUpdate = null;
+ private void doUpdate(Map<GridAtomicMappingKey, GridNearAtomicUpdateRequest> mappings) {
+ for (Map.Entry<GridAtomicMappingKey, GridNearAtomicUpdateRequest> e : mappings.entrySet()) {
+ GridAtomicMappingKey mappingKey = e.getKey();
+ GridNearAtomicUpdateRequest req = e.getValue();
- // Send messages to remote nodes first, then run local update.
- for (GridNearAtomicUpdateRequest req : mappings.values()) {
- if (locNodeId.equals(req.nodeId())) {
- assert locUpdate == null : "Cannot have more than one local mapping [locUpdate=" + locUpdate +
- ", req=" + req + ']';
+ try {
+ if (log.isDebugEnabled())
+ log.debug("Sending near atomic update request [nodeId=" + req.nodeId() + ", req=" + req + ']');
- locUpdate = req;
+ sendRequest(mappingKey, req);
}
- else {
- try {
- if (log.isDebugEnabled())
- log.debug("Sending near atomic update request [nodeId=" + req.nodeId() + ", req=" + req + ']');
-
- cctx.io().send(req.nodeId(), req, cctx.ioPolicy());
- }
- catch (IgniteCheckedException e) {
- addFailedKeys(req.keys(), req.topologyVersion(), e);
+ catch (IgniteCheckedException ex) {
- addFailedKeys(req.keys(), ex);
++ addFailedKeys(req.keys(), req.topologyVersion(), ex);
- removeMapping(req.nodeId());
- }
-
- if (syncMode == PRIMARY_SYNC && !req.hasPrimary())
- removeMapping(req.nodeId());
+ removeMapping(mappingKey);
}
+
+ if (syncMode == PRIMARY_SYNC && !req.hasPrimary())
+ removeMapping(mappingKey);
}
if (syncMode == FULL_ASYNC)
[10/12] incubator-ignite git commit: Merge remote-tracking branch
'remotes/origin/ignite-1.3.3-p2'
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-1.3.3-p2'
Conflicts:
examples/pom.xml
modules/aop/pom.xml
modules/apache-license-gen/pom.xml
modules/aws/pom.xml
modules/clients/pom.xml
modules/cloud/pom.xml
modules/codegen/pom.xml
modules/core/pom.xml
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
modules/core/src/main/resources/ignite.properties
modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheDhtLocalPartitionAfterRemoveSelfTest.java
modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
modules/extdata/p2p/pom.xml
modules/extdata/uri/modules/uri-dependency/pom.xml
modules/extdata/uri/pom.xml
modules/gce/pom.xml
modules/geospatial/pom.xml
modules/hadoop/pom.xml
modules/hibernate/pom.xml
modules/indexing/pom.xml
modules/jcl/pom.xml
modules/jta/pom.xml
modules/kafka/pom.xml
modules/log4j/pom.xml
modules/mesos/pom.xml
modules/rest-http/pom.xml
modules/scalar-2.10/pom.xml
modules/scalar/pom.xml
modules/schedule/pom.xml
modules/schema-import/pom.xml
modules/slf4j/pom.xml
modules/spark-2.10/pom.xml
modules/spark/pom.xml
modules/spring/pom.xml
modules/ssh/pom.xml
modules/tools/pom.xml
modules/urideploy/pom.xml
modules/visor-console-2.10/pom.xml
modules/visor-console/pom.xml
modules/visor-plugins/pom.xml
modules/web/pom.xml
modules/yardstick/pom.xml
modules/yarn/pom.xml
pom.xml
Merge remote-tracking branch 'remotes/origin/ignite-1.3.3-p2'
Conflicts:
benchmarks/cache-comparison/pom.xml
benchmarks/filesystem/hadoop1/pom.xml
benchmarks/filesystem/hadoop2/pom.xml
benchmarks/mongo/pom.xml
benchmarks/risk-analytics/pom.xml
benchmarks/serialization/pom.xml
benchmarks/yardstick/src/main/dotnet/gridgain-benchmarks/Properties/AssemblyInfo.cs
examples/clients/cpp/configure.ac
examples/clients/dotnet/GridGainExamples/GridGainExamples/Properties/AssemblyInfo.cs
examples/clients/dotnet/GridGainExamples/GridGainExamplesDll/Properties/AssemblyInfo.cs
examples/pom.xml
modules/clients/common/configure.ac
modules/clients/common/project/vs/Resource.rc
modules/clients/cpp/_old/main/configure.ac
modules/clients/cpp/_old/main/tests/configure.ac
modules/clients/cpp/_old/vsproject/resource.h
modules/clients/cpp/core-test/configure.ac
modules/clients/cpp/core-test/project/vs/Resource.rc
modules/clients/cpp/core/configure.ac
modules/clients/cpp/core/project/vs/Resource.rc
modules/clients/dotnet/gridgain-codegen/Properties/AssemblyInfo.cs
modules/clients/dotnet/gridgain-exe/Properties/AssemblyInfo.cs
modules/clients/dotnet/gridgain/Properties/AssemblyInfo.cs
modules/clients/pom.xml
modules/clients/src/test/dotnet/gridgain-examples-test/Properties/AssemblyInfo.cs
modules/clients/src/test/dotnet/gridgain-test-compatibility/Properties/AssemblyInfo.cs
modules/clients/src/test/dotnet/gridgain-test-dll/Properties/AssemblyInfo.cs
modules/clients/src/test/dotnet/gridgain-test-runner/Properties/AssemblyInfo.cs
modules/clients/src/test/dotnet/gridgain-test/Properties/AssemblyInfo.cs
modules/codegen/pom.xml
modules/compatibility/gg-versions/7.3.3/src/main/java/org/gridgain/grid/compatibility/GridCompatibilityTestsRunner.java
modules/compatibility/pom.xml
modules/core/pom.xml
modules/core/src/main/resources/gridgain.properties
modules/diagnostic/pom.xml
modules/dr-demo/pom.xml
modules/license-gen/pom.xml
modules/mongo-sniffer/pom.xml
modules/mongo-visor/pom.xml
modules/mongo/pom.xml
modules/tools/pom.xml
modules/visor-console/pom.xml
modules/visor-demo/pom.xml
modules/visor-tester-plugin/pom.xml
modules/visor-tester/pom.xml
modules/visor/pom.xml
modules/yardstick/dotnet/Properties/AssemblyInfo.cs
modules/yardstick/pom.xml
parent/pom.xml
pilots/chronotrack/pom.xml
pilots/ctb/pom.xml
pilots/dsi/pom.xml
pilots/ionic/pom.xml
pilots/sb/pom.xml
pilots/sony/pom.xml
pilots/wellsfargo/pom.xml
pilots/worldpay/pom.xml
pom.xml
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/1f00c707
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/1f00c707
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/1f00c707
Branch: refs/heads/ignite-426
Commit: 1f00c7071d354b9f817be5daf725f638cd2f347b
Parents: 648cbd7
Author: Anton Vinogradov <vi...@gmail.com>
Authored: Mon Aug 17 11:01:06 2015 +0300
Committer: Anton Vinogradov <vi...@gmail.com>
Committed: Mon Aug 17 11:01:06 2015 +0300
----------------------------------------------------------------------
.../ignite/internal/processors/cache/GridCacheAdapter.java | 3 ---
.../distributed/dht/IgniteCachePutRetryAbstractSelfTest.java | 6 ------
2 files changed, 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1f00c707/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 00c0629..177dcfb 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -2278,8 +2278,6 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
* @param filter Filter.
* @return Put future.
*/
- public IgniteInternalFuture<Boolean> putAsync(K key, V val,
- @Nullable CacheEntryPredicate... filter) {
public IgniteInternalFuture<Boolean> putAsync(K key, V val, @Nullable CacheEntryPredicate... filter) {
final boolean statsEnabled = ctx.config().isStatisticsEnabled();
@@ -4695,7 +4693,6 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
}
/**
- * @param tx Transaction.
*/
public void execute() {
tx = ctx.tm().newTx(
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1f00c707/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
index 74f62ba..c798369 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
@@ -158,12 +158,6 @@ public abstract class IgniteCachePutRetryAbstractSelfTest extends GridCacheAbstr
finished.set(true);
fut.get();
- fut.get();
- }
- finally {
- finished.set(true);
- }
-
for (int i = 0; i < keysCnt; i++)
assertEquals(iter, cache.get(i));
}
[04/12] incubator-ignite git commit: # Fix TopologyVersionAwareJob
Posted by sb...@apache.org.
# Fix TopologyVersionAwareJob
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/a3301b35
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/a3301b35
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/a3301b35
Branch: refs/heads/ignite-426
Commit: a3301b3511a742c7c2cc013a4e31a1a838482938
Parents: 51dcd51
Author: sboikov <sb...@gridgain.com>
Authored: Fri Aug 14 11:27:29 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Aug 14 11:37:47 2015 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheAdapter.java | 9 +-
.../IgniteCacheSizeFailoverTest.java | 115 +++++++++++++++++++
.../IgniteCachePutRetryAbstractSelfTest.java | 19 ++-
...PutRetryAtomicPrimaryWriteOrderSelfTest.java | 32 ++++++
.../tcp/IgniteCacheSslStartStopSelfTest.java | 1 +
.../IgniteCacheFailoverTestSuite.java | 3 +
6 files changed, 175 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a3301b35/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 18f4004..47ede5b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -5597,9 +5597,12 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
jobCtx.holdcc();
fut.listen(new CI1<IgniteInternalFuture<?>>() {
- @Override
- public void apply(IgniteInternalFuture<?> t) {
- jobCtx.callcc();
+ @Override public void apply(IgniteInternalFuture<?> t) {
+ ((IgniteKernal)ignite).context().closure().runLocalSafe(new Runnable() {
+ @Override public void run() {
+ jobCtx.callcc();
+ }
+ }, false);
}
});
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a3301b35/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheSizeFailoverTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheSizeFailoverTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheSizeFailoverTest.java
new file mode 100644
index 0000000..a76d894
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheSizeFailoverTest.java
@@ -0,0 +1,115 @@
+/*
+ * 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.distributed;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cache.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.*;
+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 java.util.concurrent.*;
+import java.util.concurrent.atomic.*;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.*;
+import static org.apache.ignite.cache.CacheMode.*;
+import static org.apache.ignite.cache.CacheWriteSynchronizationMode.*;
+
+/**
+ *
+ */
+public class IgniteCacheSizeFailoverTest extends GridCommonAbstractTest {
+ /** */
+ private static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
+
+ /** {@inheritDoc} */
+ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+ IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+ ((TcpDiscoverySpi)cfg.getDiscoverySpi()).setIpFinder(ipFinder);
+
+ CacheConfiguration ccfg = new CacheConfiguration();
+
+ ccfg.setCacheMode(PARTITIONED);
+ ccfg.setAtomicityMode(ATOMIC);
+ ccfg.setWriteSynchronizationMode(FULL_SYNC);
+ ccfg.setBackups(1);
+
+ cfg.setCacheConfiguration(ccfg);
+
+ return cfg;
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testSize() throws Exception {
+ startGrids(2);
+
+ final AtomicBoolean stop = new AtomicBoolean();
+
+ final AtomicInteger cntr = new AtomicInteger();
+
+ IgniteInternalFuture<?> fut = GridTestUtils.runMultiThreadedAsync(new Callable<Object>() {
+ @Override public Object call() throws Exception {
+ int idx = cntr.getAndIncrement();
+
+ IgniteCache<Object, Object> cache = ignite(idx).cache(null);
+
+ long cntr = 0;
+
+ while (!stop.get()) {
+ cache.size();
+
+ if (cntr++ % 1000 == 0)
+ log.info("Iteration: " + cntr);
+ }
+
+ return null;
+ }
+ }, 2, "size-thread");
+
+ try {
+ for (int i = 0; i < 10; i++) {
+ log.info("Start node: " + i);
+
+ Ignite node = startGrid(3);
+
+ IgniteCache<Object, Object> cache = node.cache(null);
+
+ for (int j = 0; j < 100; j++)
+ assertTrue(cache.size() >= 0);
+
+ log.info("Stop node: " + i);
+
+ stopGrid(3);
+ }
+ }
+ finally {
+ stop.set(true);
+ }
+
+ log.info("Stop test.");
+
+ fut.get();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a3301b35/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
index bfddbe7..dcba325 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
@@ -17,6 +17,7 @@
package org.apache.ignite.internal.processors.cache.distributed.dht;
+import org.apache.ignite.*;
import org.apache.ignite.cache.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.internal.*;
@@ -29,6 +30,9 @@ import org.apache.ignite.testframework.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
+import static org.apache.ignite.cache.CacheAtomicWriteOrderMode.*;
+import static org.apache.ignite.cache.CacheAtomicityMode.*;
+
/**
*
*/
@@ -47,6 +51,7 @@ public abstract class IgniteCachePutRetryAbstractSelfTest extends GridCacheAbstr
@Override protected CacheConfiguration cacheConfiguration(String gridName) throws Exception {
CacheConfiguration cfg = super.cacheConfiguration(gridName);
+ cfg.setAtomicWriteOrderMode(writeOrderMode());
cfg.setBackups(1);
return cfg;
@@ -66,6 +71,13 @@ public abstract class IgniteCachePutRetryAbstractSelfTest extends GridCacheAbstr
}
/**
+ * @return Write order mode.
+ */
+ protected CacheAtomicWriteOrderMode writeOrderMode() {
+ return CLOCK;
+ }
+
+ /**
* @throws Exception If failed.
*/
public void testPut() throws Exception {
@@ -87,8 +99,13 @@ public abstract class IgniteCachePutRetryAbstractSelfTest extends GridCacheAbstr
int keysCnt = keysCount();
+ IgniteCache<Object, Object> cache = ignite(0).cache(null);
+
+ if (atomicityMode() == ATOMIC)
+ assertEquals(writeOrderMode(), cache.getConfiguration(CacheConfiguration.class).getAtomicWriteOrderMode());
+
for (int i = 0; i < keysCnt; i++)
- ignite(0).cache(null).put(i, i);
+ cache.put(i, i);
finished.set(true);
fut.get();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a3301b35/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest.java
new file mode 100644
index 0000000..e9682c5
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest.java
@@ -0,0 +1,32 @@
+/*
+ * 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.distributed.dht.atomic;
+
+import org.apache.ignite.cache.*;
+import org.apache.ignite.internal.processors.cache.distributed.dht.*;
+
+import static org.apache.ignite.cache.CacheAtomicWriteOrderMode.*;
+
+/**
+ *
+ */
+public class IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest extends IgniteCachePutRetryAtomicSelfTest {
+ /** {@inheritDoc} */
+ @Override protected CacheAtomicWriteOrderMode writeOrderMode() {
+ return PRIMARY;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a3301b35/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteCacheSslStartStopSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteCacheSslStartStopSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteCacheSslStartStopSelfTest.java
index 9bf6caa..5b9af4f 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteCacheSslStartStopSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/IgniteCacheSslStartStopSelfTest.java
@@ -26,6 +26,7 @@ import org.apache.ignite.testframework.*;
*
*/
public class IgniteCacheSslStartStopSelfTest extends IgniteCachePutRetryAbstractSelfTest {
+ /** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(gridName);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a3301b35/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java
index 524bfb3..af2b85c 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java
@@ -73,10 +73,13 @@ public class IgniteCacheFailoverTestSuite extends TestSuite {
suite.addTestSuite(IgniteCacheTxNearDisabledFairAffinityPutGetRestartTest.class);
suite.addTestSuite(IgniteCachePutRetryAtomicSelfTest.class);
+ suite.addTestSuite(IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest.class);
suite.addTestSuite(IgniteCachePutRetryTransactionalSelfTest.class);
suite.addTestSuite(IgniteCacheSslStartStopSelfTest.class);
+ suite.addTestSuite(IgniteCacheSizeFailoverTest.class);
+
return suite;
}
}
[09/12] incubator-ignite git commit: Merge remote-tracking branch
'remotes/origin/ignite-1.3.3-p2'
Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/ignite-1.3.3-p2'
Conflicts:
examples/pom.xml
modules/aop/pom.xml
modules/apache-license-gen/pom.xml
modules/aws/pom.xml
modules/clients/pom.xml
modules/cloud/pom.xml
modules/codegen/pom.xml
modules/core/pom.xml
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
modules/core/src/main/resources/ignite.properties
modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheDhtLocalPartitionAfterRemoveSelfTest.java
modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
modules/extdata/p2p/pom.xml
modules/extdata/uri/modules/uri-dependency/pom.xml
modules/extdata/uri/pom.xml
modules/gce/pom.xml
modules/geospatial/pom.xml
modules/hadoop/pom.xml
modules/hibernate/pom.xml
modules/indexing/pom.xml
modules/jcl/pom.xml
modules/jta/pom.xml
modules/kafka/pom.xml
modules/log4j/pom.xml
modules/mesos/pom.xml
modules/rest-http/pom.xml
modules/scalar-2.10/pom.xml
modules/scalar/pom.xml
modules/schedule/pom.xml
modules/schema-import/pom.xml
modules/slf4j/pom.xml
modules/spark-2.10/pom.xml
modules/spark/pom.xml
modules/spring/pom.xml
modules/ssh/pom.xml
modules/tools/pom.xml
modules/urideploy/pom.xml
modules/visor-console-2.10/pom.xml
modules/visor-console/pom.xml
modules/visor-plugins/pom.xml
modules/web/pom.xml
modules/yardstick/pom.xml
modules/yarn/pom.xml
pom.xml
Merge remote-tracking branch 'remotes/origin/ignite-1.3.3-p2'
Conflicts:
benchmarks/cache-comparison/pom.xml
benchmarks/filesystem/hadoop1/pom.xml
benchmarks/filesystem/hadoop2/pom.xml
benchmarks/mongo/pom.xml
benchmarks/risk-analytics/pom.xml
benchmarks/serialization/pom.xml
benchmarks/yardstick/src/main/dotnet/gridgain-benchmarks/Properties/AssemblyInfo.cs
examples/clients/cpp/configure.ac
examples/clients/dotnet/GridGainExamples/GridGainExamples/Properties/AssemblyInfo.cs
examples/clients/dotnet/GridGainExamples/GridGainExamplesDll/Properties/AssemblyInfo.cs
examples/pom.xml
modules/clients/common/configure.ac
modules/clients/common/project/vs/Resource.rc
modules/clients/cpp/_old/main/configure.ac
modules/clients/cpp/_old/main/tests/configure.ac
modules/clients/cpp/_old/vsproject/resource.h
modules/clients/cpp/core-test/configure.ac
modules/clients/cpp/core-test/project/vs/Resource.rc
modules/clients/cpp/core/configure.ac
modules/clients/cpp/core/project/vs/Resource.rc
modules/clients/dotnet/gridgain-codegen/Properties/AssemblyInfo.cs
modules/clients/dotnet/gridgain-exe/Properties/AssemblyInfo.cs
modules/clients/dotnet/gridgain/Properties/AssemblyInfo.cs
modules/clients/pom.xml
modules/clients/src/test/dotnet/gridgain-examples-test/Properties/AssemblyInfo.cs
modules/clients/src/test/dotnet/gridgain-test-compatibility/Properties/AssemblyInfo.cs
modules/clients/src/test/dotnet/gridgain-test-dll/Properties/AssemblyInfo.cs
modules/clients/src/test/dotnet/gridgain-test-runner/Properties/AssemblyInfo.cs
modules/clients/src/test/dotnet/gridgain-test/Properties/AssemblyInfo.cs
modules/codegen/pom.xml
modules/compatibility/gg-versions/7.3.3/src/main/java/org/gridgain/grid/compatibility/GridCompatibilityTestsRunner.java
modules/compatibility/pom.xml
modules/core/pom.xml
modules/core/src/main/resources/gridgain.properties
modules/diagnostic/pom.xml
modules/dr-demo/pom.xml
modules/license-gen/pom.xml
modules/mongo-sniffer/pom.xml
modules/mongo-visor/pom.xml
modules/mongo/pom.xml
modules/tools/pom.xml
modules/visor-console/pom.xml
modules/visor-demo/pom.xml
modules/visor-tester-plugin/pom.xml
modules/visor-tester/pom.xml
modules/visor/pom.xml
modules/yardstick/dotnet/Properties/AssemblyInfo.cs
modules/yardstick/pom.xml
parent/pom.xml
pilots/chronotrack/pom.xml
pilots/ctb/pom.xml
pilots/dsi/pom.xml
pilots/ionic/pom.xml
pilots/sb/pom.xml
pilots/sony/pom.xml
pilots/wellsfargo/pom.xml
pilots/worldpay/pom.xml
pom.xml
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/648cbd78
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/648cbd78
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/648cbd78
Branch: refs/heads/ignite-426
Commit: 648cbd78282dea1e895a80be9d1322952d4d7af3
Parents: 0d70112 5faffb9
Author: Anton Vinogradov <vi...@gmail.com>
Authored: Mon Aug 17 10:58:54 2015 +0300
Committer: Anton Vinogradov <vi...@gmail.com>
Committed: Mon Aug 17 10:58:54 2015 +0300
----------------------------------------------------------------------
.../CachePartialUpdateCheckedException.java | 29 +++-
.../processors/cache/GridCacheAdapter.java | 160 +++++++++++++++++--
.../processors/cache/GridCacheMapEntry.java | 4 +-
.../dht/atomic/GridNearAtomicUpdateFuture.java | 63 ++++++--
.../near/GridNearOptimisticTxPrepareFuture.java | 2 +-
...cheDhtLocalPartitionAfterRemoveSelfTest.java | 33 ++--
.../cache/GridCacheAbstractFullApiSelfTest.java | 1 -
.../IgniteCacheSizeFailoverTest.java | 115 +++++++++++++
.../IgniteCachePutRetryAbstractSelfTest.java | 120 ++++++++++++--
...PutRetryAtomicPrimaryWriteOrderSelfTest.java | 32 ++++
.../tcp/IgniteCacheSslStartStopSelfTest.java | 1 +
.../IgniteCacheFailoverTestSuite.java | 3 +
.../testsuites/IgniteCacheTestSuite2.java | 1 +
13 files changed, 499 insertions(+), 65 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/648cbd78/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index d125382,992edd8..00c0629
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@@ -2278,8 -2283,7 +2278,9 @@@ public abstract class GridCacheAdapter<
* @param filter Filter.
* @return Put future.
*/
+ public IgniteInternalFuture<Boolean> putAsync(K key, V val,
+ @Nullable CacheEntryPredicate... filter) {
+ public IgniteInternalFuture<Boolean> putAsync(K key, V val, @Nullable CacheEntryPredicate... filter) {
final boolean statsEnabled = ctx.config().isStatisticsEnabled();
final long start = statsEnabled ? System.nanoTime() : 0L;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/648cbd78/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/648cbd78/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/648cbd78/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/648cbd78/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/648cbd78/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
index 7f2d173,9abc5c8..74f62ba
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
@@@ -69,10 -81,23 +81,25 @@@ public abstract class IgniteCachePutRet
* @throws Exception If failed.
*/
public void testPut() throws Exception {
+ checkPut(false);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testPutAsync() throws Exception {
+ checkPut(true);
+ }
+
+ /**
+ * @param async If {@code true} tests asynchronous put.
+ * @throws Exception If failed.
+ */
+ private void checkPut(boolean async) throws Exception {
final AtomicBoolean finished = new AtomicBoolean();
+ int keysCnt = keysCount();
+
IgniteInternalFuture<Object> fut = GridTestUtils.runAsync(new Callable<Object>() {
@Override public Object call() throws Exception {
while (!finished.get()) {
@@@ -87,21 -112,53 +114,58 @@@
}
});
- int keysCnt = keysCount();
- try {
- for (int i = 0; i < keysCnt; i++)
- ignite(0).cache(null).put(i, i);
+ IgniteCache<Object, Object> cache = ignite(0).cache(null);
- finished.set(true);
+ if (atomicityMode() == ATOMIC)
+ assertEquals(writeOrderMode(), cache.getConfiguration(CacheConfiguration.class).getAtomicWriteOrderMode());
+
+ int iter = 0;
+
+ long stopTime = System.currentTimeMillis() + 60_000;
+
+ if (async) {
+ IgniteCache<Object, Object> cache0 = cache.withAsync();
+
+ while (System.currentTimeMillis() < stopTime) {
+ Integer val = ++iter;
+
+ for (int i = 0; i < keysCnt; i++) {
+ cache0.put(i, val);
+
+ cache0.future().get();
+ }
+
+ for (int i = 0; i < keysCnt; i++) {
+ cache0.get(i);
+
+ assertEquals(val, cache0.future().get());
+ }
+ }
+ }
+ else {
+ while (System.currentTimeMillis() < stopTime) {
+ Integer val = ++iter;
+
+ for (int i = 0; i < keysCnt; i++)
+ cache.put(i, val);
+
+ for (int i = 0; i < keysCnt; i++)
+ assertEquals(val, cache.get(i));
+ }
+ }
+
+ finished.set(true);
+ fut.get();
+ fut.get();
+ }
+ finally {
+ finished.set(true);
+ }
+
for (int i = 0; i < keysCnt; i++)
- assertEquals(i, ignite(0).cache(null).get(i));
+ assertEquals(iter, cache.get(i));
}
/**
@@@ -124,34 -196,39 +203,45 @@@
}
});
- int keysCnt = keysCount();
+ try {
+ int keysCnt = keysCount();
- boolean eThrown = false;
+ boolean eThrown = false;
+
+ IgniteCache<Object, Object> cache = ignite(0).cache(null).withNoRetries();
+
+ if (async)
+ cache = cache.withAsync();
- for (int i = 0; i < keysCnt; i++) {
- try {
- ignite(0).cache(null).withNoRetries().put(i, i);
+ for (int i = 0; i < keysCnt; i++) {
+ try {
+ if (async) {
+ cache.put(i, i);
+
+ cache.future().get();
}
- catch (Exception e) {
- assertTrue("Invalid exception: " + e, X.hasCause(e, ClusterTopologyCheckedException.class) ||
- X.hasCause(e, CachePartialUpdateException.class));
+ else
+ cache.put(i, i);
+ }
+ catch (Exception e) {
+ assertTrue("Invalid exception: " + e,
+ X.hasCause(e, ClusterTopologyCheckedException.class, CachePartialUpdateException.class));
- eThrown = true;
+ eThrown = true;
- break;
+ break;
+ }
}
- }
- assertTrue(eThrown);
+ assertTrue(eThrown);
- finished.set(true);
- fut.get();
+ finished.set(true);
+
+ fut.get();
+ }
+ finally {
+ finished.set(true);
+ }
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/648cbd78/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
----------------------------------------------------------------------
[08/12] incubator-ignite git commit: # Properly handle
ClusterTopologyServerNotFoundException for retries
Posted by sb...@apache.org.
# Properly handle ClusterTopologyServerNotFoundException for retries
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/5faffb98
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/5faffb98
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/5faffb98
Branch: refs/heads/ignite-426
Commit: 5faffb98032f54ed1160279de9d52938aef94bd2
Parents: 2903a29
Author: sboikov <sb...@gridgain.com>
Authored: Fri Aug 14 16:23:19 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Aug 14 16:23:19 2015 +0300
----------------------------------------------------------------------
.../processors/cache/CachePartialUpdateCheckedException.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5faffb98/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java
index f430d12..c2259df 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java
@@ -34,7 +34,7 @@ public class CachePartialUpdateCheckedException extends IgniteCheckedException {
private final Collection<Object> failedKeys = new ArrayList<>();
/** */
- private AffinityTopologyVersion topVer;
+ private transient AffinityTopologyVersion topVer;
/**
* @param msg Error message.
[11/12] incubator-ignite git commit: # send previous value for atomic
cache updates on unstable topology
Posted by sb...@apache.org.
# send previous value for atomic cache updates on unstable topology
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/f0b24c47
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/f0b24c47
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/f0b24c47
Branch: refs/heads/ignite-426
Commit: f0b24c47a6b5a449a63ca5cf8fdc85811b4cc278
Parents: 4c634ed
Author: sboikov <sb...@gridgain.com>
Authored: Mon Aug 17 10:22:14 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Mon Aug 17 13:54:16 2015 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheEntryEx.java | 5 +-
.../processors/cache/GridCacheMapEntry.java | 29 +-
.../dht/GridClientPartitionTopology.java | 7 +
.../dht/GridDhtPartitionTopology.java | 6 +
.../dht/GridDhtPartitionTopologyImpl.java | 45 ++-
.../dht/atomic/GridDhtAtomicCache.java | 63 +++--
.../dht/atomic/GridDhtAtomicUpdateFuture.java | 8 +-
.../dht/atomic/GridDhtAtomicUpdateRequest.java | 69 ++++-
.../dht/atomic/GridNearAtomicUpdateFuture.java | 5 +-
.../distributed/near/GridNearAtomicCache.java | 6 +-
.../processors/cache/GridCacheTestEntryEx.java | 3 +-
...acheContinuousQueryFailoverAbstractTest.java | 271 ++++++++++++++++---
12 files changed, 432 insertions(+), 85 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f0b24c47/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java
index 1b5a717..88ebd48 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java
@@ -407,6 +407,7 @@ public interface GridCacheEntryEx {
* @param primary If update is performed on primary node (the one which assigns version).
* @param checkVer Whether update should check current version and ignore update if current version is
* greater than passed in.
+ * @param topVer Topology version.
* @param filter Optional filter to check.
* @param drType DR type.
* @param conflictTtl Conflict TTL (if any).
@@ -416,6 +417,7 @@ public interface GridCacheEntryEx {
* @param intercept If {@code true} then calls cache interceptor.
* @param subjId Subject ID initiated this update.
* @param taskName Task name.
+ * @param prevVal Previous value.
* @return Tuple where first value is flag showing whether operation succeeded,
* second value is old entry value if return value is requested, third is updated entry value,
* fourth is the version to enqueue for deferred delete the fifth is DR conflict context
@@ -448,7 +450,8 @@ public interface GridCacheEntryEx {
boolean conflictResolve,
boolean intercept,
@Nullable UUID subjId,
- String taskName
+ String taskName,
+ @Nullable CacheObject prevVal
) throws IgniteCheckedException, GridCacheEntryRemovedException;
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f0b24c47/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
index 283b0b4..e3b25df 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
@@ -1601,7 +1601,8 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
boolean conflictResolve,
boolean intercept,
@Nullable UUID subjId,
- String taskName
+ String taskName,
+ @Nullable CacheObject prevVal
) throws IgniteCheckedException, GridCacheEntryRemovedException, GridClosureException {
assert cctx.atomic();
@@ -1783,6 +1784,32 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme
"[entry=" + this + ", newVer=" + newVer + ']');
}
+ if (!cctx.isNear()) {
+ CacheObject evtVal;
+
+ if (op == GridCacheOperation.TRANSFORM) {
+ EntryProcessor<Object, Object, ?> entryProcessor =
+ (EntryProcessor<Object, Object, ?>)writeObj;
+
+ CacheInvokeEntry<Object, Object> entry =
+ new CacheInvokeEntry<>(cctx, key, prevVal, version());
+
+ try {
+ entryProcessor.process(entry, invokeArgs);
+
+ evtVal = entry.modified() ?
+ cctx.toCacheObject(cctx.unwrapTemporary(entry.getValue())) : prevVal;
+ }
+ catch (Exception e) {
+ evtVal = prevVal;
+ }
+ }
+ else
+ evtVal = (CacheObject)writeObj;
+
+ cctx.continuousQueries().onEntryUpdated(this, key, evtVal, prevVal, primary, false, topVer);
+ }
+
return new GridCacheUpdateAtomicResult(false,
retval ? rawGetOrUnmarshalUnlocked(false) : null,
null,
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f0b24c47/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
index 5473348..8a7576a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridClientPartitionTopology.java
@@ -824,6 +824,13 @@ public class GridClientPartitionTopology implements GridDhtPartitionTopology {
}
/** {@inheritDoc} */
+ @Override public boolean rebalanceFinished(AffinityTopologyVersion topVer) {
+ assert false;
+
+ return false;
+ }
+
+ /** {@inheritDoc} */
@Override public void printMemoryStats(int threshold) {
X.println(">>> Cache partition topology stats [grid=" + cctx.gridName() + ", cacheId=" + cacheId + ']');
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f0b24c47/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
index 2d9771f..9933444 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopology.java
@@ -228,4 +228,10 @@ public interface GridDhtPartitionTopology {
* @param threshold Threshold for number of entries.
*/
public void printMemoryStats(int threshold);
+
+ /**
+ * @param topVer Topology version.
+ * @return {@code True} if rebalance process finished.
+ */
+ public boolean rebalanceFinished(AffinityTopologyVersion topVer);
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f0b24c47/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
index 93f085c..1c71ff1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtPartitionTopologyImpl.java
@@ -85,6 +85,9 @@ class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
/** Partition update counter. */
private Map<Integer, Long> cntrMap = new HashMap<>();
+ /** */
+ private volatile AffinityTopologyVersion rebalancedTopVer = AffinityTopologyVersion.NONE;
+
/**
* @param cctx Context.
*/
@@ -114,6 +117,8 @@ class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
topReadyFut = null;
topVer = AffinityTopologyVersion.NONE;
+
+ rebalancedTopVer = AffinityTopologyVersion.NONE;
}
finally {
lock.writeLock().unlock();
@@ -203,6 +208,8 @@ class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
updateSeq.setIfGreater(updSeq);
topReadyFut = exchFut;
+
+ rebalancedTopVer = AffinityTopologyVersion.NONE;;
}
finally {
lock.writeLock().unlock();
@@ -508,6 +515,8 @@ class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
}
}
+ updateRebalanceVersion();
+
consistencyCheck();
}
finally {
@@ -690,7 +699,10 @@ class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
* @param states Additional partition states.
* @return List of nodes for the partition.
*/
- private List<ClusterNode> nodes(int p, AffinityTopologyVersion topVer, GridDhtPartitionState state, GridDhtPartitionState... states) {
+ private List<ClusterNode> nodes(int p,
+ AffinityTopologyVersion topVer,
+ GridDhtPartitionState state,
+ GridDhtPartitionState... states) {
Collection<UUID> allIds = topVer.topologyVersion() > 0 ? F.nodeIds(CU.affinityNodes(cctx, topVer)) : null;
lock.readLock().lock();
@@ -888,6 +900,8 @@ class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
boolean changed = checkEvictions(updateSeq);
+ updateRebalanceVersion();
+
consistencyCheck();
if (log.isDebugEnabled())
@@ -1000,6 +1014,8 @@ class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
changed |= checkEvictions(updateSeq);
+ updateRebalanceVersion();
+
consistencyCheck();
if (log.isDebugEnabled())
@@ -1196,6 +1212,8 @@ class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
if (part.own()) {
updateLocal(part.id(), loc.id(), part.state(), updateSeq.incrementAndGet());
+ updateRebalanceVersion();
+
consistencyCheck();
return true;
@@ -1268,6 +1286,11 @@ class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
}
/** {@inheritDoc} */
+ @Override public boolean rebalanceFinished(AffinityTopologyVersion topVer) {
+ return topVer.equals(rebalancedTopVer);
+ }
+
+ /** {@inheritDoc} */
@Override public void printMemoryStats(int threshold) {
X.println(">>> Cache partition topology stats [grid=" + cctx.gridName() + ", cache=" + cctx.name() + ']');
@@ -1280,6 +1303,26 @@ class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
}
/**
+ *
+ */
+ private void updateRebalanceVersion() {
+ if (!rebalancedTopVer.equals(topVer)) {
+ for (int i = 0; i < cctx.affinity().partitions(); i++) {
+ List<ClusterNode> affNodes = cctx.affinity().nodes(i, topVer);
+ List<ClusterNode> owners = owners(i);
+
+ if (affNodes.size() != owners.size() || !owners.containsAll(affNodes))
+ return;
+ }
+
+ rebalancedTopVer = topVer;
+
+ if (log.isDebugEnabled())
+ log.debug("Updated rebalanced version [cache=" + cctx.name() + ", ver=" + rebalancedTopVer + ']');
+ }
+ }
+
+ /**
* @param p Partition.
* @param nodeId Node ID.
* @param match State to match.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f0b24c47/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index eb4d51c..6c05bfe 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@ -1057,7 +1057,9 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
Collection<IgniteBiTuple<GridDhtCacheEntry, GridCacheVersion>> deleted = null;
try {
- topology().readLock();
+ GridDhtPartitionTopology top = topology();
+
+ top.readLock();
try {
if (topology().stopping()) {
@@ -1074,7 +1076,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
// Also do not check topology version if topology was locked on near node by
// external transaction or explicit lock.
if ((req.fastMap() && !req.clientRequest()) || req.topologyLocked() ||
- !needRemap(req.topologyVersion(), topology().topologyVersion())) {
+ !needRemap(req.topologyVersion(), top.topologyVersion())) {
ClusterNode node = ctx.discovery().node(nodeId);
if (node == null) {
@@ -1089,7 +1091,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
if (ver == null) {
// Assign next version for update inside entries lock.
- ver = ctx.versions().next(topology().topologyVersion());
+ ver = ctx.versions().next(top.topologyVersion());
if (hasNear)
res.nearVersion(ver);
@@ -1101,6 +1103,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
log.debug("Using cache version for update request on primary node [ver=" + ver +
", req=" + req + ']');
+ boolean sndPrevVal = !top.rebalanceFinished(req.topologyVersion());
+
dhtFut = createDhtFuture(ver, req, res, completionCb, false);
expiry = expiryPolicy(req.expiry());
@@ -1123,7 +1127,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
completionCb,
ctx.isDrEnabled(),
taskName,
- expiry);
+ expiry,
+ sndPrevVal);
deleted = updRes.deleted();
dhtFut = updRes.dhtFuture();
@@ -1142,7 +1147,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
completionCb,
ctx.isDrEnabled(),
taskName,
- expiry);
+ expiry,
+ sndPrevVal);
retVal = updRes.returnValue();
deleted = updRes.deleted();
@@ -1162,7 +1168,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
remap = true;
}
finally {
- topology().readUnlock();
+ top.readUnlock();
}
}
catch (GridCacheEntryRemovedException e) {
@@ -1245,6 +1251,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
* @param replicate Whether replication is enabled.
* @param taskName Task name.
* @param expiry Expiry policy.
+ * @param sndPrevVal If {@code true} sends previous value to backups.
* @return Deleted entries.
* @throws GridCacheEntryRemovedException Should not be thrown.
*/
@@ -1260,7 +1267,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
CI2<GridNearAtomicUpdateRequest, GridNearAtomicUpdateResponse> completionCb,
boolean replicate,
String taskName,
- @Nullable IgniteCacheExpiryPolicy expiry
+ @Nullable IgniteCacheExpiryPolicy expiry,
+ boolean sndPrevVal
) throws GridCacheEntryRemovedException {
assert !ctx.dr().receiveEnabled(); // Cannot update in batches during DR due to possible conflicts.
assert !req.returnValue() || req.operation() == TRANSFORM; // Should not request return values for putAll.
@@ -1407,7 +1415,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
replicate,
updRes,
taskName,
- expiry);
+ expiry,
+ sndPrevVal);
firstEntryIdx = i;
@@ -1455,7 +1464,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
replicate,
updRes,
taskName,
- expiry);
+ expiry,
+ sndPrevVal);
firstEntryIdx = i;
@@ -1574,7 +1584,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
replicate,
updRes,
taskName,
- expiry);
+ expiry,
+ sndPrevVal);
}
else
assert filtered.isEmpty();
@@ -1650,6 +1661,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
* @param replicate Whether DR is enabled for that cache.
* @param taskName Task name.
* @param expiry Expiry policy.
+ * @param sndPrevVal If {@code true} sends previous value to backups.
* @return Return value.
* @throws GridCacheEntryRemovedException Should be never thrown.
*/
@@ -1664,7 +1676,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
CI2<GridNearAtomicUpdateRequest, GridNearAtomicUpdateResponse> completionCb,
boolean replicate,
String taskName,
- @Nullable IgniteCacheExpiryPolicy expiry
+ @Nullable IgniteCacheExpiryPolicy expiry,
+ boolean sndPrevVal
) throws GridCacheEntryRemovedException {
GridCacheReturn retVal = null;
Collection<IgniteBiTuple<GridDhtCacheEntry, GridCacheVersion>> deleted = null;
@@ -1721,7 +1734,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
req.invokeArguments(),
primary && writeThrough() && !req.skipStore(),
!req.skipStore(),
- req.returnValue(),
+ sndPrevVal || req.returnValue(),
expiry,
true,
true,
@@ -1736,7 +1749,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
true,
intercept,
req.subjectId(),
- taskName);
+ taskName,
+ null);
if (dhtFut == null && !F.isEmpty(filteredReaders)) {
dhtFut = createDhtFuture(ver, req, res, completionCb, true);
@@ -1759,7 +1773,9 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
op == TRANSFORM ? req.entryProcessor(i) : null,
updRes.newTtl(),
updRes.conflictExpireTime(),
- newConflictVer);
+ newConflictVer,
+ sndPrevVal,
+ updRes.oldValue());
}
if (!F.isEmpty(filteredReaders))
@@ -1865,6 +1881,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
* @param batchRes Batch update result.
* @param taskName Task name.
* @param expiry Expiry policy.
+ * @param sndPrevVal If {@code true} sends previous value to backups.
* @return Deleted entries.
*/
@SuppressWarnings("ForLoopReplaceableByForEach")
@@ -1885,7 +1902,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
boolean replicate,
UpdateBatchResult batchRes,
String taskName,
- @Nullable IgniteCacheExpiryPolicy expiry
+ @Nullable IgniteCacheExpiryPolicy expiry,
+ boolean sndPrevVal
) {
assert putMap == null ^ rmvKeys == null;
@@ -1987,7 +2005,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
null,
/*write-through*/false,
/*read-through*/false,
- /*retval*/false,
+ /*retval*/sndPrevVal,
expiry,
/*event*/true,
/*metrics*/true,
@@ -2002,7 +2020,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
/*conflict resolve*/false,
/*intercept*/false,
req.subjectId(),
- taskName);
+ taskName,
+ null);
assert !updRes.success() || updRes.newTtl() == CU.TTL_NOT_CHANGED || expiry != null :
"success=" + updRes.success() + ", newTtl=" + updRes.newTtl() + ", expiry=" + expiry;
@@ -2038,7 +2057,9 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
entryProcessorMap == null ? null : entryProcessorMap.get(entry.key()),
updRes.newTtl(),
CU.EXPIRE_TIME_CALCULATE,
- null);
+ null,
+ sndPrevVal,
+ updRes.oldValue());
if (!F.isEmpty(filteredReaders))
dhtFut.addNearWriteEntries(filteredReaders,
@@ -2423,7 +2444,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
processDhtAtomicUpdateRequest0(nodeId, req);
else {
fut.listen(new CI1<IgniteInternalFuture>() {
- @Override public void apply(IgniteInternalFuture future) {
+ @Override public void apply(IgniteInternalFuture fut) {
processDhtAtomicUpdateRequest0(nodeId, req);
}
});
@@ -2461,6 +2482,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
entry = entryExx(key);
CacheObject val = req.value(i);
+ CacheObject prevVal = req.previousValue(i);
EntryProcessor<Object, Object, Object> entryProcessor = req.entryProcessor(i);
GridCacheOperation op = entryProcessor != null ? TRANSFORM :
@@ -2493,7 +2515,8 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
false,
intercept,
req.subjectId(),
- taskName);
+ taskName,
+ prevVal);
if (updRes.removeVersion() != null) {
if (ctx.deferredDelete())
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f0b24c47/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
index 601f1d8..d983e88 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
@@ -210,7 +210,9 @@ public class GridDhtAtomicUpdateFuture extends GridFutureAdapter<Void>
EntryProcessor<Object, Object, Object> entryProcessor,
long ttl,
long conflictExpireTime,
- @Nullable GridCacheVersion conflictVer) {
+ @Nullable GridCacheVersion conflictVer,
+ boolean addPrevVal,
+ @Nullable CacheObject prevVal) {
AffinityTopologyVersion topVer = updateReq.topologyVersion();
int part = entry.partition();
@@ -254,7 +256,9 @@ public class GridDhtAtomicUpdateFuture extends GridFutureAdapter<Void>
entryProcessor,
ttl,
conflictExpireTime,
- conflictVer);
+ conflictVer,
+ addPrevVal,
+ prevVal);
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f0b24c47/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
index 6340c93..2f92fde 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateRequest.java
@@ -71,6 +71,11 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
@GridDirectCollection(CacheObject.class)
private List<CacheObject> vals;
+ /** Previous values. */
+ @GridToStringInclude
+ @GridDirectCollection(CacheObject.class)
+ private List<CacheObject> prevVals;
+
/** Conflict versions. */
@GridDirectCollection(GridCacheVersion.class)
private List<GridCacheVersion> conflictVers;
@@ -208,13 +213,17 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
* @param ttl TTL (optional).
* @param conflictExpireTime Conflict expire time (optional).
* @param conflictVer Conflict version (optional).
+ * @param addPrevVal If {@code true} adds previous value.
+ * @param prevVal Previous value.
*/
public void addWriteValue(KeyCacheObject key,
@Nullable CacheObject val,
EntryProcessor<Object, Object, Object> entryProcessor,
long ttl,
long conflictExpireTime,
- @Nullable GridCacheVersion conflictVer) {
+ @Nullable GridCacheVersion conflictVer,
+ boolean addPrevVal,
+ @Nullable CacheObject prevVal) {
keys.add(key);
if (forceTransformBackups) {
@@ -225,6 +234,13 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
else
vals.add(val);
+ if (addPrevVal) {
+ if (prevVals == null)
+ prevVals = new ArrayList<>();
+
+ prevVals.add(prevVal);
+ }
+
// In case there is no conflict, do not create the list.
if (conflictVer != null) {
if (conflictVers == null) {
@@ -419,6 +435,17 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
/**
* @param idx Key index.
+ * @return Value.
+ */
+ @Nullable public CacheObject previousValue(int idx) {
+ if (prevVals != null)
+ return prevVals.get(idx);
+
+ return null;
+ }
+
+ /**
+ * @param idx Key index.
* @return Entry processor.
*/
@Nullable public EntryProcessor<Object, Object, Object> entryProcessor(int idx) {
@@ -670,42 +697,48 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
writer.incrementState();
case 17:
- if (!writer.writeUuid("subjId", subjId))
+ if (!writer.writeCollection("prevVals", prevVals, MessageCollectionItemType.MSG))
return false;
writer.incrementState();
case 18:
- if (!writer.writeByte("syncMode", syncMode != null ? (byte)syncMode.ordinal() : -1))
+ if (!writer.writeUuid("subjId", subjId))
return false;
writer.incrementState();
case 19:
- if (!writer.writeInt("taskNameHash", taskNameHash))
+ if (!writer.writeByte("syncMode", syncMode != null ? (byte)syncMode.ordinal() : -1))
return false;
writer.incrementState();
case 20:
- if (!writer.writeMessage("topVer", topVer))
+ if (!writer.writeInt("taskNameHash", taskNameHash))
return false;
writer.incrementState();
case 21:
- if (!writer.writeMessage("ttls", ttls))
+ if (!writer.writeMessage("topVer", topVer))
return false;
writer.incrementState();
case 22:
- if (!writer.writeCollection("vals", vals, MessageCollectionItemType.MSG))
+ if (!writer.writeMessage("ttls", ttls))
return false;
writer.incrementState();
case 23:
+ if (!writer.writeCollection("vals", vals, MessageCollectionItemType.MSG))
+ return false;
+
+ writer.incrementState();
+
+ case 24:
if (!writer.writeMessage("writeVer", writeVer))
return false;
@@ -840,7 +873,7 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
reader.incrementState();
case 17:
- subjId = reader.readUuid("subjId");
+ prevVals = reader.readCollection("prevVals", MessageCollectionItemType.MSG);
if (!reader.isLastRead())
return false;
@@ -848,6 +881,14 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
reader.incrementState();
case 18:
+ subjId = reader.readUuid("subjId");
+
+ if (!reader.isLastRead())
+ return false;
+
+ reader.incrementState();
+
+ case 19:
byte syncModeOrd;
syncModeOrd = reader.readByte("syncMode");
@@ -859,7 +900,7 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
reader.incrementState();
- case 19:
+ case 20:
taskNameHash = reader.readInt("taskNameHash");
if (!reader.isLastRead())
@@ -867,7 +908,7 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
reader.incrementState();
- case 20:
+ case 21:
topVer = reader.readMessage("topVer");
if (!reader.isLastRead())
@@ -875,7 +916,7 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
reader.incrementState();
- case 21:
+ case 22:
ttls = reader.readMessage("ttls");
if (!reader.isLastRead())
@@ -883,7 +924,7 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
reader.incrementState();
- case 22:
+ case 23:
vals = reader.readCollection("vals", MessageCollectionItemType.MSG);
if (!reader.isLastRead())
@@ -891,7 +932,7 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
reader.incrementState();
- case 23:
+ case 24:
writeVer = reader.readMessage("writeVer");
if (!reader.isLastRead())
@@ -911,7 +952,7 @@ public class GridDhtAtomicUpdateRequest extends GridCacheMessage implements Grid
/** {@inheritDoc} */
@Override public byte fieldsCount() {
- return 24;
+ return 25;
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f0b24c47/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
index 66f0300..eec7fa0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
@@ -129,7 +129,7 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
private final boolean rawRetval;
/** Fast map flag. */
- private final boolean fastMap;
+ private boolean fastMap;
/** */
private boolean fastMapRemap;
@@ -696,6 +696,9 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
return;
}
+ if (fastMap && futVer == null)
+ fastMap = cctx.topology().rebalanceFinished(topVer);
+
if (futVer == null)
// Assign future version in topology read lock before first exception may be thrown.
futVer = cctx.versions().next(topVer);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f0b24c47/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
index 2255988..cf68d24 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearAtomicCache.java
@@ -239,7 +239,8 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
false,
false,
subjId,
- taskName);
+ taskName,
+ null);
if (updRes.removeVersion() != null) {
if (ctx.deferredDelete())
@@ -341,7 +342,8 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
false,
/*intercept*/false,
req.subjectId(),
- taskName);
+ taskName,
+ null);
if (updRes.removeVersion() != null) {
if (ctx.deferredDelete())
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f0b24c47/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java
index 0055557..0dd10ea 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java
@@ -503,7 +503,8 @@ public class GridCacheTestEntryEx extends GridMetadataAwareAdapter implements Gr
boolean conflictResolve,
boolean intercept,
UUID subjId,
- String taskName) throws IgniteCheckedException,
+ String taskName,
+ @Nullable CacheObject prevVal) throws IgniteCheckedException,
GridCacheEntryRemovedException {
assert false;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f0b24c47/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractTest.java
index e6f3bd7..151ae33 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryFailoverAbstractTest.java
@@ -25,9 +25,12 @@ 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.affinity.*;
+import org.apache.ignite.internal.processors.cache.distributed.dht.*;
import org.apache.ignite.internal.processors.continuous.*;
import org.apache.ignite.internal.util.*;
import org.apache.ignite.internal.util.lang.*;
+import org.apache.ignite.internal.util.typedef.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.plugin.extensions.communication.*;
import org.apache.ignite.resources.*;
@@ -135,8 +138,91 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
/**
* @throws Exception If failed.
*/
+ public void testRebalanceVersion() throws Exception {
+ Ignite ignite0 = startGrid(0);
+ GridDhtPartitionTopology top0 = ((IgniteKernal)ignite0).context().cache().context().cacheContext(1).topology();
+
+ assertTrue(top0.rebalanceFinished(new AffinityTopologyVersion(1)));
+ assertFalse(top0.rebalanceFinished(new AffinityTopologyVersion(2)));
+
+ Ignite ignite1 = startGrid(1);
+ GridDhtPartitionTopology top1 = ((IgniteKernal)ignite1).context().cache().context().cacheContext(1).topology();
+
+ waitRebalanceFinished(ignite0, 2);
+ waitRebalanceFinished(ignite1, 2);
+
+ assertFalse(top0.rebalanceFinished(new AffinityTopologyVersion(3)));
+ assertFalse(top1.rebalanceFinished(new AffinityTopologyVersion(3)));
+
+ Ignite ignite2 = startGrid(2);
+ GridDhtPartitionTopology top2 = ((IgniteKernal)ignite2).context().cache().context().cacheContext(1).topology();
+
+ waitRebalanceFinished(ignite0, 3);
+ waitRebalanceFinished(ignite1, 3);
+ waitRebalanceFinished(ignite2, 3);
+
+ assertFalse(top0.rebalanceFinished(new AffinityTopologyVersion(4)));
+ assertFalse(top1.rebalanceFinished(new AffinityTopologyVersion(4)));
+ assertFalse(top2.rebalanceFinished(new AffinityTopologyVersion(4)));
+
+ client = true;
+
+ Ignite ignite3 = startGrid(3);
+ GridDhtPartitionTopology top3 = ((IgniteKernal)ignite3).context().cache().context().cacheContext(1).topology();
+
+ assertTrue(top0.rebalanceFinished(new AffinityTopologyVersion(4)));
+ assertTrue(top1.rebalanceFinished(new AffinityTopologyVersion(4)));
+ assertTrue(top2.rebalanceFinished(new AffinityTopologyVersion(4)));
+ assertTrue(top3.rebalanceFinished(new AffinityTopologyVersion(4)));
+
+ stopGrid(1);
+
+ waitRebalanceFinished(ignite0, 5);
+ waitRebalanceFinished(ignite2, 5);
+ waitRebalanceFinished(ignite3, 5);
+
+ stopGrid(3);
+
+ assertTrue(top0.rebalanceFinished(new AffinityTopologyVersion(6)));
+ assertTrue(top2.rebalanceFinished(new AffinityTopologyVersion(6)));
+
+ stopGrid(0);
+
+ waitRebalanceFinished(ignite2, 7);
+ }
+
+ /**
+ * @param ignite Ignite.
+ * @param topVer Topology version.
+ * @throws Exception If failed.
+ */
+ private void waitRebalanceFinished(Ignite ignite, long topVer) throws Exception {
+ final AffinityTopologyVersion topVer0 = new AffinityTopologyVersion(topVer);
+
+ final GridDhtPartitionTopology top =
+ ((IgniteKernal)ignite).context().cache().context().cacheContext(1).topology();
+
+ GridTestUtils.waitForCondition(new GridAbsPredicate() {
+ @Override public boolean apply() {
+ return top.rebalanceFinished(topVer0);
+ }
+ }, 5000);
+
+ assertTrue(top.rebalanceFinished(topVer0));
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
public void testOneBackup() throws Exception {
- checkBackupQueue(1);
+ checkBackupQueue(1, false);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testOneBackupClientUpdate() throws Exception {
+ checkBackupQueue(1, true);
}
/**
@@ -146,14 +232,15 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
if (cacheMode() == REPLICATED)
return;
- checkBackupQueue(3);
+ checkBackupQueue(3, false);
}
/**
* @param backups Number of backups.
+ * @param updateFromClient If {@code true} executes cache update from client node.
* @throws Exception If failed.
*/
- private void checkBackupQueue(int backups) throws Exception {
+ private void checkBackupQueue(int backups, boolean updateFromClient) throws Exception {
this.backups = backups;
final int SRV_NODES = 4;
@@ -183,6 +270,10 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
int PARTS = 10;
+ Map<Object, T2<Object, Object>> updates = new HashMap<>();
+
+ List<T3<Object, Object, Object>> expEvts = new ArrayList<>();
+
for (int i = 0; i < SRV_NODES - 1; i++) {
log.info("Stop iteration: " + i);
@@ -203,7 +294,23 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
for (Integer key : keys) {
log.info("Put [node=" + ignite.name() + ", key=" + key + ", part=" + aff.partition(key) + ']');
- cache.put(key, key);
+ T2<Object, Object> t = updates.get(key);
+
+ if (t == null) {
+ updates.put(key, new T2<>((Object)key, null));
+
+ expEvts.add(new T3<>((Object)key, (Object)key, null));
+ }
+ else {
+ updates.put(key, new T2<>((Object)key, (Object)key));
+
+ expEvts.add(new T3<>((Object)key, (Object)key, (Object)key));
+ }
+
+ if (updateFromClient)
+ qryClientCache.put(key, key);
+ else
+ cache.put(key, key);
if (first) {
spi.skipMsg = true;
@@ -223,6 +330,8 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
fail("Failed to wait for notifications [exp=" + keys.size() + ", left=" + lsnr.latch.getCount() + ']');
}
+
+ checkEvents(expEvts, lsnr);
}
for (int i = 0; i < SRV_NODES - 1; i++) {
@@ -241,7 +350,23 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
for (Integer key : keys) {
log.info("Put [node=" + ignite.name() + ", key=" + key + ", part=" + aff.partition(key) + ']');
- cache.put(key, key);
+ T2<Object, Object> t = updates.get(key);
+
+ if (t == null) {
+ updates.put(key, new T2<>((Object)key, null));
+
+ expEvts.add(new T3<>((Object)key, (Object)key, null));
+ }
+ else {
+ updates.put(key, new T2<>((Object)key, (Object)key));
+
+ expEvts.add(new T3<>((Object)key, (Object)key, (Object)key));
+ }
+
+ if (updateFromClient)
+ qryClientCache.put(key, key);
+ else
+ cache.put(key, key);
}
if (!latch.await(5, SECONDS)) {
@@ -253,6 +378,8 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
fail("Failed to wait for notifications [exp=" + keys.size() + ", left=" + lsnr.latch.getCount() + ']');
}
+
+ checkEvents(expEvts, lsnr);
}
cur.close();
@@ -261,6 +388,24 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
}
/**
+ * @param expEvts Expected events.
+ * @param lsnr Listener.
+ */
+ private void checkEvents(List<T3<Object, Object, Object>> expEvts, CacheEventListener1 lsnr) {
+ for (T3<Object, Object, Object> exp : expEvts) {
+ CacheEntryEvent<?, ?> e = lsnr.evts.get(exp.get1());
+
+ assertNotNull("No event for key: " + exp.get1(), e);
+ assertEquals("Unexpected value: " + e, exp.get2(), e.getValue());
+ assertEquals("Unexpected old value: " + e, exp.get3(), e.getOldValue());
+ }
+
+ expEvts.clear();
+
+ lsnr.evts.clear();
+ }
+
+ /**
* @param cache Cache.
* @param parts Number of partitions.
* @return Keys.
@@ -449,7 +594,7 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
/**
* @throws Exception If failed.
*/
- public void _testFailover() throws Exception {
+ public void testFailover() throws Exception {
final int SRV_NODES = 4;
startGridsMultiThreaded(SRV_NODES);
@@ -483,14 +628,12 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
startGrid(idx);
- Thread.sleep(2000);
+ Thread.sleep(3000);
log.info("Stop node: " + idx);
stopGrid(idx);
- Thread.sleep(1000);
-
CountDownLatch latch = new CountDownLatch(1);
assertTrue(checkLatch.compareAndSet(null, latch));
@@ -508,6 +651,8 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
final Map<Integer, Integer> vals = new HashMap<>();
+ final Map<Integer, List<T2<Integer, Integer>>> expEvts = new HashMap<>();
+
try {
long stopTime = System.currentTimeMillis() + 3 * 60_000;
@@ -518,6 +663,7 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
while (System.currentTimeMillis() < stopTime) {
Integer key = rnd.nextInt(PARTS);
+ Integer prevVal = vals.get(key);
Integer val = vals.get(key);
if (val == null)
@@ -529,6 +675,16 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
vals.put(key, val);
+ List<T2<Integer, Integer>> keyEvts = expEvts.get(key);
+
+ if (keyEvts == null) {
+ keyEvts = new ArrayList<>();
+
+ expEvts.put(key, keyEvts);
+ }
+
+ keyEvts.add(new T2<>(val, prevVal));
+
CountDownLatch latch = checkLatch.get();
if (latch != null) {
@@ -544,12 +700,12 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
boolean check = GridTestUtils.waitForCondition(new GridAbsPredicate() {
@Override public boolean apply() {
- return checkEvents(false, vals, lsnr);
+ return checkEvents(false, expEvts, lsnr);
}
}, 10_000);
if (!check)
- assertTrue(checkEvents(true, vals, lsnr));
+ assertTrue(checkEvents(true, expEvts, lsnr));
success = true;
@@ -577,12 +733,12 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
boolean check = GridTestUtils.waitForCondition(new GridAbsPredicate() {
@Override public boolean apply() {
- return checkEvents(false, vals, lsnr);
+ return checkEvents(false, expEvts, lsnr);
}
}, 10_000);
if (!check)
- assertTrue(checkEvents(true, vals, lsnr));
+ assertTrue(checkEvents(true, expEvts, lsnr));
cur.close();
@@ -591,47 +747,64 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
/**
* @param logAll If {@code true} logs all unexpected values.
- * @param vals Expected values.
+ * @param expEvts Expected values.
* @param lsnr Listener.
* @return Check status.
*/
- private boolean checkEvents(boolean logAll, Map<Integer, Integer> vals, CacheEventListener2 lsnr) {
- assertTrue(!vals.isEmpty());
-
- ConcurrentHashMap<Integer, Integer> lsnrVals = lsnr.vals;
-
- ConcurrentHashMap<Integer, Integer> lsnrCntrs = lsnr.cntrs;
+ @SuppressWarnings("SynchronizationOnLocalVariableOrMethodParameter")
+ private boolean checkEvents(boolean logAll,
+ Map<Integer, List<T2<Integer, Integer>>> expEvts,
+ CacheEventListener2 lsnr) {
+ assertTrue(!expEvts.isEmpty());
boolean pass = true;
- for (Map.Entry<Integer, Integer> e : vals.entrySet()) {
+ for (Map.Entry<Integer, List<T2<Integer, Integer>>> e : expEvts.entrySet()) {
Integer key = e.getKey();
+ List<T2<Integer, Integer>> exp = e.getValue();
- Integer lsnrVal = lsnrVals.get(key);
- Integer expVal = e.getValue();
+ List<CacheEntryEvent<?, ?>> rcvdEvts = lsnr.evts.get(key);
- if (!expVal.equals(lsnrVal)) {
+ if (rcvdEvts == null) {
pass = false;
- log.info("Unexpected value [key=" + key + ", val=" + lsnrVal + ", expVal=" + expVal + ']');
+ log.info("No events for key [key=" + key + ", exp=" + e.getValue() + ']');
if (!logAll)
return false;
}
+ else {
+ synchronized (rcvdEvts) {
+ if (rcvdEvts.size() != exp.size()) {
+ pass = false;
- Integer lsnrCntr = lsnrCntrs.get(key);
- Integer expCntr = expVal + 1;
+ log.info("Missed or extra events for key [key=" + key +
+ ", exp=" + e.getValue() +
+ ", rcvd=" + rcvdEvts + ']');
- if (!expCntr.equals(lsnrCntr)) {
- pass = false;
+ if (!logAll)
+ return false;
+ }
- log.info("Unexpected events count [key=" + key + ", val=" + lsnrCntr + ", expVal=" + expCntr + ']');
+ int cnt = Math.min(rcvdEvts.size(), exp.size());
- if (!logAll)
- return false;
+ for (int i = 0; i < cnt; i++) {
+ T2<Integer, Integer> expEvt = exp.get(i);
+ CacheEntryEvent<?, ?> rcvdEvt = rcvdEvts.get(i);
+
+ assertEquals(key, rcvdEvt.getKey());
+ assertEquals(expEvt.get1(), rcvdEvt.getValue());
+ assertEquals(expEvt.get2(), rcvdEvt.getOldValue());
+ }
+ }
}
}
+ if (pass) {
+ expEvts.clear();
+ lsnr.evts.clear();
+ }
+
return pass;
}
@@ -646,6 +819,9 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
private GridConcurrentHashSet<Integer> keys = new GridConcurrentHashSet<>();
/** */
+ private ConcurrentHashMap<Object, CacheEntryEvent<?, ?>> evts = new ConcurrentHashMap<>();
+
+ /** */
@LoggerResource
private IgniteLogger log;
@@ -657,6 +833,8 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
log.info("Received cache event: " + evt + " " + (latch != null ? latch.getCount() : null));
+ this.evts.put(evt.getKey(), evt);
+
keys.add((Integer) evt.getKey());
assertTrue(latch != null);
@@ -691,7 +869,7 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
private final ConcurrentHashMap<Integer, Integer> vals = new ConcurrentHashMap<>();
/** */
- private final ConcurrentHashMap<Integer, Integer> cntrs = new ConcurrentHashMap<>();
+ private final ConcurrentHashMap<Integer, List<CacheEntryEvent<?, ?>>> evts = new ConcurrentHashMap<>();
/** {@inheritDoc} */
@Override public void onUpdated(Iterable<CacheEntryEvent<?, ?>> evts)
@@ -706,25 +884,34 @@ public abstract class CacheContinuousQueryFailoverAbstractTest extends GridCommo
Integer prevVal = vals.get(key);
+ boolean dup = false;
+
if (prevVal != null) {
- assertEquals("Unexpected event: " + evt, (Integer)(prevVal + 1), val);
- assertEquals("Unexpected event: " + evt, prevVal, evt.getOldValue());
+ if (prevVal.equals(val)) // Can get this event with automatic put retry.
+ dup = true;
+ else {
+ assertEquals("Unexpected event: " + evt, (Integer)(prevVal + 1), val);
+ assertEquals("Unexpected event: " + evt, prevVal, evt.getOldValue());
+ }
}
else {
assertEquals("Unexpected event: " + evt, (Object)0, val);
assertNull("Unexpected event: " + evt, evt.getOldValue());
}
- vals.put(key, val);
+ if (!dup) {
+ vals.put(key, val);
- Integer cntr = cntrs.get(key);
+ List<CacheEntryEvent<?, ?>> keyEvts = this.evts.get(key);
- if (cntr == null)
- cntr = 1;
- else
- cntr = cntr + 1;
+ if (keyEvts == null) {
+ keyEvts = Collections.synchronizedList(new ArrayList<CacheEntryEvent<?, ?>>());
- cntrs.put(key, cntr);
+ this.evts.put(key, keyEvts);
+ }
+
+ keyEvts.add(evt);
+ }
}
}
catch (Throwable e) {
[02/12] incubator-ignite git commit: # ignite-1175: call
'onDeferredDelete' from innerRemover
Posted by sb...@apache.org.
# ignite-1175: call 'onDeferredDelete' from innerRemover
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/51dcd518
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/51dcd518
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/51dcd518
Branch: refs/heads/ignite-426
Commit: 51dcd518e51883ca043492a86928cf3488db4bd7
Parents: 834b347
Author: sboikov <sb...@gridgain.com>
Authored: Tue Aug 11 11:30:02 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Tue Aug 11 11:39:54 2015 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheMapEntry.java | 4 +-
...cheDhtLocalPartitionAfterRemoveSelfTest.java | 112 +++++++++++++++++++
.../testsuites/IgniteCacheTestSuite2.java | 1 +
3 files changed, 116 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/51dcd518/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
index 4680994..a078bed 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
@@ -1232,7 +1232,9 @@ public abstract class GridCacheMapEntry implements GridCacheEntryEx {
if (writeThrough)
cctx.store().remove(tx, keyValue(false));
- if (!cctx.deferredDelete()) {
+ if (cctx.deferredDelete() && !detached() && !isInternal())
+ cctx.onDeferredDelete(this, newVer);
+ else {
boolean marked = false;
synchronized (this) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/51dcd518/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheDhtLocalPartitionAfterRemoveSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheDhtLocalPartitionAfterRemoveSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheDhtLocalPartitionAfterRemoveSelfTest.java
new file mode 100644
index 0000000..a930d35
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheDhtLocalPartitionAfterRemoveSelfTest.java
@@ -0,0 +1,112 @@
+/*
+ * 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.configuration.*;
+import org.apache.ignite.internal.processors.cache.distributed.dht.*;
+import org.apache.ignite.testframework.junits.common.*;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.*;
+
+/**
+ * Test for remove operation.
+ */
+public class CacheDhtLocalPartitionAfterRemoveSelfTest extends GridCommonAbstractTest {
+ /** Grid count. */
+ private static final int GRID_CNT = 3;
+
+ /** {@inheritDoc} */
+ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+ IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+ CacheConfiguration ccfg = new CacheConfiguration();
+
+ ccfg.setAtomicityMode(TRANSACTIONAL);
+ ccfg.setNearConfiguration(null);
+
+ cfg.setCacheConfiguration(ccfg);
+
+ return cfg;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void beforeTestsStarted() throws Exception {
+ startGrids(GRID_CNT);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void afterTestsStopped() throws Exception {
+ stopAllGrids();
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testMemoryUsage() throws Exception {
+ assertEquals(10_000, GridDhtLocalPartition.MAX_DELETE_QUEUE_SIZE);
+
+ IgniteCache<TestKey, Integer> cache = grid(0).cache(null);
+
+ for (int i = 0; i < 20_000; ++i)
+ cache.put(new TestKey(String.valueOf(i)), i);
+
+ for (int i = 0; i < 20_000; ++i)
+ assertEquals((Object)i, cache.getAndRemove(new TestKey(String.valueOf(i))));
+
+ assertEquals(0, cache.size());
+
+ for (int g = 0; g < GRID_CNT; g++) {
+ cache = grid(g).cache(null);
+
+ for (GridDhtLocalPartition p : dht(cache).topology().localPartitions()) {
+ int size = p.size();
+
+ assertTrue("Unexpected size: " + size, size <= 32);
+ }
+ }
+ }
+
+ /**
+ * Test key.
+ */
+ private static class TestKey {
+ /** Key. */
+ private String key;
+
+ /**
+ * @param key Key.
+ */
+ public TestKey(String key) {
+ this.key = key;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int hashCode() {
+ return key.hashCode();
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean equals(Object obj) {
+ if (obj == null || !(obj instanceof TestKey))
+ return false;
+
+ return key.equals(((TestKey)obj).key);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/51dcd518/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
index bf760f5..dcbab07 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
@@ -98,6 +98,7 @@ public class IgniteCacheTestSuite2 extends TestSuite {
suite.addTest(new TestSuite(GridCacheDhtPreloadPutGetSelfTest.class));
suite.addTest(new TestSuite(GridCacheDhtPreloadDisabledSelfTest.class));
suite.addTest(new TestSuite(GridCacheDhtPreloadMultiThreadedSelfTest.class));
+ suite.addTest(new TestSuite(CacheDhtLocalPartitionAfterRemoveSelfTest.class));
suite.addTest(new TestSuite(GridCacheColocatedPreloadRestartSelfTest.class));
suite.addTest(new TestSuite(GridCacheNearPreloadRestartSelfTest.class));
suite.addTest(new TestSuite(GridCacheDhtPreloadStartStopSelfTest.class));
[07/12] incubator-ignite git commit: # Properly handle
ClusterTopologyServerNotFoundException for retries
Posted by sb...@apache.org.
# Properly handle ClusterTopologyServerNotFoundException for retries
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/2903a29e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/2903a29e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/2903a29e
Branch: refs/heads/ignite-426
Commit: 2903a29e7a50802617872bfd0fcc3497c4c7785e
Parents: 122a9db
Author: sboikov <sb...@gridgain.com>
Authored: Fri Aug 14 16:22:25 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Aug 14 16:22:25 2015 +0300
----------------------------------------------------------------------
.../CachePartialUpdateCheckedException.java | 29 +++++++++++-
.../processors/cache/GridCacheAdapter.java | 50 ++++++++++++--------
.../dht/atomic/GridNearAtomicUpdateFuture.java | 48 +++++++++++--------
.../near/GridNearOptimisticTxPrepareFuture.java | 2 +-
.../cache/GridCacheAbstractFullApiSelfTest.java | 1 -
5 files changed, 86 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2903a29e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java
index 0272b7c..f430d12 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java
@@ -18,6 +18,7 @@
package org.apache.ignite.internal.processors.cache;
import org.apache.ignite.*;
+import org.apache.ignite.internal.processors.affinity.*;
import java.util.*;
@@ -32,6 +33,9 @@ public class CachePartialUpdateCheckedException extends IgniteCheckedException {
/** Failed keys. */
private final Collection<Object> failedKeys = new ArrayList<>();
+ /** */
+ private AffinityTopologyVersion topVer;
+
/**
* @param msg Error message.
*/
@@ -50,13 +54,36 @@ public class CachePartialUpdateCheckedException extends IgniteCheckedException {
/**
* @param failedKeys Failed keys.
* @param err Error.
+ * @param topVer Topology version for failed update.
*/
- public void add(Collection<?> failedKeys, Throwable err) {
+ public void add(Collection<?> failedKeys, Throwable err, AffinityTopologyVersion topVer) {
+ if (topVer != null) {
+ AffinityTopologyVersion topVer0 = this.topVer;
+
+ if (topVer0 == null || topVer.compareTo(topVer0) > 0)
+ this.topVer = topVer;
+ }
+
this.failedKeys.addAll(failedKeys);
addSuppressed(err);
}
+ /**
+ * @return Topology version.
+ */
+ public AffinityTopologyVersion topologyVersion() {
+ return topVer;
+ }
+
+ /**
+ * @param failedKeys Failed keys.
+ * @param err Error.
+ */
+ public void add(Collection<?> failedKeys, Throwable err) {
+ add(failedKeys, err, null);
+ }
+
/** {@inheritDoc} */
@Override public String getMessage() {
return super.getMessage() + ": " + failedKeys;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2903a29e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 91af352..992edd8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -3975,13 +3975,17 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
}
if (X.hasCause(e, ClusterTopologyCheckedException.class) && i != retries - 1) {
- AffinityTopologyVersion topVer = tx.topologyVersion();
+ ClusterTopologyCheckedException topErr = e.getCause(ClusterTopologyCheckedException.class);
- assert topVer != null && topVer.topologyVersion() > 0 : tx;
+ if (!(topErr instanceof ClusterTopologyServerNotFoundException)) {
+ AffinityTopologyVersion topVer = tx.topologyVersion();
+
+ assert topVer != null && topVer.topologyVersion() > 0 : tx;
- ctx.affinity().affinityReadyFuture(topVer.topologyVersion() + 1).get();
+ ctx.affinity().affinityReadyFuture(topVer.topologyVersion() + 1).get();
- continue;
+ continue;
+ }
}
throw e;
@@ -4702,31 +4706,35 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
}
catch (IgniteCheckedException e) {
if (X.hasCause(e, ClusterTopologyCheckedException.class) && --retries > 0) {
- IgniteTxLocalAdapter tx = AsyncOpRetryFuture.this.tx;
+ ClusterTopologyCheckedException topErr = e.getCause(ClusterTopologyCheckedException.class);
- assert tx != null;
+ if (!(topErr instanceof ClusterTopologyServerNotFoundException)) {
+ IgniteTxLocalAdapter tx = AsyncOpRetryFuture.this.tx;
- AffinityTopologyVersion topVer = tx.topologyVersion();
+ assert tx != null;
- assert topVer != null && topVer.topologyVersion() > 0 : tx;
+ AffinityTopologyVersion topVer = tx.topologyVersion();
- IgniteInternalFuture<?> topFut =
- ctx.affinity().affinityReadyFuture(topVer.topologyVersion() + 1);
+ assert topVer != null && topVer.topologyVersion() > 0 : tx;
- topFut.listen(new IgniteInClosure<IgniteInternalFuture<?>>() {
- @Override public void apply(IgniteInternalFuture<?> topFut) {
- try {
- topFut.get();
+ IgniteInternalFuture<?> topFut =
+ ctx.affinity().affinityReadyFuture(topVer.topologyVersion() + 1);
- execute();
- }
- catch (IgniteCheckedException e) {
- onDone(e);
+ topFut.listen(new IgniteInClosure<IgniteInternalFuture<?>>() {
+ @Override public void apply(IgniteInternalFuture<?> topFut) {
+ try {
+ topFut.get();
+
+ execute();
+ }
+ catch (IgniteCheckedException e) {
+ onDone(e);
+ }
}
- }
- });
+ });
- return;
+ return;
+ }
}
onDone(e);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2903a29e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
index 0498839..5dc5494 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
@@ -275,6 +275,7 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
if (singleNodeId.equals(nodeId)) {
onDone(addFailedKeys(
singleReq.keys(),
+ singleReq.topologyVersion(),
new ClusterTopologyCheckedException("Primary node left grid before response is received: " + nodeId)));
return true;
@@ -286,8 +287,9 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
GridNearAtomicUpdateRequest req = mappings.get(nodeId);
if (req != null) {
- addFailedKeys(req.keys(), new ClusterTopologyCheckedException("Primary node left grid before response is " +
- "received: " + nodeId));
+ addFailedKeys(req.keys(),
+ req.topologyVersion(),
+ new ClusterTopologyCheckedException("Primary node left grid before response is received: " + nodeId));
mappings.remove(nodeId);
@@ -356,8 +358,11 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
/**
* @param failed Keys to remap.
+ * @param errTopVer Topology version for failed update.
*/
- private void remap(Collection<?> failed) {
+ private void remap(Collection<?> failed, AffinityTopologyVersion errTopVer) {
+ assert errTopVer != null;
+
GridCacheVersion futVer0 = futVer;
if (futVer0 == null || cctx.mvcc().removeAtomicFuture(futVer0) == null)
@@ -409,15 +414,11 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
GridFutureAdapter<Void> fut0;
- long nextTopVer;
-
synchronized (this) {
mappings = new ConcurrentHashMap8<>(keys.size(), 1.0f);
assert topVer != null && topVer.topologyVersion() > 0 : this;
- nextTopVer = topVer.topologyVersion() + 1;
-
topVer = AffinityTopologyVersion.ZERO;
fut0 = topCompleteFut;
@@ -434,7 +435,7 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
updVer = null;
topLocked = false;
- IgniteInternalFuture<?> fut = cctx.affinity().affinityReadyFuture(nextTopVer);
+ IgniteInternalFuture<?> fut = cctx.affinity().affinityReadyFuture(errTopVer.topologyVersion() + 1);
fut.listen(new CI1<IgniteInternalFuture<?>>() {
@Override public void apply(final IgniteInternalFuture<?> fut) {
@@ -471,15 +472,17 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
X.hasCause(err, ClusterTopologyCheckedException.class) &&
storeFuture() &&
remapCnt.decrementAndGet() > 0) {
+ ClusterTopologyCheckedException topErr = X.cause(err, ClusterTopologyCheckedException.class);
- CachePartialUpdateCheckedException cause = X.cause(err, CachePartialUpdateCheckedException.class);
+ if (!(topErr instanceof ClusterTopologyServerNotFoundException)) {
+ CachePartialUpdateCheckedException cause = X.cause(err, CachePartialUpdateCheckedException.class);
- if (F.isEmpty(cause.failedKeys()))
- cause.printStackTrace();
+ assert cause != null && cause.topologyVersion() != null : err;
- remap(cause.failedKeys());
+ remap(cause.failedKeys(), cause.topologyVersion());
- return false;
+ return false;
+ }
}
if (super.onDone(retval, err)) {
@@ -528,8 +531,10 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
updateNear(singleReq, res);
- if (res.error() != null)
- onDone(res.failedKeys() != null ? addFailedKeys(res.failedKeys(), res.error()) : res.error());
+ if (res.error() != null) {
+ onDone(res.failedKeys() != null ?
+ addFailedKeys(res.failedKeys(), singleReq.topologyVersion(), res.error()) : res.error());
+ }
else {
if (op == TRANSFORM) {
if (ret != null)
@@ -551,7 +556,7 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
updateNear(req, res);
if (res.error() != null)
- addFailedKeys(req.keys(), res.error());
+ addFailedKeys(req.keys(), req.topologyVersion(), res.error());
else {
if (op == TRANSFORM) {
assert !req.fastMap();
@@ -1048,7 +1053,7 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
onDone(new GridCacheReturn(cctx, true, null, true));
}
catch (IgniteCheckedException e) {
- onDone(addFailedKeys(req.keys(), e));
+ onDone(addFailedKeys(req.keys(), req.topologyVersion(), e));
}
}
}
@@ -1079,7 +1084,7 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
cctx.io().send(req.nodeId(), req, cctx.ioPolicy());
}
catch (IgniteCheckedException e) {
- addFailedKeys(req.keys(), e);
+ addFailedKeys(req.keys(), req.topologyVersion(), e);
removeMapping(req.nodeId());
}
@@ -1135,10 +1140,13 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
/**
* @param failedKeys Failed keys.
+ * @param topVer Topology version for failed update.
* @param err Error cause.
* @return Root {@link org.apache.ignite.internal.processors.cache.CachePartialUpdateCheckedException}.
*/
- private synchronized IgniteCheckedException addFailedKeys(Collection<KeyCacheObject> failedKeys, Throwable err) {
+ private synchronized IgniteCheckedException addFailedKeys(Collection<KeyCacheObject> failedKeys,
+ AffinityTopologyVersion topVer,
+ Throwable err) {
CachePartialUpdateCheckedException err0 = this.err;
if (err0 == null)
@@ -1149,7 +1157,7 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
for (KeyCacheObject key : failedKeys)
keys.add(key.value(cctx.cacheObjectContext(), false));
- err0.add(keys, err);
+ err0.add(keys, err, topVer);
return err0;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2903a29e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
index 44b7997..2b86672 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
@@ -416,7 +416,7 @@ public class GridNearOptimisticTxPrepareFuture extends GridNearTxPrepareFutureAd
GridCacheContext<?, ?> cacheCtx = cctx.cacheContext(cacheId);
if (CU.affinityNodes(cacheCtx, topVer).isEmpty()) {
- onDone(new ClusterTopologyCheckedException("Failed to map keys for cache (all " +
+ onDone(new ClusterTopologyServerNotFoundException("Failed to map keys for cache (all " +
"partition nodes left the grid): " + cacheCtx.name()));
return;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2903a29e/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 0a8f87c..ff948a1 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
@@ -5010,7 +5010,6 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
assertThrows(log, new Callable<Object>() {
@Override public Object call() throws Exception {
-
IgniteFuture fut = cache.future().chain(new IgniteClosure<IgniteFuture, Object>() {
@Override public Object apply(IgniteFuture o) {
return o.get();
[06/12] incubator-ignite git commit: # Wait for next topology version
before retry, retries for async tx operations
Posted by sb...@apache.org.
# Wait for next topology version before retry, retries for async tx operations
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/122a9dbf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/122a9dbf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/122a9dbf
Branch: refs/heads/ignite-426
Commit: 122a9dbf337d5c1128be32d4efee1e0f1dc683f5
Parents: 47895da
Author: sboikov <sb...@gridgain.com>
Authored: Fri Aug 14 12:50:06 2015 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Fri Aug 14 13:57:19 2015 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheAdapter.java | 143 +++++++++++++++++--
.../dht/atomic/GridNearAtomicUpdateFuture.java | 25 +++-
.../IgniteCachePutRetryAbstractSelfTest.java | 94 ++++++++++--
3 files changed, 237 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/122a9dbf/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 47ede5b..91af352 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -2283,8 +2283,7 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
* @param filter Filter.
* @return Put future.
*/
- public IgniteInternalFuture<Boolean> putAsync(K key, V val,
- @Nullable CacheEntryPredicate... filter) {
+ public IgniteInternalFuture<Boolean> putAsync(K key, V val, @Nullable CacheEntryPredicate... filter) {
final boolean statsEnabled = ctx.config().isStatisticsEnabled();
final long start = statsEnabled ? System.nanoTime() : 0L;
@@ -3975,8 +3974,15 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
U.addLastCause(e, e1, log);
}
- if (X.hasCause(e, ClusterTopologyCheckedException.class) && i != retries - 1)
+ if (X.hasCause(e, ClusterTopologyCheckedException.class) && i != retries - 1) {
+ AffinityTopologyVersion topVer = tx.topologyVersion();
+
+ assert topVer != null && topVer.topologyVersion() > 0 : tx;
+
+ ctx.affinity().affinityReadyFuture(topVer.topologyVersion() + 1).get();
+
continue;
+ }
throw e;
}
@@ -4014,18 +4020,36 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
IgniteTxLocalAdapter tx = ctx.tm().threadLocalTx(ctx);
- if (tx == null || tx.implicit())
- tx = ctx.tm().newTx(
- true,
- op.single(),
- ctx.systemTx() ? ctx : null,
- OPTIMISTIC,
- READ_COMMITTED,
- ctx.kernalContext().config().getTransactionConfiguration().getDefaultTxTimeout(),
- !ctx.skipStore(),
- 0);
+ if (tx == null || tx.implicit()) {
+ boolean skipStore = ctx.skipStore(); // Save value of thread-local flag.
+
+ CacheOperationContext opCtx = ctx.operationContextPerCall();
+
+ int retries = opCtx != null && opCtx.noRetries() ? 1 : MAX_RETRIES;
- return asyncOp(tx, op);
+ if (retries == 1) {
+ tx = ctx.tm().newTx(
+ true,
+ op.single(),
+ ctx.systemTx() ? ctx : null,
+ OPTIMISTIC,
+ READ_COMMITTED,
+ ctx.kernalContext().config().getTransactionConfiguration().getDefaultTxTimeout(),
+ !skipStore,
+ 0);
+
+ return asyncOp(tx, op);
+ }
+ else {
+ AsyncOpRetryFuture<T> fut = new AsyncOpRetryFuture<>(op, skipStore, retries);
+
+ fut.execute();
+
+ return fut;
+ }
+ }
+ else
+ return asyncOp(tx, op);
}
/**
@@ -4624,6 +4648,97 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
/**
*
*/
+ private class AsyncOpRetryFuture<T> extends GridFutureAdapter<T> {
+ /** */
+ private AsyncOp<T> op;
+
+ /** */
+ private boolean skipStore;
+
+ /** */
+ private int retries;
+
+ /** */
+ private IgniteTxLocalAdapter tx;
+
+ /**
+ * @param op Operation.
+ * @param skipStore Skip store flag.
+ * @param retries Number of retries.
+ */
+ public AsyncOpRetryFuture(AsyncOp<T> op,
+ boolean skipStore,
+ int retries) {
+ assert retries > 1 : retries;
+
+ this.op = op;
+ this.tx = null;
+ this.skipStore = skipStore;
+ this.retries = retries;
+ }
+
+ /**
+ * @param tx Transaction.
+ */
+ public void execute() {
+ tx = ctx.tm().newTx(
+ true,
+ op.single(),
+ ctx.systemTx() ? ctx : null,
+ OPTIMISTIC,
+ READ_COMMITTED,
+ ctx.kernalContext().config().getTransactionConfiguration().getDefaultTxTimeout(),
+ !skipStore,
+ 0);
+
+ IgniteInternalFuture<T> fut = asyncOp(tx, op);
+
+ fut.listen(new IgniteInClosure<IgniteInternalFuture<T>>() {
+ @Override public void apply(IgniteInternalFuture<T> fut) {
+ try {
+ T res = fut.get();
+
+ onDone(res);
+ }
+ catch (IgniteCheckedException e) {
+ if (X.hasCause(e, ClusterTopologyCheckedException.class) && --retries > 0) {
+ IgniteTxLocalAdapter tx = AsyncOpRetryFuture.this.tx;
+
+ assert tx != null;
+
+ AffinityTopologyVersion topVer = tx.topologyVersion();
+
+ assert topVer != null && topVer.topologyVersion() > 0 : tx;
+
+ IgniteInternalFuture<?> topFut =
+ ctx.affinity().affinityReadyFuture(topVer.topologyVersion() + 1);
+
+ topFut.listen(new IgniteInClosure<IgniteInternalFuture<?>>() {
+ @Override public void apply(IgniteInternalFuture<?> topFut) {
+ try {
+ topFut.get();
+
+ execute();
+ }
+ catch (IgniteCheckedException e) {
+ onDone(e);
+ }
+ }
+ });
+
+ return;
+ }
+
+ onDone(e);
+ }
+ }
+ });
+ }
+ }
+
+ /**
+ *
+ */
private static class PeekModes {
/** */
private boolean near;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/122a9dbf/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
index 751c9ba..0498839 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
@@ -409,9 +409,15 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
GridFutureAdapter<Void> fut0;
+ long nextTopVer;
+
synchronized (this) {
mappings = new ConcurrentHashMap8<>(keys.size(), 1.0f);
+ assert topVer != null && topVer.topologyVersion() > 0 : this;
+
+ nextTopVer = topVer.topologyVersion() + 1;
+
topVer = AffinityTopologyVersion.ZERO;
fut0 = topCompleteFut;
@@ -428,7 +434,24 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object>
updVer = null;
topLocked = false;
- map();
+ IgniteInternalFuture<?> fut = cctx.affinity().affinityReadyFuture(nextTopVer);
+
+ fut.listen(new CI1<IgniteInternalFuture<?>>() {
+ @Override public void apply(final IgniteInternalFuture<?> fut) {
+ cctx.kernalContext().closure().runLocalSafe(new Runnable() {
+ @Override public void run() {
+ try {
+ fut.get();
+
+ map();
+ }
+ catch (IgniteCheckedException e) {
+ onDone(e);
+ }
+ }
+ });
+ }
+ });
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/122a9dbf/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
index dcba325..9abc5c8 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCachePutRetryAbstractSelfTest.java
@@ -27,6 +27,7 @@ import org.apache.ignite.internal.util.typedef.*;
import org.apache.ignite.internal.util.typedef.internal.*;
import org.apache.ignite.testframework.*;
+import java.util.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
@@ -76,11 +77,25 @@ public abstract class IgniteCachePutRetryAbstractSelfTest extends GridCacheAbstr
protected CacheAtomicWriteOrderMode writeOrderMode() {
return CLOCK;
}
-
/**
* @throws Exception If failed.
*/
public void testPut() throws Exception {
+ checkPut(false);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testPutAsync() throws Exception {
+ checkPut(true);
+ }
+
+ /**
+ * @param async If {@code true} tests asynchronous put.
+ * @throws Exception If failed.
+ */
+ private void checkPut(boolean async) throws Exception {
final AtomicBoolean finished = new AtomicBoolean();
IgniteInternalFuture<Object> fut = GridTestUtils.runAsync(new Callable<Object>() {
@@ -104,20 +119,67 @@ public abstract class IgniteCachePutRetryAbstractSelfTest extends GridCacheAbstr
if (atomicityMode() == ATOMIC)
assertEquals(writeOrderMode(), cache.getConfiguration(CacheConfiguration.class).getAtomicWriteOrderMode());
- for (int i = 0; i < keysCnt; i++)
- cache.put(i, i);
+ int iter = 0;
+
+ long stopTime = System.currentTimeMillis() + 60_000;
+
+ if (async) {
+ IgniteCache<Object, Object> cache0 = cache.withAsync();
+
+ while (System.currentTimeMillis() < stopTime) {
+ Integer val = ++iter;
+
+ for (int i = 0; i < keysCnt; i++) {
+ cache0.put(i, val);
+
+ cache0.future().get();
+ }
+
+ for (int i = 0; i < keysCnt; i++) {
+ cache0.get(i);
+
+ assertEquals(val, cache0.future().get());
+ }
+ }
+ }
+ else {
+ while (System.currentTimeMillis() < stopTime) {
+ Integer val = ++iter;
+
+ for (int i = 0; i < keysCnt; i++)
+ cache.put(i, val);
+
+ for (int i = 0; i < keysCnt; i++)
+ assertEquals(val, cache.get(i));
+ }
+ }
finished.set(true);
fut.get();
for (int i = 0; i < keysCnt; i++)
- assertEquals(i, ignite(0).cache(null).get(i));
+ assertEquals(iter, cache.get(i));
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testFailsWithNoRetries() throws Exception {
+ checkFailsWithNoRetries(false);
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testFailsWithNoRetriesAsync() throws Exception {
+ checkFailsWithNoRetries(true);
}
/**
+ * @param async If {@code true} tests asynchronous put.
* @throws Exception If failed.
*/
- public void testFailWithNoRetries() throws Exception {
+ private void checkFailsWithNoRetries(boolean async) throws Exception {
final AtomicBoolean finished = new AtomicBoolean();
IgniteInternalFuture<Object> fut = GridTestUtils.runAsync(new Callable<Object>() {
@@ -136,22 +198,34 @@ public abstract class IgniteCachePutRetryAbstractSelfTest extends GridCacheAbstr
int keysCnt = keysCount();
- boolean exceptionThrown = false;
+ boolean eThrown = false;
+
+ IgniteCache<Object, Object> cache = ignite(0).cache(null).withNoRetries();
+
+ if (async)
+ cache = cache.withAsync();
for (int i = 0; i < keysCnt; i++) {
try {
- ignite(0).cache(null).withNoRetries().put(i, i);
+ if (async) {
+ cache.put(i, i);
+
+ cache.future().get();
+ }
+ else
+ cache.put(i, i);
}
catch (Exception e) {
- assertTrue("Invalid exception: " + e, X.hasCause(e, ClusterTopologyCheckedException.class) || X.hasCause(e, CachePartialUpdateException.class));
+ assertTrue("Invalid exception: " + e,
+ X.hasCause(e, ClusterTopologyCheckedException.class, CachePartialUpdateException.class));
- exceptionThrown = true;
+ eThrown = true;
break;
}
}
- assertTrue(exceptionThrown);
+ assertTrue(eThrown);
finished.set(true);
fut.get();