Upgrade to Atomix 3.0.0-rc10

Change-Id: If4095b225611a62831ae45dbf59550c7ce3a9f3c
diff --git a/core/store/primitives/pom.xml b/core/store/primitives/pom.xml
index 199a1ce..526f264 100644
--- a/core/store/primitives/pom.xml
+++ b/core/store/primitives/pom.xml
@@ -69,13 +69,13 @@
         <dependency>
             <groupId>io.atomix</groupId>
             <artifactId>atomix</artifactId>
-            <version>3.0.0-rc7</version>
+            <version>3.0.0-rc10</version>
         </dependency>
 
         <dependency>
             <groupId>io.atomix</groupId>
             <artifactId>atomix-raft</artifactId>
-            <version>3.0.0-rc7</version>
+            <version>3.0.0-rc10</version>
         </dependency>
 
         <dependency>
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/AtomixDocumentTreeBuilder.java b/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/AtomixDocumentTreeBuilder.java
index ee8f30d..17f7cef 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/AtomixDocumentTreeBuilder.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/AtomixDocumentTreeBuilder.java
@@ -49,7 +49,7 @@
                 .withMaxRetries(MAX_RETRIES)
                 .build())
             .withReadOnly(readOnly())
-            // TODO: Enable caching for DocumentTree in Atomix
+            .withCacheEnabled(relaxedReadConsistency())
             .withSerializer(new AtomixSerializerAdapter(serializer()))
             .build()
             .async());
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/AtomixLeaderElectorBuilder.java b/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/AtomixLeaderElectorBuilder.java
index 8fd3927..5546892 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/AtomixLeaderElectorBuilder.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/atomix/primitives/impl/AtomixLeaderElectorBuilder.java
@@ -48,7 +48,7 @@
                 .withMaxRetries(MAX_RETRIES)
                 .build())
             .withReadOnly(readOnly())
-            // TODO: Enable caching for LeaderElector in Atomix
+            .withCacheEnabled(relaxedReadConsistency())
             .withSerializer(new AtomixSerializerAdapter(serializer))
             .build()
             .async(), localNodeId);
diff --git a/lib/BUCK b/lib/BUCK
index 6c8f656..4181798 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Fri, 3 Aug 2018 23:34:53 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Wed, 8 Aug 2018 21:33:43 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 pass_thru_pom(
@@ -242,73 +242,73 @@
 
 remote_jar (
   name = 'atomix',
-  out = 'atomix-3.0.0-rc7.jar',
-  url = 'mvn:io.atomix:atomix:jar:3.0.0-rc7',
-  sha1 = 'bf9b83d02375a194a3f41ca8a750f557566e80b9',
-  maven_coords = 'io.atomix:atomix:3.0.0-rc7',
+  out = 'atomix-3.0.0-rc10.jar',
+  url = 'mvn:io.atomix:atomix:jar:3.0.0-rc10',
+  sha1 = 'e01ec153346834b8193e53bd1bb4a11fc4c561ff',
+  maven_coords = 'io.atomix:atomix:3.0.0-rc10',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'atomix-cluster',
-  out = 'atomix-cluster-3.0.0-rc7.jar',
-  url = 'mvn:io.atomix:atomix-cluster:jar:3.0.0-rc7',
-  sha1 = '8637229ccddf1dd853377d0da4ae2780c23a739b',
-  maven_coords = 'io.atomix:atomix-cluster:3.0.0-rc7',
+  out = 'atomix-cluster-3.0.0-rc10.jar',
+  url = 'mvn:io.atomix:atomix-cluster:jar:3.0.0-rc10',
+  sha1 = '72a66e3b90b5bc156e19926829c944ce258beb63',
+  maven_coords = 'io.atomix:atomix-cluster:3.0.0-rc10',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'atomix-gossip',
-  out = 'atomix-gossip-3.0.0-rc7.jar',
-  url = 'mvn:io.atomix:atomix-gossip:jar:3.0.0-rc7',
-  sha1 = 'd9a6f5d61187d9374c70735c74a30979a8f1cb34',
-  maven_coords = 'io.atomix:atomix-gossip:3.0.0-rc7',
+  out = 'atomix-gossip-3.0.0-rc10.jar',
+  url = 'mvn:io.atomix:atomix-gossip:jar:3.0.0-rc10',
+  sha1 = 'fee14843efa9882ba86d353d9c7552edb87bc288',
+  maven_coords = 'io.atomix:atomix-gossip:3.0.0-rc10',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'atomix-primary-backup',
-  out = 'atomix-primary-backup-3.0.0-rc7.jar',
-  url = 'mvn:io.atomix:atomix-primary-backup:jar:3.0.0-rc7',
-  sha1 = '1093dd72377aef05ae7f5c9f21b412c7c541f2ca',
-  maven_coords = 'io.atomix:atomix-primary-backup:3.0.0-rc7',
+  out = 'atomix-primary-backup-3.0.0-rc10.jar',
+  url = 'mvn:io.atomix:atomix-primary-backup:jar:3.0.0-rc10',
+  sha1 = '86afad5003d29cf767ecdd87a2367e89448d89e4',
+  maven_coords = 'io.atomix:atomix-primary-backup:3.0.0-rc10',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'atomix-primitive',
-  out = 'atomix-primitive-3.0.0-rc7.jar',
-  url = 'mvn:io.atomix:atomix-primitive:jar:3.0.0-rc7',
-  sha1 = '0c0bbfbc0957561754422092f46fd67c606779ee',
-  maven_coords = 'io.atomix:atomix-primitive:3.0.0-rc7',
+  out = 'atomix-primitive-3.0.0-rc10.jar',
+  url = 'mvn:io.atomix:atomix-primitive:jar:3.0.0-rc10',
+  sha1 = '568e2b05c10962cdfc2b6a542e6d46cf8249801f',
+  maven_coords = 'io.atomix:atomix-primitive:3.0.0-rc10',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'atomix-raft',
-  out = 'atomix-raft-3.0.0-rc7.jar',
-  url = 'mvn:io.atomix:atomix-raft:jar:3.0.0-rc7',
-  sha1 = '32123b5dc9e465104ccfa44c3593ce7bbb4cd84c',
-  maven_coords = 'io.atomix:atomix-raft:3.0.0-rc7',
+  out = 'atomix-raft-3.0.0-rc10.jar',
+  url = 'mvn:io.atomix:atomix-raft:jar:3.0.0-rc10',
+  sha1 = '9c6fa65ef0c0bdad6e3a70775afa9ad21a68ea50',
+  maven_coords = 'io.atomix:atomix-raft:3.0.0-rc10',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'atomix-storage',
-  out = 'atomix-storage-3.0.0-rc7.jar',
-  url = 'mvn:io.atomix:atomix-storage:jar:3.0.0-rc7',
-  sha1 = 'c1ccaba461ca6ea0a7c49bd90b6cf404d5f7070d',
-  maven_coords = 'io.atomix:atomix-storage:3.0.0-rc7',
+  out = 'atomix-storage-3.0.0-rc10.jar',
+  url = 'mvn:io.atomix:atomix-storage:jar:3.0.0-rc10',
+  sha1 = '776ac9c4a7febc20aa4cc635f754afcb121893a4',
+  maven_coords = 'io.atomix:atomix-storage:3.0.0-rc10',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'atomix-utils',
-  out = 'atomix-utils-3.0.0-rc7.jar',
-  url = 'mvn:io.atomix:atomix-utils:jar:3.0.0-rc7',
-  sha1 = 'f403c1dd496568931dde1ba498a65aa67c1d5ef1',
-  maven_coords = 'io.atomix:atomix-utils:3.0.0-rc7',
+  out = 'atomix-utils-3.0.0-rc10.jar',
+  url = 'mvn:io.atomix:atomix-utils:jar:3.0.0-rc10',
+  sha1 = 'c1613705552a909d6a1e2df4e04ad88bfb725e28',
+  maven_coords = 'io.atomix:atomix-utils:3.0.0-rc10',
   visibility = [ 'PUBLIC' ],
 )
 
diff --git a/lib/deps.json b/lib/deps.json
index a5a6b5f..44e9827 100644
--- a/lib/deps.json
+++ b/lib/deps.json
@@ -136,14 +136,14 @@
     "aopalliance-repackaged": "mvn:org.glassfish.hk2.external:aopalliance-repackaged:2.5.0-b42",
     "amqp-client": "mvn:com.rabbitmq:amqp-client:jar:3.6.1",
     "asm": "mvn:org.ow2.asm:asm:5.0.4",
-    "atomix": "mvn:io.atomix:atomix:3.0.0-rc7",
-    "atomix-cluster": "mvn:io.atomix:atomix-cluster:3.0.0-rc7",
-    "atomix-gossip": "mvn:io.atomix:atomix-gossip:3.0.0-rc7",
-    "atomix-primary-backup": "mvn:io.atomix:atomix-primary-backup:3.0.0-rc7",
-    "atomix-primitive": "mvn:io.atomix:atomix-primitive:3.0.0-rc7",
-    "atomix-raft": "mvn:io.atomix:atomix-raft:3.0.0-rc7",
-    "atomix-storage": "mvn:io.atomix:atomix-storage:3.0.0-rc7",
-    "atomix-utils": "mvn:io.atomix:atomix-utils:3.0.0-rc7",
+    "atomix": "mvn:io.atomix:atomix:3.0.0-rc10",
+    "atomix-cluster": "mvn:io.atomix:atomix-cluster:3.0.0-rc10",
+    "atomix-gossip": "mvn:io.atomix:atomix-gossip:3.0.0-rc10",
+    "atomix-primary-backup": "mvn:io.atomix:atomix-primary-backup:3.0.0-rc10",
+    "atomix-primitive": "mvn:io.atomix:atomix-primitive:3.0.0-rc10",
+    "atomix-raft": "mvn:io.atomix:atomix-raft:3.0.0-rc10",
+    "atomix-storage": "mvn:io.atomix:atomix-storage:3.0.0-rc10",
+    "atomix-utils": "mvn:io.atomix:atomix-utils:3.0.0-rc10",
     "classgraph": "mvn:io.github.classgraph:classgraph:4.0.3",
     "commons-codec": "mvn:commons-codec:commons-codec:1.10",
     "commons-cli": "mvn:commons-cli:commons-cli:1.3",
diff --git a/tools/build/bazel/generate_workspace.bzl b/tools/build/bazel/generate_workspace.bzl
index ef843ac..c38c3de 100644
--- a/tools/build/bazel/generate_workspace.bzl
+++ b/tools/build/bazel/generate_workspace.bzl
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Fri, 3 Aug 2018 23:35:01 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Wed, 8 Aug 2018 21:33:41 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 load("//tools/build/bazel:variables.bzl", "ONOS_GROUP_ID", "ONOS_VERSION")
@@ -152,50 +152,50 @@
 
     native.maven_jar(
         name = "atomix",
-        artifact = "io.atomix:atomix:3.0.0-rc7",
-        sha1 = "bf9b83d02375a194a3f41ca8a750f557566e80b9",
+        artifact = "io.atomix:atomix:3.0.0-rc10",
+        sha1 = "e01ec153346834b8193e53bd1bb4a11fc4c561ff",
     )
 
     native.maven_jar(
         name = "atomix_cluster",
-        artifact = "io.atomix:atomix-cluster:3.0.0-rc7",
-        sha1 = "8637229ccddf1dd853377d0da4ae2780c23a739b",
+        artifact = "io.atomix:atomix-cluster:3.0.0-rc10",
+        sha1 = "72a66e3b90b5bc156e19926829c944ce258beb63",
     )
 
     native.maven_jar(
         name = "atomix_gossip",
-        artifact = "io.atomix:atomix-gossip:3.0.0-rc7",
-        sha1 = "d9a6f5d61187d9374c70735c74a30979a8f1cb34",
+        artifact = "io.atomix:atomix-gossip:3.0.0-rc10",
+        sha1 = "fee14843efa9882ba86d353d9c7552edb87bc288",
     )
 
     native.maven_jar(
         name = "atomix_primary_backup",
-        artifact = "io.atomix:atomix-primary-backup:3.0.0-rc7",
-        sha1 = "1093dd72377aef05ae7f5c9f21b412c7c541f2ca",
+        artifact = "io.atomix:atomix-primary-backup:3.0.0-rc10",
+        sha1 = "86afad5003d29cf767ecdd87a2367e89448d89e4",
     )
 
     native.maven_jar(
         name = "atomix_primitive",
-        artifact = "io.atomix:atomix-primitive:3.0.0-rc7",
-        sha1 = "0c0bbfbc0957561754422092f46fd67c606779ee",
+        artifact = "io.atomix:atomix-primitive:3.0.0-rc10",
+        sha1 = "568e2b05c10962cdfc2b6a542e6d46cf8249801f",
     )
 
     native.maven_jar(
         name = "atomix_raft",
-        artifact = "io.atomix:atomix-raft:3.0.0-rc7",
-        sha1 = "32123b5dc9e465104ccfa44c3593ce7bbb4cd84c",
+        artifact = "io.atomix:atomix-raft:3.0.0-rc10",
+        sha1 = "9c6fa65ef0c0bdad6e3a70775afa9ad21a68ea50",
     )
 
     native.maven_jar(
         name = "atomix_storage",
-        artifact = "io.atomix:atomix-storage:3.0.0-rc7",
-        sha1 = "c1ccaba461ca6ea0a7c49bd90b6cf404d5f7070d",
+        artifact = "io.atomix:atomix-storage:3.0.0-rc10",
+        sha1 = "776ac9c4a7febc20aa4cc635f754afcb121893a4",
     )
 
     native.maven_jar(
         name = "atomix_utils",
-        artifact = "io.atomix:atomix-utils:3.0.0-rc7",
-        sha1 = "f403c1dd496568931dde1ba498a65aa67c1d5ef1",
+        artifact = "io.atomix:atomix-utils:3.0.0-rc10",
+        sha1 = "c1613705552a909d6a1e2df4e04ad88bfb725e28",
     )
 
     native.maven_jar(
@@ -2310,14 +2310,14 @@
 artifact_map["@aopalliance_repackaged//jar"] = "mvn:org.glassfish.hk2.external:aopalliance-repackaged:jar:2.5.0-b42"
 artifact_map["@amqp_client//jar"] = "mvn:com.rabbitmq:amqp-client:jar:3.6.1"
 artifact_map["@asm//jar"] = "mvn:org.ow2.asm:asm:jar:5.0.4"
-artifact_map["@atomix//jar"] = "mvn:io.atomix:atomix:jar:3.0.0-rc7"
-artifact_map["@atomix_cluster//jar"] = "mvn:io.atomix:atomix-cluster:jar:3.0.0-rc7"
-artifact_map["@atomix_gossip//jar"] = "mvn:io.atomix:atomix-gossip:jar:3.0.0-rc7"
-artifact_map["@atomix_primary_backup//jar"] = "mvn:io.atomix:atomix-primary-backup:jar:3.0.0-rc7"
-artifact_map["@atomix_primitive//jar"] = "mvn:io.atomix:atomix-primitive:jar:3.0.0-rc7"
-artifact_map["@atomix_raft//jar"] = "mvn:io.atomix:atomix-raft:jar:3.0.0-rc7"
-artifact_map["@atomix_storage//jar"] = "mvn:io.atomix:atomix-storage:jar:3.0.0-rc7"
-artifact_map["@atomix_utils//jar"] = "mvn:io.atomix:atomix-utils:jar:3.0.0-rc7"
+artifact_map["@atomix//jar"] = "mvn:io.atomix:atomix:jar:3.0.0-rc10"
+artifact_map["@atomix_cluster//jar"] = "mvn:io.atomix:atomix-cluster:jar:3.0.0-rc10"
+artifact_map["@atomix_gossip//jar"] = "mvn:io.atomix:atomix-gossip:jar:3.0.0-rc10"
+artifact_map["@atomix_primary_backup//jar"] = "mvn:io.atomix:atomix-primary-backup:jar:3.0.0-rc10"
+artifact_map["@atomix_primitive//jar"] = "mvn:io.atomix:atomix-primitive:jar:3.0.0-rc10"
+artifact_map["@atomix_raft//jar"] = "mvn:io.atomix:atomix-raft:jar:3.0.0-rc10"
+artifact_map["@atomix_storage//jar"] = "mvn:io.atomix:atomix-storage:jar:3.0.0-rc10"
+artifact_map["@atomix_utils//jar"] = "mvn:io.atomix:atomix-utils:jar:3.0.0-rc10"
 artifact_map["@classgraph//jar"] = "mvn:io.github.classgraph:classgraph:jar:4.0.3"
 artifact_map["@commons_codec//jar"] = "mvn:commons-codec:commons-codec:jar:1.10"
 artifact_map["@commons_cli//jar"] = "mvn:commons-cli:commons-cli:jar:1.3"
diff --git a/tools/package/features/features.xml b/tools/package/features/features.xml
index 1edc57f..49b6e46 100644
--- a/tools/package/features/features.xml
+++ b/tools/package/features/features.xml
@@ -59,14 +59,14 @@
         <bundle>mvn:com.typesafe/config/1.3.2</bundle>
         <bundle>mvn:com.googlecode.concurrent-trees/concurrent-trees/2.6.0</bundle>
         <bundle>mvn:commons-io/commons-io/2.4</bundle>
-        <bundle>mvn:io.atomix/atomix/3.0.0-rc7</bundle>
-        <bundle>mvn:io.atomix/atomix-cluster/3.0.0-rc7</bundle>
-        <bundle>mvn:io.atomix/atomix-gossip/3.0.0-rc7</bundle>
-        <bundle>mvn:io.atomix/atomix-primary-backup/3.0.0-rc7</bundle>
-        <bundle>mvn:io.atomix/atomix-primitive/3.0.0-rc7</bundle>
-        <bundle>mvn:io.atomix/atomix-raft/3.0.0-rc7</bundle>
-        <bundle>mvn:io.atomix/atomix-storage/3.0.0-rc7</bundle>
-        <bundle>mvn:io.atomix/atomix-utils/3.0.0-rc7</bundle>
+        <bundle>mvn:io.atomix/atomix/3.0.0-rc10</bundle>
+        <bundle>mvn:io.atomix/atomix-cluster/3.0.0-rc10</bundle>
+        <bundle>mvn:io.atomix/atomix-gossip/3.0.0-rc10</bundle>
+        <bundle>mvn:io.atomix/atomix-primary-backup/3.0.0-rc10</bundle>
+        <bundle>mvn:io.atomix/atomix-primitive/3.0.0-rc10</bundle>
+        <bundle>mvn:io.atomix/atomix-raft/3.0.0-rc10</bundle>
+        <bundle>mvn:io.atomix/atomix-storage/3.0.0-rc10</bundle>
+        <bundle>mvn:io.atomix/atomix-utils/3.0.0-rc10</bundle>
 
         <bundle>mvn:com.typesafe/config/1.3.2</bundle>
         <bundle>mvn:io.github.classgraph/classgraph/4.0.3</bundle>
diff --git a/tools/test/bin/atomix-install b/tools/test/bin/atomix-install
index 6627c98..4401f68 100755
--- a/tools/test/bin/atomix-install
+++ b/tools/test/bin/atomix-install
@@ -47,7 +47,7 @@
     [ -f $ATOMIX_INSTALL_DIR/bin/atomix-agent ] && echo \"Atomix is already installed\" && exit 1
 
     sudo mkdir -p $ATOMIX_INSTALL_DIR && sudo chown ${ONOS_USER}:${ONOS_GROUP} $ATOMIX_INSTALL_DIR
-    sudo wget -O $ATOMIX_INSTALL_DIR/atomix-dist.tar.gz https://oss.sonatype.org/content/repositories/releases/io/atomix/atomix-dist/3.0.0-rc7/atomix-dist-3.0.0-rc7.tar.gz
+    sudo wget -O $ATOMIX_INSTALL_DIR/atomix-dist.tar.gz https://oss.sonatype.org/content/repositories/releases/io/atomix/atomix-dist/3.0.0-rc10/atomix-dist-3.0.0-rc10.tar.gz
     tar -xvf $ATOMIX_INSTALL_DIR/atomix-dist.tar.gz -C $ATOMIX_INSTALL_DIR
 "
 
diff --git a/tools/test/scenarios/shutdown.xml b/tools/test/scenarios/shutdown.xml
index 513677e..8ff43c5 100644
--- a/tools/test/scenarios/shutdown.xml
+++ b/tools/test/scenarios/shutdown.xml
@@ -31,7 +31,7 @@
         </group>
         <group name="Shutdown-Atomix-OCC" if="${OCC1}">
             <parallel var="${OCC#}">
-                <step name="Atomix-Kill-${#}" env="~" exec="atomix-kill ${OCC#}" requires="Shutdown-ONOS"/>
+                <step name="Atomix-Kill-${#}" env="~" exec="atomix-kill ${OCC#}" requires="~Shutdown-ONOS"/>
             </parallel>
         </group>
     </group>