svn commit: r1816096 - /ignite/site/trunk/whatisignite.html

2017-11-22 Thread dsetrakyan
Author: dsetrakyan
Date: Thu Nov 23 01:08:20 2017
New Revision: 1816096

URL: http://svn.apache.org/viewvc?rev=1816096=rev
Log:
minor

Modified:
ignite/site/trunk/whatisignite.html

Modified: ignite/site/trunk/whatisignite.html
URL: 
http://svn.apache.org/viewvc/ignite/site/trunk/whatisignite.html?rev=1816096=1816095=1816096=diff
==
--- ignite/site/trunk/whatisignite.html (original)
+++ ignite/site/trunk/whatisignite.html Thu Nov 23 01:08:20 2017
@@ -143,7 +143,7 @@ under the License.
 Is Ignite an in-memory data grid (IMDG)?
 
 Yes. Ignite is a full-featured 
distributed key-value data grid, which can be used either in
-in-memory-only mode or with Ignite native persistence. It 
can also automatically integrate with any 3rd party databases,
+memory-only mode or with Ignite native persistence. It can 
also automatically integrate with any 3rd party databases,
 including any RDBMS or NoSQL stores.
 
 




svn commit: r1816095 - /ignite/site/trunk/whatisignite.html

2017-11-22 Thread dsetrakyan
Author: dsetrakyan
Date: Thu Nov 23 00:56:56 2017
New Revision: 1816095

URL: http://svn.apache.org/viewvc?rev=1816095=rev
Log:
minor

Modified:
ignite/site/trunk/whatisignite.html

Modified: ignite/site/trunk/whatisignite.html
URL: 
http://svn.apache.org/viewvc/ignite/site/trunk/whatisignite.html?rev=1816095=1816094=1816095=diff
==
--- ignite/site/trunk/whatisignite.html (original)
+++ ignite/site/trunk/whatisignite.html Thu Nov 23 00:56:56 2017
@@ -135,15 +135,15 @@ under the License.
 Is Ignite an in-memory database (IMDB)?
 
 Yes. Even though Ignite durable memory 
works well in-memory and on-disk, the disk
-persistence can be disabled and Ignite can act as a pure 
distributed in-memory database, with
+persistence can be disabled and Ignite can act as a 
distributed in-memory database, with
 support for SQL and distributed joins.
 
 
 
 Is Ignite an in-memory data grid (IMDG)?
 
-Yes. Ignite is a full-featured 
distributed key-value data grid, which can be used either in pure
-in-memory mode or with Ignite native persistence. It can 
also automatically integrate with any 3rd party databases,
+Yes. Ignite is a full-featured 
distributed key-value data grid, which can be used either in
+in-memory-only mode or with Ignite native persistence. It 
can also automatically integrate with any 3rd party databases,
 including any RDBMS or NoSQL stores.
 
 
@@ -165,7 +165,7 @@ under the License.
 Ignite also does not support foreign key constraints.
 
 
-Essentially, Ignite purposely does not support any 
constraints that would entail a cluster broadcast
+Essentially, Ignite purposely does not support any 
constraints that would entail a cluster-wide broadcast
 message for each update and significantly hurt performance 
and scalability of the system.
 
 
@@ -179,7 +179,7 @@ under the License.
 
 
 At SQL level Ignite supports atomic, but not yet 
transactional consistency. Ignite community plans
-to implement SQL transactions in version 2.4.
+to implement SQL transactions in version 2.5.
 
 
 




svn commit: r1816094 - /ignite/site/trunk/whatisignite.html

2017-11-22 Thread dsetrakyan
Author: dsetrakyan
Date: Thu Nov 23 00:51:25 2017
New Revision: 1816094

URL: http://svn.apache.org/viewvc?rev=1816094=rev
Log:
minor

Modified:
ignite/site/trunk/whatisignite.html

Modified: ignite/site/trunk/whatisignite.html
URL: 
http://svn.apache.org/viewvc/ignite/site/trunk/whatisignite.html?rev=1816094=1816093=1816094=diff
==
--- ignite/site/trunk/whatisignite.html (original)
+++ ignite/site/trunk/whatisignite.html Thu Nov 23 00:51:25 2017
@@ -122,7 +122,7 @@ under the License.
 Ignite 
Facts
 
 
-Is Ignite a persistent or pure in-memory storage?
+Is Ignite a persistent or in-memory-only storage?
 
 Both. Native persistence in Ignite can be 
turned on and off. This allows Ignite to store
 data sets bigger than can fit in the available memory. 
Essentially, the smaller operational data sets




ignite git commit: zk

2017-11-22 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-zk 42bbed0ad -> d9575aac6


zk


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d9575aac
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d9575aac
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d9575aac

Branch: refs/heads/ignite-zk
Commit: d9575aac6137a3d842cac3ba15dab591138c67e2
Parents: 42bbed0
Author: sboikov 
Authored: Wed Nov 22 17:53:18 2017 +0300
Committer: sboikov 
Committed: Wed Nov 22 17:53:18 2017 +0300

--
 modules/core/pom.xml|  1 -
 .../apache/ignite/internal/IgniteKernal.java| 15 +++
 .../org/apache/ignite/internal/IgnitionEx.java  |  7 +++
 .../zk/internal/ZookeeperDiscoveryImpl.java |  2 +-
 .../testframework/junits/GridAbstractTest.java  | 20 
 5 files changed, 23 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/d9575aac/modules/core/pom.xml
--
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
index 34e6327..a38f171 100644
--- a/modules/core/pom.xml
+++ b/modules/core/pom.xml
@@ -85,7 +85,6 @@
 org.apache.curator
 curator-test
 ${curator.version}
-test
 
 
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/d9575aac/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 19e1f1e..b58819c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -49,6 +49,7 @@ import java.util.concurrent.atomic.AtomicReference;
 import javax.cache.CacheException;
 import javax.management.JMException;
 import javax.management.ObjectName;
+import org.apache.curator.test.TestingCluster;
 import org.apache.ignite.DataRegionMetrics;
 import org.apache.ignite.DataRegionMetricsAdapter;
 import org.apache.ignite.DataStorageMetrics;
@@ -264,6 +265,20 @@ import static 
org.apache.ignite.lifecycle.LifecycleEventType.BEFORE_NODE_START;
  */
 public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
 /** */
+public static TestingCluster zkCluster;
+
+static {
+zkCluster = new TestingCluster(1);
+
+try {
+zkCluster.start();
+}
+catch (Exception e) {
+e.printStackTrace();
+}
+}
+
+/** */
 private static final long serialVersionUID = 0L;
 
 /** Ignite site that is shown in log messages. */

http://git-wip-us.apache.org/repos/asf/ignite/blob/d9575aac/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java 
b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index d84f8a9..e6f5442 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -101,6 +101,7 @@ import 
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
 import org.apache.ignite.spi.deployment.local.LocalDeploymentSpi;
 import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
 import 
org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder;
+import org.apache.ignite.spi.discovery.zk.ZookeeperDiscoverySpi;
 import org.apache.ignite.spi.eventstorage.NoopEventStorageSpi;
 import org.apache.ignite.spi.failover.always.AlwaysFailoverSpi;
 import org.apache.ignite.spi.indexing.noop.NoopIndexingSpi;
@@ -2221,6 +,12 @@ public class IgnitionEx {
 
 initializeDataStorageConfiguration(myCfg);
 
+ZookeeperDiscoverySpi zkSpi = new ZookeeperDiscoverySpi();
+
+
zkSpi.setZkConnectionString(IgniteKernal.zkCluster.getConnectString());
+
+myCfg.setDiscoverySpi(zkSpi);
+
 return myCfg;
 }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/d9575aac/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
index de54210..2e8247e 

[2/5] ignite git commit: zk

2017-11-22 Thread sboikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/42bbed0a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
--
diff --git 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
deleted file mode 100644
index 626b235..000
--- 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
+++ /dev/null
@@ -1,816 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.spi.discovery.zk.internal;
-
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Timer;
-import java.util.TimerTask;
-import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.lang.IgniteRunnable;
-import org.apache.zookeeper.AsyncCallback;
-import org.apache.zookeeper.CreateMode;
-import org.apache.zookeeper.KeeperException;
-import org.apache.zookeeper.Op;
-import org.apache.zookeeper.OpResult;
-import org.apache.zookeeper.WatchedEvent;
-import org.apache.zookeeper.Watcher;
-import org.apache.zookeeper.ZooDefs;
-import org.apache.zookeeper.ZooKeeper;
-import org.apache.zookeeper.data.ACL;
-import org.apache.zookeeper.data.Stat;
-import org.jetbrains.annotations.Nullable;
-
-/**
- *
- */
-public class ZookeeperClient implements Watcher {
-/** */
-private static final long RETRY_TIMEOUT = 1000;
-
-/** */
-private static final List ZK_ACL = ZooDefs.Ids.OPEN_ACL_UNSAFE;
-
-/** */
-private static final byte[] EMPTY_BYTES = {};
-
-/** */
-private final ZooKeeper zk;
-
-/** */
-private final IgniteLogger log;
-
-/** */
-private ConnectionState state = ConnectionState.Disconnected;
-
-/** */
-private long connLossTimeout;
-
-/** */
-private volatile long connStartTime;
-
-/** */
-private final Object stateMux = new Object();
-
-/** */
-private final IgniteRunnable connLostC;
-
-/** */
-private final Timer connTimer;
-
-/** */
-private final ArrayDeque retryQ = new ArrayDeque<>();
-
-/**
- * @param log Logger.
- * @param connectString ZK connection string.
- * @param sesTimeout ZK session timeout.
- * @param connLostC Lost connection callback.
- * @throws Exception If failed.
- */
-ZookeeperClient(IgniteLogger log, String connectString, int sesTimeout, 
IgniteRunnable connLostC) throws Exception {
-this(null, log, connectString, sesTimeout, connLostC);
-}
-
-/**
- * @param igniteInstanceName Ignite instance name.
- * @param log Logger.
- * @param connectString ZK connection string.
- * @param sesTimeout ZK session timeout.
- * @param connLostC Lost connection callback.
- * @throws Exception If failed.
- */
-ZookeeperClient(String igniteInstanceName,
-IgniteLogger log,
-String connectString,
-int sesTimeout,
-IgniteRunnable connLostC)
-throws Exception
-{
-this.log = log.getLogger(getClass());
-this.connLostC = connLostC;
-
-connLossTimeout = sesTimeout;
-
-connStartTime = System.currentTimeMillis();
-
-String threadName = Thread.currentThread().getName();
-
-// ZK generates internal threads' names using current thread name.
-Thread.currentThread().setName("zk-" + igniteInstanceName);
-
-try {
-zk = new ZooKeeper(connectString, sesTimeout, this);
-}
-finally {
-Thread.currentThread().setName(threadName);
-}
-
-connTimer = new Timer("zk-timer-" + igniteInstanceName);
-
-scheduleConnectionCheck();
-}
-
-/** {@inheritDoc} */
-@Override public void process(WatchedEvent evt) {
-if (evt.getType() == Event.EventType.None) {
-ConnectionState newState;
-
-synchronized (stateMux) {
-if (state == ConnectionState.Lost) {
-U.warn(log, "Received 

[4/5] ignite git commit: zk

2017-11-22 Thread sboikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/42bbed0a/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
new file mode 100644
index 000..de54210
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
@@ -0,0 +1,1454 @@
+/*
+ * 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.spi.discovery.zk.internal;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.UUID;
+import java.util.concurrent.CountDownLatch;
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.IgniteException;
+import org.apache.ignite.IgniteInterruptedException;
+import org.apache.ignite.IgniteLogger;
+import org.apache.ignite.IgniteSystemProperties;
+import org.apache.ignite.cluster.ClusterNode;
+import org.apache.ignite.events.EventType;
+import org.apache.ignite.internal.IgniteFutureTimeoutCheckedException;
+import org.apache.ignite.internal.events.DiscoveryCustomEvent;
+import org.apache.ignite.internal.util.future.GridFutureAdapter;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.lang.IgniteRunnable;
+import org.apache.ignite.marshaller.jdk.JdkMarshaller;
+import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.discovery.DiscoveryDataBag;
+import org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage;
+import org.apache.ignite.spi.discovery.DiscoverySpiDataExchange;
+import org.apache.ignite.spi.discovery.DiscoverySpiListener;
+import org.apache.zookeeper.AsyncCallback;
+import org.apache.zookeeper.CreateMode;
+import org.apache.zookeeper.KeeperException;
+import org.apache.zookeeper.WatchedEvent;
+import org.apache.zookeeper.Watcher;
+import org.apache.zookeeper.data.Stat;
+import org.jetbrains.annotations.Nullable;
+
+import static org.apache.zookeeper.CreateMode.EPHEMERAL_SEQUENTIAL;
+import static org.apache.zookeeper.CreateMode.PERSISTENT;
+
+/**
+ * TODO ZK: check if compression makes sense.
+ */
+public class ZookeeperDiscoveryImpl {
+/** */
+static final String IGNITE_ZOOKEEPER_DISCOVERY_SPI_ACK_THRESHOLD = 
"IGNITE_ZOOKEEPER_DISCOVERY_SPI_ACK_THRESHOLD";
+
+/** */
+private final JdkMarshaller marsh = new JdkMarshaller();
+
+/** */
+private final ZkIgnitePaths zkPaths;
+
+/** */
+private final IgniteLogger log;
+
+/** */
+private final ZookeeperClusterNode locNode;
+
+/** */
+private final DiscoverySpiListener lsnr;
+
+/** */
+private final DiscoverySpiDataExchange exchange;
+
+/** */
+private ZookeeperClient zkClient;
+
+/** */
+private final GridFutureAdapter joinFut = new GridFutureAdapter<>();
+
+/** */
+private final ZkWatcher watcher;
+
+/** */
+private final ZKChildrenCallback childrenCallback;
+
+/** */
+private final ZkDataCallback dataCallback;
+
+/** */
+private final ZkClusterNodes top = new ZkClusterNodes();
+
+/** */
+private long gridStartTime;
+
+/** */
+private boolean joined;
+
+/** */
+private ZkDiscoveryEventsData evtsData;
+
+/** */
+private boolean crd;
+
+/** */
+private String locNodeZkPath;
+
+/** */
+private ZkAliveNodeData locNodeInfo = new ZkAliveNodeData();
+
+/** */
+private final int evtsAckThreshold;
+
+/**
+ * @param log Logger.
+ * @param basePath Zookeeper base path node all nodes.
+ * @param clusterName Cluster name (
+ * @param locNode Local node instance.
+ * @param lsnr Discovery events listener.
+ * @param exchange Discovery data exchange.
+ */
+public 

[1/5] ignite git commit: zk

2017-11-22 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-zk 8bd1e077a -> 42bbed0ad


http://git-wip-us.apache.org/repos/asf/ignite/blob/42bbed0a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClientTest.java
--
diff --git 
a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClientTest.java
 
b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClientTest.java
deleted file mode 100644
index 8aac456..000
--- 
a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClientTest.java
+++ /dev/null
@@ -1,404 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.spi.discovery.zk.internal;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.concurrent.Callable;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.ThreadLocalRandom;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-import org.apache.curator.test.TestingCluster;
-import org.apache.ignite.internal.IgniteInternalFuture;
-import org.apache.ignite.internal.util.future.GridFutureAdapter;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.lang.IgniteRunnable;
-import org.apache.ignite.testframework.GridTestUtils;
-import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.apache.zookeeper.AsyncCallback;
-import org.apache.zookeeper.CreateMode;
-import org.apache.zookeeper.data.Stat;
-
-/**
- *
- */
-public class ZookeeperClientTest extends GridCommonAbstractTest {
-/** */
-private TestingCluster zkCluster;
-
-/** {@inheritDoc} */
-@Override protected void afterTest() throws Exception {
-closeZK();
-
-super.afterTest();
-}
-
-/**
- * @throws Exception If failed.
- */
-public void testDeleteAll() throws Exception {
-startZK(1);
-
-ZookeeperClient client = new ZookeeperClient(log, 
zkCluster.getConnectString(), 3000, null);
-
-client.createIfNeeded("/apacheIgnite", null, CreateMode.PERSISTENT);
-client.createIfNeeded("/apacheIgnite/1", null, CreateMode.PERSISTENT);
-client.createIfNeeded("/apacheIgnite/2", null, CreateMode.PERSISTENT);
-
-client.deleteAll("/apacheIgnite", Arrays.asList("1", "2"), -1);
-
-assertTrue(client.getChildren("/apacheIgnite").isEmpty());
-
-client.createIfNeeded("/apacheIgnite/1", null, CreateMode.PERSISTENT);
-client.deleteAll("/apacheIgnite", Arrays.asList("1"), -1);
-
-assertTrue(client.getChildren("/apacheIgnite").isEmpty());
-}
-
-/**
- * @throws Exception If failed.
- */
-public void testConnectionLoss1() throws Exception {
-ZookeeperClient client = new ZookeeperClient(log, "localhost:2200", 
3000, null);
-
-try {
-client.createIfNeeded("/apacheIgnite", null, 
CreateMode.PERSISTENT);
-
-fail();
-}
-catch (ZookeeperClientFailedException e) {
-info("Expected error: " + e);
-}
-}
-
-/**
- * @throws Exception If failed.
- */
-public void testConnectionLoss2() throws Exception {
-startZK(1);
-
-ZookeeperClient client = new ZookeeperClient(log, 
zkCluster.getConnectString(), 3000, null);
-
-client.createIfNeeded("/apacheIgnite1", null, CreateMode.PERSISTENT);
-
-closeZK();
-
-try {
-client.createIfNeeded("/apacheIgnite2", null, 
CreateMode.PERSISTENT);
-
-fail();
-}
-catch (ZookeeperClientFailedException e) {
-info("Expected error: " + e);
-}
-}
-
-/**
- * @throws Exception If failed.
- */
-public void testConnectionLoss3() throws Exception {
-startZK(1);
-
-CallbackFuture cb = new CallbackFuture();
-
-ZookeeperClient client = new ZookeeperClient(log, 
zkCluster.getConnectString(), 3000, cb);
-
-client.createIfNeeded("/apacheIgnite1", null, CreateMode.PERSISTENT);
-
-closeZK();
-
-final 

[3/5] ignite git commit: zk

2017-11-22 Thread sboikov
http://git-wip-us.apache.org/repos/asf/ignite/blob/42bbed0a/modules/core/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
new file mode 100644
index 000..8b3a117
--- /dev/null
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
@@ -0,0 +1,994 @@
+/*
+ * 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.spi.discovery.zk.internal;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.UUID;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.curator.test.TestingCluster;
+import org.apache.ignite.Ignite;
+import org.apache.ignite.IgniteCache;
+import org.apache.ignite.cache.CacheWriteSynchronizationMode;
+import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.events.DiscoveryEvent;
+import org.apache.ignite.events.Event;
+import org.apache.ignite.events.EventType;
+import org.apache.ignite.internal.IgniteInternalFuture;
+import org.apache.ignite.internal.IgniteKernal;
+import org.apache.ignite.internal.IgnitionEx;
+import org.apache.ignite.internal.managers.discovery.DiscoveryLocalJoinData;
+import org.apache.ignite.internal.util.lang.GridAbsPredicate;
+import org.apache.ignite.internal.util.typedef.G;
+import org.apache.ignite.internal.util.typedef.internal.CU;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.lang.IgniteCallable;
+import org.apache.ignite.lang.IgniteInClosure;
+import org.apache.ignite.lang.IgnitePredicate;
+import org.apache.ignite.marshaller.jdk.JdkMarshaller;
+import org.apache.ignite.resources.IgniteInstanceResource;
+import org.apache.ignite.spi.discovery.zk.ZookeeperDiscoverySpi;
+import org.apache.ignite.spi.discovery.zk.internal.ZookeeperClient;
+import org.apache.ignite.spi.discovery.zk.internal.ZookeeperDiscoveryImpl;
+import org.apache.ignite.testframework.GridTestUtils;
+import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+import org.apache.zookeeper.ZkTestClientCnxnSocketNIO;
+import org.apache.zookeeper.ZooKeeper;
+
+import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
+import static org.apache.ignite.events.EventType.EVT_NODE_JOINED;
+import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
+import static 
org.apache.ignite.spi.discovery.zk.internal.ZookeeperDiscoveryImpl.IGNITE_ZOOKEEPER_DISCOVERY_SPI_ACK_THRESHOLD;
+import static org.apache.zookeeper.ZooKeeper.ZOOKEEPER_CLIENT_CNXN_SOCKET;
+
+/**
+ *
+ */
+public class ZookeeperDiscoverySpiBasicTest extends GridCommonAbstractTest {
+/** */
+private static TestingCluster zkCluster;
+
+/** */
+private static final boolean USE_TEST_CLUSTER = true;
+
+/** */
+private boolean client;
+
+/** */
+private static ConcurrentHashMap> evts = 
new ConcurrentHashMap<>();
+
+/** */
+private static volatile boolean err;
+
+/** */
+private boolean testSockNio;
+
+/** */
+private int sesTimeout;
+
+/** */
+private ConcurrentHashMap spis = new 
ConcurrentHashMap<>();
+
+/** {@inheritDoc} */
+@Override protected IgniteConfiguration getConfiguration(String 
igniteInstanceName) throws Exception {
+if (testSockNio)
+System.setProperty(ZOOKEEPER_CLIENT_CNXN_SOCKET, 
ZkTestClientCnxnSocketNIO.class.getName());
+
+IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
+
+cfg.setConsistentId(igniteInstanceName);
+
+

[5/5] ignite git commit: zk

2017-11-22 Thread sboikov
zk


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/42bbed0a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/42bbed0a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/42bbed0a

Branch: refs/heads/ignite-zk
Commit: 42bbed0adda149acb098fddfc830bcea768697d7
Parents: 8bd1e07
Author: sboikov 
Authored: Wed Nov 22 17:08:56 2017 +0300
Committer: sboikov 
Committed: Wed Nov 22 17:30:35 2017 +0300

--
 modules/core/pom.xml|   15 +
 .../spi/discovery/zk/ZookeeperDiscoverySpi.java |  313 
 .../discovery/zk/internal/ZkAliveNodeData.java  |   37 +
 .../discovery/zk/internal/ZkClusterNodes.java   |   92 ++
 .../zk/internal/ZkDiscoveryCustomEventData.java |   72 +
 .../zk/internal/ZkDiscoveryEventData.java   |  110 ++
 .../zk/internal/ZkDiscoveryEventsData.java  |   67 +
 .../internal/ZkDiscoveryNodeFailEventData.java  |   51 +
 .../internal/ZkDiscoveryNodeJoinEventData.java  |   53 +
 .../discovery/zk/internal/ZkEventAckFuture.java |  142 ++
 .../discovery/zk/internal/ZkIgnitePaths.java|  222 +++
 .../zk/internal/ZkJoinEventDataForJoined.java   |   53 +
 .../zk/internal/ZkJoiningNodeData.java  |   61 +
 .../discovery/zk/internal/ZookeeperClient.java  |  816 ++
 .../ZookeeperClientFailedException.java |   30 +
 .../zk/internal/ZookeeperClusterNode.java   |  239 +++
 .../zk/internal/ZookeeperDiscoveryImpl.java | 1454 +
 .../zk/internal/ZookeeperClientTest.java|  404 +
 .../ZookeeperDiscoverySpiBasicTest.java |  994 
 .../testframework/junits/GridAbstractTest.java  |   24 +
 .../zookeeper/ZkTestClientCnxnSocketNIO.java|  131 ++
 .../spi/discovery/zk/ZookeeperDiscoverySpi.java |  293 
 .../discovery/zk/internal/ZkAliveNodeData.java  |   37 -
 .../discovery/zk/internal/ZkClusterNodes.java   |   92 --
 .../zk/internal/ZkDiscoveryCustomEventData.java |   72 -
 .../zk/internal/ZkDiscoveryEventData.java   |  110 --
 .../zk/internal/ZkDiscoveryEventsData.java  |   67 -
 .../internal/ZkDiscoveryNodeFailEventData.java  |   51 -
 .../internal/ZkDiscoveryNodeJoinEventData.java  |   53 -
 .../discovery/zk/internal/ZkEventAckFuture.java |  142 --
 .../discovery/zk/internal/ZkIgnitePaths.java|  137 --
 .../zk/internal/ZkJoinEventDataForJoined.java   |   53 -
 .../zk/internal/ZkJoiningNodeData.java  |   61 -
 .../discovery/zk/internal/ZookeeperClient.java  |  816 --
 .../ZookeeperClientFailedException.java |   30 -
 .../zk/internal/ZookeeperClusterNode.java   |  224 ---
 .../zk/internal/ZookeeperDiscoveryImpl.java | 1455 --
 .../zk/internal/ZookeeperClientTest.java|  404 -
 .../ZookeeperDiscoverySpiBasicTest.java |  994 
 .../zookeeper/ZkTestClientCnxnSocketNIO.java|  131 --
 40 files changed, 5380 insertions(+), 5222 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/42bbed0a/modules/core/pom.xml
--
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
index 622e076..34e6327 100644
--- a/modules/core/pom.xml
+++ b/modules/core/pom.xml
@@ -74,6 +74,21 @@
 ${jetbrains.annotations.version}
 
 
+
+
+org.apache.zookeeper
+zookeeper
+${zookeeper.version}
+
+
+
+org.apache.curator
+curator-test
+${curator.version}
+test
+
+
+
 
 mx4j
 mx4j-tools

http://git-wip-us.apache.org/repos/asf/ignite/blob/42bbed0a/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java
new file mode 100644
index 000..ab59dc4
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java
@@ -0,0 +1,313 @@
+/*
+ * 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
+ * 

[1/2] ignite git commit: zk

2017-11-22 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-zk 93dd7ab79 -> 8bd1e077a


zk


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f5f2060a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f5f2060a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f5f2060a

Branch: refs/heads/ignite-zk
Commit: f5f2060aa6978367d4bf160fd96dc4efa57a7a8c
Parents: 4749d33
Author: sboikov 
Authored: Wed Nov 22 16:13:18 2017 +0300
Committer: sboikov 
Committed: Wed Nov 22 16:20:53 2017 +0300

--
 .../zk/internal/ZkDiscoveryCustomEventData.java |  4 ++
 .../zk/internal/ZookeeperDiscoveryImpl.java | 70 +---
 2 files changed, 51 insertions(+), 23 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/f5f2060a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
--
diff --git 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
index 70e25c7..2e50831 100644
--- 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
+++ 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
@@ -43,6 +43,7 @@ class ZkDiscoveryCustomEventData extends ZkDiscoveryEventData 
{
  * @param topVer Topology version.
  * @param sndNodeId Sender node ID.
  * @param evtPath Event path.
+ * @param ack Acknowledge event flag.
  */
 ZkDiscoveryCustomEventData(long evtId, long topVer, UUID sndNodeId, String 
evtPath, boolean ack) {
 super(evtId, DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT, topVer);
@@ -57,6 +58,9 @@ class ZkDiscoveryCustomEventData extends ZkDiscoveryEventData 
{
 flags |= CUSTOM_MSG_ACK_FLAG;
 }
 
+/**
+ * @return {@code True} for custom event ack message.
+ */
 boolean ackEvent() {
 return flagSet(CUSTOM_MSG_ACK_FLAG);
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/f5f2060a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
--
diff --git 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
index 1466872..1be4017 100644
--- 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
+++ 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
@@ -64,7 +64,7 @@ import static org.apache.zookeeper.CreateMode.PERSISTENT;
  */
 public class ZookeeperDiscoveryImpl {
 /** */
-public static final String IGNITE_ZOOKEEPER_DISCOVERY_SPI_ACK_THRESHOLD = 
"IGNITE_ZOOKEEPER_DISCOVERY_SPI_ACK_THRESHOLD";
+static final String IGNITE_ZOOKEEPER_DISCOVERY_SPI_ACK_THRESHOLD = 
"IGNITE_ZOOKEEPER_DISCOVERY_SPI_ACK_THRESHOLD";
 
 /** */
 private final JdkMarshaller marsh = new JdkMarshaller();
@@ -124,12 +124,12 @@ public class ZookeeperDiscoveryImpl {
 private final int evtsAckThreshold;
 
 /**
- * @param log
- * @param basePath
- * @param clusterName
- * @param locNode
- * @param lsnr
- * @param exchange
+ * @param log Logger.
+ * @param basePath Zookeeper base path node all nodes.
+ * @param clusterName Cluster name (
+ * @param locNode Local node instance.
+ * @param lsnr Discovery events listener.
+ * @param exchange Discovery data exchange.
  */
 public ZookeeperDiscoveryImpl(IgniteLogger log,
 String basePath,
@@ -163,10 +163,16 @@ public class ZookeeperDiscoveryImpl {
 this.evtsAckThreshold = evtsAckThreshold;
 }
 
+/**
+ * @return Logger.
+ */
 IgniteLogger log() {
 return log;
 }
 
+/**
+ * @return Local node instance.
+ */
 public ClusterNode localNode() {
 return locNode;
 }
@@ -181,6 +187,10 @@ public class ZookeeperDiscoveryImpl {
 return top.nodesById.get(nodeId);
 }
 
+/**
+ * @param nodeId Node ID.
+ * @return Ping result.
+ */
 public boolean pingNode(UUID nodeId) {
 // TODO ZK
 return node(nodeId) != null;
@@ -193,6 +203,10 @@ public class ZookeeperDiscoveryImpl {
 return top.remoteNodes();
 }
 
+/**
+ * @param nodeId Node ID.
+ * @return {@code True} if node joined 

[2/2] ignite git commit: Merge remote-tracking branch 'origin/ignite-zk' into ignite-zk

2017-11-22 Thread sboikov
Merge remote-tracking branch 'origin/ignite-zk' into ignite-zk


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8bd1e077
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8bd1e077
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8bd1e077

Branch: refs/heads/ignite-zk
Commit: 8bd1e077aae4cbdd61e3c5ba1dfa1e1f0e18759c
Parents: f5f2060 93dd7ab
Author: sboikov 
Authored: Wed Nov 22 16:22:36 2017 +0300
Committer: sboikov 
Committed: Wed Nov 22 16:22:36 2017 +0300

--
 .../discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java| 4 
 1 file changed, 4 insertions(+)
--




ignite git commit: zk

2017-11-22 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-zk 4749d332c -> 93dd7ab79


zk


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/93dd7ab7
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/93dd7ab7
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/93dd7ab7

Branch: refs/heads/ignite-zk
Commit: 93dd7ab79c6ed38c29a87ca7a676fbfcefd57273
Parents: 4749d33
Author: sboikov 
Authored: Wed Nov 22 16:22:17 2017 +0300
Committer: sboikov 
Committed: Wed Nov 22 16:22:17 2017 +0300

--
 .../discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java| 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/93dd7ab7/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
--
diff --git 
a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
 
b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
index c481b3d..0df9892 100644
--- 
a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
+++ 
b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
@@ -263,6 +263,8 @@ public class ZookeeperDiscoverySpiBasicTest extends 
GridCommonAbstractTest {
 
 stopGrid(1);
 
+waitForTopology(3);
+
 for (Ignite node : G.allGrids()) {
 assertEquals(1, node.cluster().forClients().nodes().size());
 assertEquals(2, node.cluster().forServers().nodes().size());
@@ -270,6 +272,8 @@ public class ZookeeperDiscoverySpiBasicTest extends 
GridCommonAbstractTest {
 
 stopGrid(2);
 
+waitForTopology(2);
+
 for (Ignite node : G.allGrids()) {
 assertEquals(1, node.cluster().forClients().nodes().size());
 assertEquals(1, node.cluster().forServers().nodes().size());



ignite git commit: zk

2017-11-22 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-zk bc297aa4b -> 4749d332c


zk


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/4749d332
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/4749d332
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/4749d332

Branch: refs/heads/ignite-zk
Commit: 4749d332c7ec1b6d24f8a8d0f6d5abf50de5d71d
Parents: bc297aa
Author: sboikov 
Authored: Wed Nov 22 14:27:47 2017 +0300
Committer: sboikov 
Committed: Wed Nov 22 15:45:19 2017 +0300

--
 .../discovery/GridDiscoveryManager.java |  2 +-
 ...niteCacheDistributedQueryCancelSelfTest.java |  2 +-
 .../zk/internal/ZkDiscoveryCustomEventData.java |  2 +-
 .../zk/internal/ZookeeperDiscoveryImpl.java | 18 +---
 .../ZookeeperDiscoverySpiBasicTest.java | 48 
 5 files changed, 62 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/4749d332/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index d70c548..e15df60 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -474,7 +474,7 @@ public class GridDiscoveryManager extends 
GridManagerAdapter {
 
 /** {@inheritDoc} */
 @Override protected void onKernalStart0() throws IgniteCheckedException {
-if (Boolean.TRUE.equals(ctx.config().isClientMode()) && 
!getSpi().isClientMode())
+if ((getSpi() instanceof TcpDiscoverySpi) && 
Boolean.TRUE.equals(ctx.config().isClientMode()) && !getSpi().isClientMode())
 ctx.performance().add("Enable client mode for TcpDiscoverySpi " +
 "(set TcpDiscoverySpi.forceServerMode to false)");
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/4749d332/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCacheDistributedQueryCancelSelfTest.java
--
diff --git 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCacheDistributedQueryCancelSelfTest.java
 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCacheDistributedQueryCancelSelfTest.java
index b9ef1e4..e26b211 100644
--- 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCacheDistributedQueryCancelSelfTest.java
+++ 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCacheDistributedQueryCancelSelfTest.java
@@ -117,7 +117,7 @@ public class IgniteCacheDistributedQueryCancelSelfTest 
extends GridCommonAbstrac
 }
 
 for (Ignite g : G.allGrids())
-if 
(!g.configuration().getDiscoverySpi().isClientMode())
+if (!g.configuration().isClientMode())
 stopGrid(g.name(), true);
 }
 }, 1);

http://git-wip-us.apache.org/repos/asf/ignite/blob/4749d332/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
--
diff --git 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
index 5668428..70e25c7 100644
--- 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
+++ 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
@@ -63,6 +63,6 @@ class ZkDiscoveryCustomEventData extends ZkDiscoveryEventData 
{
 
 /** {@inheritDoc} */
 @Override public String toString() {
-return "CustomEventData [topVer=" + topologyVersion() + ", sndNode=" + 
sndNodeId + ']';
+return "ZkDiscoveryCustomEventData [topVer=" + topologyVersion() + ", 
evtId=" + eventId() + ", sndNode=" + sndNodeId + ']';
 }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/4749d332/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java

ignite git commit: IGNITE-6984: Make cache creation slightly more verbose.

2017-11-22 Thread ntikhonov
Repository: ignite
Updated Branches:
  refs/heads/master 39cc9b7d4 -> 8ba8ba8f2


IGNITE-6984: Make cache creation slightly more verbose.

Signed-off-by: nikolay_tikhonov 


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8ba8ba8f
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8ba8ba8f
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8ba8ba8f

Branch: refs/heads/master
Commit: 8ba8ba8f287fdc095c148649785a36a92b7111f0
Parents: 39cc9b7
Author: Andrey V. Mashenkov 
Authored: Wed Nov 22 14:32:10 2017 +0300
Committer: nikolay_tikhonov 
Committed: Wed Nov 22 14:32:10 2017 +0300

--
 .../ignite/internal/processors/cache/GridCacheProcessor.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/8ba8ba8f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index 59d170c..a052150 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -1129,10 +1129,12 @@ public class GridCacheProcessor extends 
GridProcessorAdapter {
 
 if (log.isInfoEnabled()) {
 log.info("Started cache [name=" + cfg.getName() +
+", id=" + cacheCtx.cacheId() +
 (cfg.getGroupName() != null ? ", group=" + cfg.getGroupName() 
: "") +
 ", memoryPolicyName=" + memPlcName +
 ", mode=" + cfg.getCacheMode() +
-", atomicity=" + cfg.getAtomicityMode() + ']');
+", atomicity=" + cfg.getAtomicityMode() +
+", backups=" + cfg.getBackups() + ']');
 }
 }
 



[2/2] ignite git commit: zk

2017-11-22 Thread sboikov
zk


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/bc297aa4
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/bc297aa4
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/bc297aa4

Branch: refs/heads/ignite-zk
Commit: bc297aa4b47cae1e5cb87e5d7863900c82fa90ce
Parents: 9761a02
Author: sboikov 
Authored: Wed Nov 22 13:48:27 2017 +0300
Committer: sboikov 
Committed: Wed Nov 22 13:48:27 2017 +0300

--
 .../apache/ignite/spi/discovery/zk/internal/ZkIgnitePaths.java   | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/bc297aa4/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkIgnitePaths.java
--
diff --git 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkIgnitePaths.java
 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkIgnitePaths.java
index 591f18d..f0fcaca 100644
--- 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkIgnitePaths.java
+++ 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkIgnitePaths.java
@@ -130,6 +130,8 @@ class ZkIgnitePaths {
 }
 
 String customEventDataPath(boolean ack, String child) {
-return ack ? customEvtsAcksDir : customEvtsDir + "/" + child;
+String baseDir = ack ? customEvtsAcksDir : customEvtsDir;
+
+return baseDir + "/" + child;
 }
 }



[1/2] ignite git commit: zk

2017-11-22 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-zk 6cb8c06f7 -> bc297aa4b


zk


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9761a029
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9761a029
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9761a029

Branch: refs/heads/ignite-zk
Commit: 9761a0294e3978120c471dc7bdaa5ad94bbaf1b3
Parents: 6cb8c06
Author: sboikov 
Authored: Wed Nov 22 13:41:16 2017 +0300
Committer: sboikov 
Committed: Wed Nov 22 13:41:16 2017 +0300

--
 .../discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java| 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/9761a029/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
--
diff --git 
a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
 
b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
index e9e8f68..13e4ace 100644
--- 
a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
+++ 
b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiBasicTest.java
@@ -223,9 +223,9 @@ public class ZookeeperDiscoverySpiBasicTest extends 
GridCommonAbstractTest {
 }
 finally {
 reset();
-}
 
-stopAllGrids();
+stopAllGrids();
+}
 }
 
 /**



ignite git commit: zk

2017-11-22 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-zk a6b452823 -> 6cb8c06f7


zk


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6cb8c06f
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6cb8c06f
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6cb8c06f

Branch: refs/heads/ignite-zk
Commit: 6cb8c06f73ace3030f47ccfe21e2f46d6b054e5f
Parents: a6b4528
Author: sboikov 
Authored: Wed Nov 22 13:28:51 2017 +0300
Committer: sboikov 
Committed: Wed Nov 22 13:39:39 2017 +0300

--
 .../zk/internal/ZookeeperDiscoveryImpl.java |  16 +-
 .../zk/ZookeeperDiscoverySpiBasicTest.java  | 911 --
 .../ZookeeperDiscoverySpiBasicTest.java | 942 +++
 3 files changed, 947 insertions(+), 922 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/6cb8c06f/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
--
diff --git 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
index 5e9c5a3..11c6a6e 100644
--- 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
+++ 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
@@ -322,20 +322,10 @@ public class ZookeeperDiscoveryImpl {
 dirs.add(zkPaths.evtsPath);
 dirs.add(zkPaths.joinDataDir);
 dirs.add(zkPaths.customEvtsDir);
+dirs.add(zkPaths.customEvtsAcksDir);
 dirs.add(zkPaths.aliveNodesDir);
 
 zkClient.createAllIfNeeded(dirs, PERSISTENT);
-//zkClient.createIfNeeded(zkPaths.basePath, null, PERSISTENT);
-//
-//zkClient.createIfNeeded(zkPaths.clusterDir, null, PERSISTENT);
-//
-//zkClient.createIfNeeded(zkPaths.evtsPath, null, PERSISTENT);
-//
-//zkClient.createIfNeeded(zkPaths.joinDataDir, null, PERSISTENT);
-//
-//zkClient.createIfNeeded(zkPaths.customEvtsDir, null, PERSISTENT);
-//
-//zkClient.createIfNeeded(zkPaths.aliveNodesDir, null, PERSISTENT);
 }
 catch (ZookeeperClientFailedException e) {
 throw new IgniteSpiException("Failed to initialize Zookeeper 
nodes", e);
@@ -821,6 +811,10 @@ public class ZookeeperDiscoveryImpl {
 zkClient.deleteAll(zkPaths.customEvtsDir,
 zkClient.getChildren(zkPaths.customEvtsDir),
 -1);
+
+zkClient.deleteAll(zkPaths.customEvtsAcksDir,
+zkClient.getChildren(zkPaths.customEvtsDir),
+-1);
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/6cb8c06f/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpiBasicTest.java
--
diff --git 
a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpiBasicTest.java
 
b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpiBasicTest.java
deleted file mode 100644
index d579c08..000
--- 
a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpiBasicTest.java
+++ /dev/null
@@ -1,911 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.spi.discovery.zk;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.UUID;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.curator.test.TestingCluster;

[13/15] ignite git commit: ignite-6973 Fixed cache deploymentId generation for cache started on activation

2017-11-22 Thread sboikov
ignite-6973 Fixed cache deploymentId generation for cache started on activation


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/39cc9b7d
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/39cc9b7d
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/39cc9b7d

Branch: refs/heads/ignite-zk
Commit: 39cc9b7d469d20151d1f3e97b9212993eba61894
Parents: 99bbb53
Author: sboikov 
Authored: Wed Nov 22 13:18:31 2017 +0300
Committer: sboikov 
Committed: Wed Nov 22 13:18:31 2017 +0300

--
 .../processors/cache/ClusterCachesInfo.java |   4 +-
 ...gnitePdsCacheAssignmentNodeRestartsTest.java | 257 +++
 .../testsuites/IgniteCacheTestSuite6.java   |   3 +-
 3 files changed, 261 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/39cc9b7d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
index 69f1a27..2b5ebf9 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
@@ -1214,7 +1214,7 @@ class ClusterCachesInfo {
 if (storedCfgs != null) {
 List reqs = new ArrayList<>();
 
-IgniteUuid deplymentId = IgniteUuid.fromUuid(msg.requestId());
+IgniteUuid deploymentId = msg.id();
 
 for (StoredCacheData storedCfg : storedCfgs) {
 CacheConfiguration ccfg = storedCfg.config();
@@ -1224,7 +1224,7 @@ class ClusterCachesInfo {
 ccfg.getName(),
 msg.initiatorNodeId());
 
-req.deploymentId(deplymentId);
+req.deploymentId(deploymentId);
 req.startCacheConfiguration(ccfg);
 req.cacheType(ctx.cache().cacheType(ccfg.getName()));
 req.schema(new QuerySchema(storedCfg.queryEntities()));

http://git-wip-us.apache.org/repos/asf/ignite/blob/39cc9b7d/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheAssignmentNodeRestartsTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheAssignmentNodeRestartsTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheAssignmentNodeRestartsTest.java
new file mode 100644
index 000..807f532
--- /dev/null
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheAssignmentNodeRestartsTest.java
@@ -0,0 +1,257 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache.persistence;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.Callable;
+import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.ignite.Ignite;
+import org.apache.ignite.cache.CacheAtomicityMode;
+import org.apache.ignite.cache.CacheMode;
+import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction;
+import org.apache.ignite.cluster.ClusterNode;
+import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.configuration.MemoryConfiguration;
+import org.apache.ignite.configuration.MemoryPolicyConfiguration;
+import org.apache.ignite.configuration.PersistentStoreConfiguration;
+import org.apache.ignite.configuration.WALMode;
+import 

[08/15] ignite git commit: IGNITE-6976 Visor CMD: Task to put/get/remove data to/from caches.

2017-11-22 Thread sboikov
IGNITE-6976 Visor CMD: Task to put/get/remove data to/from caches.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/152104e4
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/152104e4
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/152104e4

Branch: refs/heads/ignite-zk
Commit: 152104e42b31671ab5ee64ba92f6a31a0dc39b42
Parents: 7ae798a
Author: vsisko 
Authored: Tue Nov 21 21:30:03 2017 +0700
Committer: Alexey Kuznetsov 
Committed: Tue Nov 21 21:30:03 2017 +0700

--
 .../visor/cache/VisorCacheModifyTask.java   | 113 ++
 .../visor/cache/VisorCacheModifyTaskArg.java| 114 +++
 .../visor/cache/VisorCacheModifyTaskResult.java | 101 
 .../visor/cache/VisorModifyCacheMode.java   |  47 
 .../internal/visor/query/VisorQueryTask.java|   3 -
 .../internal/visor/query/VisorQueryUtils.java   |  25 ++--
 .../resources/META-INF/classnames.properties|  77 +
 7 files changed, 445 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/152104e4/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheModifyTask.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheModifyTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheModifyTask.java
new file mode 100644
index 000..d6b1ff7
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheModifyTask.java
@@ -0,0 +1,113 @@
+/*
+ * 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.visor.cache;
+
+import java.util.UUID;
+import org.apache.ignite.IgniteCache;
+import org.apache.ignite.cluster.ClusterNode;
+import org.apache.ignite.internal.processors.task.GridInternal;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.visor.VisorJob;
+import org.apache.ignite.internal.visor.VisorOneNodeTask;
+import org.apache.ignite.internal.visor.query.VisorQueryUtils;
+import org.apache.ignite.internal.visor.util.VisorTaskUtils;
+
+/**
+ * Task that modify value in specified cache.
+ */
+@GridInternal
+public class VisorCacheModifyTask extends 
VisorOneNodeTask {
+/** */
+private static final long serialVersionUID = 0L;
+
+/** {@inheritDoc} */
+@Override protected VisorCacheModifyJob job(VisorCacheModifyTaskArg arg) {
+return new VisorCacheModifyJob(arg, debug);
+}
+
+/**
+ * Job that clear specified caches.
+ */
+private static class VisorCacheModifyJob extends 
VisorJob {
+/** */
+private static final long serialVersionUID = 0L;
+
+/**
+ * Create job.
+ *
+ * @param arg Task argument.
+ * @param debug Debug flag.
+ */
+private VisorCacheModifyJob(VisorCacheModifyTaskArg arg, boolean 
debug) {
+super(arg, debug);
+}
+
+/** {@inheritDoc} */
+@Override protected VisorCacheModifyTaskResult run(final 
VisorCacheModifyTaskArg arg) {
+assert arg != null;
+
+VisorModifyCacheMode mode = arg.getMode();
+String cacheName = arg.getCacheName();
+Object key = arg.getKey();
+
+assert mode != null;
+assert cacheName != null;
+assert key != null;
+
+IgniteCache cache = ignite.cache(cacheName);
+
+if (cache == null)
+throw new IllegalArgumentException("Failed to find cache with 
specified name [cacheName=" + arg.getCacheName() + "]");
+
+ClusterNode node = ignite.affinity(cacheName).mapKeyToNode(key);
+
+UUID nid = node != null ? node.id() : null;
+
+switch (mode) {
+ 

[01/15] ignite git commit: IGNITE-6931: SQL: simplify index rebuild. Now both CREATE INDEX and "rebuild from hash" routines use the same iteration and entry locking logic. This closes #3052.

2017-11-22 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-zk 4090eb717 -> a6b452823


IGNITE-6931: SQL: simplify index rebuild. Now both CREATE INDEX and "rebuild 
from hash" routines use the same iteration and entry locking logic. This closes 
#3052.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/65080675
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/65080675
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/65080675

Branch: refs/heads/ignite-zk
Commit: 65080675dec8433c0968762c903905d1f65e5f29
Parents: db343b6
Author: Igor Seliverstov 
Authored: Tue Nov 21 12:26:23 2017 +0300
Committer: devozerov 
Committed: Tue Nov 21 12:26:23 2017 +0300

--
 .../processors/cache/GridCacheEntryEx.java  |  13 +--
 .../processors/cache/GridCacheMapEntry.java |  17 +--
 .../cache/IgniteCacheOffheapManager.java|  19 
 .../cache/IgniteCacheOffheapManagerImpl.java|  21 
 .../persistence/GridCacheOffheapManager.java|   7 --
 .../processors/query/GridQueryProcessor.java|  51 -
 .../query/schema/SchemaIndexCacheFilter.java|  33 ++
 .../schema/SchemaIndexCacheVisitorImpl.java | 108 +--
 .../processors/cache/GridCacheTestEntryEx.java  |  10 +-
 .../processors/query/h2/IgniteH2Indexing.java   |  64 ---
 10 files changed, 166 insertions(+), 177 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/65080675/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 6da7bc7..313a0c7 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
@@ -34,6 +34,7 @@ import 
org.apache.ignite.internal.processors.cache.transactions.IgniteTxKey;
 import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
 import 
org.apache.ignite.internal.processors.cache.version.GridCacheVersionedEntryEx;
 import org.apache.ignite.internal.processors.dr.GridDrType;
+import 
org.apache.ignite.internal.processors.query.schema.SchemaIndexCacheFilter;
 import 
org.apache.ignite.internal.processors.query.schema.SchemaIndexCacheVisitorClosure;
 import org.apache.ignite.internal.util.lang.GridTuple3;
 import org.jetbrains.annotations.Nullable;
@@ -869,12 +870,13 @@ public interface GridCacheEntryEx {
 /**
  * Update index from within entry lock, passing key, value, and expiration 
time to provided closure.
  *
+ * @param filter Row filter.
  * @param clo Closure to apply to key, value, and expiration time.
  * @throws IgniteCheckedException If failed.
  * @throws GridCacheEntryRemovedException If entry was removed.
  */
-public void updateIndex(SchemaIndexCacheVisitorClosure clo) throws 
IgniteCheckedException,
-GridCacheEntryRemovedException;
+public void updateIndex(SchemaIndexCacheFilter filter, 
SchemaIndexCacheVisitorClosure clo)
+throws IgniteCheckedException, GridCacheEntryRemovedException;
 
 /**
  * @return Expire time, without accounting for transactions or removals.
@@ -919,13 +921,6 @@ public interface GridCacheEntryEx {
 public void updateTtl(@Nullable GridCacheVersion ver, long ttl) throws 
GridCacheEntryRemovedException;
 
 /**
- * Ensures that the value stored in the entry is also inserted in the 
indexing.
- *
- * @throws GridCacheEntryRemovedException If entry was removed.
- */
-public void ensureIndexed() throws GridCacheEntryRemovedException, 
IgniteCheckedException;
-
-/**
  * @return Value.
  * @throws IgniteCheckedException If failed to read from swap storage.
  * @throws GridCacheEntryRemovedException If entry was removed.

http://git-wip-us.apache.org/repos/asf/ignite/blob/65080675/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 778a46e..79390ed 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
@@ -60,6 +60,7 @@ import 

[05/15] ignite git commit: IGNITE-6868 Implement new JMX metrics for TcpCommunicationSpi monitoring

2017-11-22 Thread sboikov
IGNITE-6868 Implement new JMX metrics for TcpCommunicationSpi monitoring

Signed-off-by: Anton Vinogradov 


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/58b50413
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/58b50413
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/58b50413

Branch: refs/heads/ignite-zk
Commit: 58b50413622e0059f889f5df062a0d0169d0456f
Parents: 0295518
Author: Aleksey Plekhanov 
Authored: Tue Nov 21 13:56:34 2017 +0300
Committer: Anton Vinogradov 
Committed: Tue Nov 21 13:56:34 2017 +0300

--
 .../tcp/TcpCommunicationMetricsListener.java| 225 +++
 .../communication/tcp/TcpCommunicationSpi.java  | 101 ++---
 .../tcp/TcpCommunicationSpiMBean.java   |  33 +++
 .../tcp/TcpCommunicationStatisticsTest.java | 201 +
 .../IgniteSpiCommunicationSelfTestSuite.java|   3 +
 5 files changed, 527 insertions(+), 36 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/58b50413/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationMetricsListener.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationMetricsListener.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationMetricsListener.java
new file mode 100644
index 000..8981e17
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationMetricsListener.java
@@ -0,0 +1,225 @@
+/*
+ * 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.spi.communication.tcp;
+
+import java.util.Map;
+import java.util.UUID;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import org.apache.ignite.internal.managers.communication.GridIoMessage;
+import org.apache.ignite.internal.util.nio.GridNioMetricsListener;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.plugin.extensions.communication.Message;
+import org.jsr166.LongAdder8;
+
+/**
+ * Statistics for {@link 
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi}.
+ */
+public class TcpCommunicationMetricsListener implements GridNioMetricsListener{
+/** Received messages count. */
+private final LongAdder8 rcvdMsgsCnt = new LongAdder8();
+
+/** Sent messages count.*/
+private final LongAdder8 sentMsgsCnt = new LongAdder8();
+
+/** Received bytes count. */
+private final LongAdder8 rcvdBytesCnt = new LongAdder8();
+
+/** Sent bytes count.*/
+private final LongAdder8 sentBytesCnt = new LongAdder8();
+
+/** Counter factory. */
+private static final Callable LONG_ADDER_FACTORY = new 
Callable() {
+@Override public LongAdder8 call() {
+return new LongAdder8();
+}
+};
+
+/** Received messages count grouped by message type. */
+private final ConcurrentMap rcvdMsgsCntByType = new 
ConcurrentHashMap<>();
+
+/** Received messages count grouped by sender. */
+private final ConcurrentMap rcvdMsgsCntByNode = new 
ConcurrentHashMap<>();
+
+/** Sent messages count grouped by message type. */
+private final ConcurrentMap sentMsgsCntByType = new 
ConcurrentHashMap<>();
+
+/** Sent messages count grouped by receiver. */
+private final ConcurrentMap sentMsgsCntByNode = new 
ConcurrentHashMap<>();
+
+/** {@inheritDoc} */
+@Override public void onBytesSent(int bytesCnt) {
+sentBytesCnt.add(bytesCnt);
+}
+
+/** {@inheritDoc} */
+@Override public void onBytesReceived(int bytesCnt) {
+rcvdBytesCnt.add(bytesCnt);
+}
+
+/**
+ * Collects statistics for message sent by SPI.
+ *
+ * 

[14/15] ignite git commit: zk

2017-11-22 Thread sboikov
zk


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e0aba812
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e0aba812
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e0aba812

Branch: refs/heads/ignite-zk
Commit: e0aba812643c0d773359a95b514daead9730ee6e
Parents: 4090eb7
Author: sboikov 
Authored: Wed Nov 22 11:47:55 2017 +0300
Committer: sboikov 
Committed: Wed Nov 22 13:21:21 2017 +0300

--
 .../zk/internal/ZkDiscoveryCustomEventData.java |  12 +-
 .../zk/internal/ZkDiscoveryEventData.java   |   7 +
 .../discovery/zk/internal/ZkIgnitePaths.java|  11 +-
 .../zk/internal/ZookeeperDiscoveryImpl.java | 226 ---
 .../zk/ZookeeperDiscoverySpiBasicTest.java  |   4 +-
 5 files changed, 177 insertions(+), 83 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/e0aba812/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
--
diff --git 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
index 1346c24..5668428 100644
--- 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
+++ 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryCustomEventData.java
@@ -27,6 +27,9 @@ import 
org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage;
  */
 class ZkDiscoveryCustomEventData extends ZkDiscoveryEventData {
 /** */
+private static final int CUSTOM_MSG_ACK_FLAG = 1;
+
+/** */
 final UUID sndNodeId;
 
 /** */
@@ -41,7 +44,7 @@ class ZkDiscoveryCustomEventData extends ZkDiscoveryEventData 
{
  * @param sndNodeId Sender node ID.
  * @param evtPath Event path.
  */
-ZkDiscoveryCustomEventData(long evtId, long topVer, UUID sndNodeId, String 
evtPath) {
+ZkDiscoveryCustomEventData(long evtId, long topVer, UUID sndNodeId, String 
evtPath, boolean ack) {
 super(evtId, DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT, topVer);
 
 assert sndNodeId != null;
@@ -49,6 +52,13 @@ class ZkDiscoveryCustomEventData extends 
ZkDiscoveryEventData {
 
 this.sndNodeId = sndNodeId;
 this.evtPath = evtPath;
+
+if (ack)
+flags |= CUSTOM_MSG_ACK_FLAG;
+}
+
+boolean ackEvent() {
+return flagSet(CUSTOM_MSG_ACK_FLAG);
 }
 
 /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/e0aba812/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryEventData.java
--
diff --git 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryEventData.java
 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryEventData.java
index 9f18f4f..00330e4 100644
--- 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryEventData.java
+++ 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkDiscoveryEventData.java
@@ -45,6 +45,9 @@ abstract class ZkDiscoveryEventData implements Serializable {
 /** */
 private transient Set remainingAcks;
 
+/** */
+int flags;
+
 /**
  * @param evtType Event type.
  * @param topVer Topology version.
@@ -89,6 +92,10 @@ abstract class ZkDiscoveryEventData implements Serializable {
 return remainingAcks.isEmpty();
 }
 
+boolean flagSet(int flag) {
+return (flags & flag) == flag;
+}
+
 long eventId() {
 return evtId;
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/e0aba812/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkIgnitePaths.java
--
diff --git 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkIgnitePaths.java
 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkIgnitePaths.java
index ad35c05..591f18d 100644
--- 
a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkIgnitePaths.java
+++ 
b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkIgnitePaths.java
@@ -33,6 +33,9 @@ class ZkIgnitePaths {
 private static final String CUSTOM_EVTS_DIR = "customEvts";
 
 /** */
+private static final String CUSTOM_EVTS_ACKS_DIR = "customEvtsAcks";
+
+/** */
 private static final String 

[03/15] ignite git commit: IGNITE-4454. Added duration and node ID in results header and 'Show query' modal.

2017-11-22 Thread sboikov
IGNITE-4454. Added duration and node ID in results header and 'Show query' 
modal.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/31055f21
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/31055f21
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/31055f21

Branch: refs/heads/ignite-zk
Commit: 31055f21753ddc60aa656da131b83d8c29a5e71e
Parents: ed4616e
Author: alexdel 
Authored: Tue Nov 21 17:20:11 2017 +0700
Committer: Alexey Kuznetsov 
Committed: Tue Nov 21 17:20:11 2017 +0700

--
 .../frontend/app/modules/sql/sql.controller.js  |  7 +--
 .../web-console/frontend/views/sql/sql.tpl.pug  | 22 +---
 .../frontend/views/templates/message.tpl.pug|  1 +
 3 files changed, 20 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/31055f21/modules/web-console/frontend/app/modules/sql/sql.controller.js
--
diff --git a/modules/web-console/frontend/app/modules/sql/sql.controller.js 
b/modules/web-console/frontend/app/modules/sql/sql.controller.js
index f5edb04..e97825c 100644
--- a/modules/web-console/frontend/app/modules/sql/sql.controller.js
+++ b/modules/web-console/frontend/app/modules/sql/sql.controller.js
@@ -1421,13 +1421,12 @@ export default ['$rootScope', '$scope', '$http', '$q', 
'$timeout', '$interval',
 const enforceJoinOrder = !!paragraph.enforceJoinOrder;
 const lazy = !!paragraph.lazy;
 
-paragraph.localQueryMode = local;
-
 $scope.queryAvailable(paragraph) && 
_chooseNode(paragraph.cacheName, local)
 .then((nid) => {
 Notebook.save($scope.notebook)
 .catch(Messages.showError);
 
+paragraph.localQueryMode = local;
 paragraph.prevQuery = paragraph.queryArgs ? 
paragraph.queryArgs.query : paragraph.query;
 
 _showLoading(paragraph, true);
@@ -1841,6 +1840,10 @@ export default ['$rootScope', '$scope', '$http', '$q', 
'$timeout', '$interval',
 scope.content = paragraph.queryArgs.query.split(/\r?\n/);
 }
 
+// Attach duration and selected node info
+scope.meta = `Duration: 
${$filter('duration')(paragraph.duration)}.`;
+scope.meta += paragraph.localQueryMode ? ` Node ID8: 
${_.id8(paragraph.resNodeId)}` : '';
+
 // Show a basic modal from a controller
 $modal({scope, templateUrl: messageTemplateUrl, show: true});
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/31055f21/modules/web-console/frontend/views/sql/sql.tpl.pug
--
diff --git a/modules/web-console/frontend/views/sql/sql.tpl.pug 
b/modules/web-console/frontend/views/sql/sql.tpl.pug
index b324622..44989e8 100644
--- a/modules/web-console/frontend/views/sql/sql.tpl.pug
+++ b/modules/web-console/frontend/views/sql/sql.tpl.pug
@@ -32,7 +32,7 @@ mixin result-toolbar
 
 mixin chart-settings
 .total.row
-.col-xs-4
+.col-xs-5
 .chart-settings-link(ng-show='paragraph.chart && 
paragraph.chartColumns.length > 0')
 a(title='Click to show chart settings dialog' 
ng-click='$event.stopPropagation()' bs-popover data-template-url='{{ 
$ctrl.chartSettingsTemplateUrl }}' data-placement='bottom' data-auto-close='1' 
data-trigger='click')
 i.fa.fa-bars
@@ -41,7 +41,11 @@ mixin chart-settings
 label Show
 
button.select-manual-caret.btn.btn-default(ng-model='paragraph.timeLineSpan' 
ng-change='applyChartSettings(paragraph)' bs-options='item for item in 
timeLineSpans' bs-select data-caret-html='')
 label min
-.col-xs-4
+
+div
+label Duration: #[b {{paragraph.duration | duration}}]
+label.margin-left-dflt(ng-show='paragraph.localQueryMode') 
NodeID8: #[b {{paragraph.resNodeId | id8}}]
+.col-xs-2
 +result-toolbar
 
 mixin notebook-rename
@@ -139,16 +143,17 @@ mixin query-actions
 
 mixin table-result-heading-query
 .total.row
-.col-xs-4
+.col-xs-5
 grid-column-selector(grid-api='paragraph.gridOptions.api')
 .fa.fa-bars.icon
 label Page: #[b {{paragraph.page}}]
 label.margin-left-dflt Results so far: #[b {{paragraph.rows.length 
+ paragraph.total}}]
 label.margin-left-dflt Duration: #[b {{paragraph.duration | 
duration}}]
-.col-xs-4
+label.margin-left-dflt(ng-show='paragraph.localQueryMode') 
NodeID8: #[b 

[11/15] ignite git commit: IGNITE-6922 Class cannot undeploy from grid in some specific cases - Fixes #3045.

2017-11-22 Thread sboikov
IGNITE-6922 Class cannot undeploy from grid in some specific cases - Fixes 
#3045.

Signed-off-by: Alexey Goncharuk 


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d2050237
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d2050237
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d2050237

Branch: refs/heads/ignite-zk
Commit: d2050237ee2b760d1c9cbc906b281790fd0976b4
Parents: 08371f5
Author: vd-pyatkov 
Authored: Wed Nov 22 10:39:58 2017 +0300
Committer: Alexey Goncharuk 
Committed: Wed Nov 22 10:39:58 2017 +0300

--
 .../GridDeploymentPerVersionStore.java  |  36 +++---
 modules/core/src/test/config/tests.properties   |   1 +
 .../apache/ignite/p2p/SharedDeploymentTest.java | 128 +++
 .../testsuites/IgniteP2PSelfTestSuite.java  |   2 +
 .../tests/p2p/compute/ExternalCallable.java |  10 +-
 .../tests/p2p/compute/ExternalCallable1.java|  11 +-
 .../tests/p2p/compute/ExternalCallable2.java|  11 +-
 .../tests/p2p/compute/ExternalCallable.java |  59 +
 .../tests/p2p/compute/ExternalCallable1.java|  59 +
 .../tests/p2p/compute/ExternalCallable2.java|  59 +
 10 files changed, 348 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/d2050237/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java
index 070b390..8447c97 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeploymentPerVersionStore.java
@@ -376,31 +376,33 @@ public class GridDeploymentPerVersionStore extends 
GridDeploymentStoreAdapter {
 
 // Find existing deployments that need to be checked
 // whether they should be reused for this request.
-for (SharedDeployment d : deps) {
-if (!d.pendingUndeploy() && !d.undeployed()) {
-Map parties = 
d.participants();
+if (ctx.config().getDeploymentMode() == CONTINUOUS) {
+for (SharedDeployment d : deps) {
+if (!d.pendingUndeploy() && !d.undeployed()) {
+Map parties = 
d.participants();
 
-if (parties != null) {
-IgniteUuid ldrId = 
parties.get(meta.senderNodeId());
+if (parties != null) {
+IgniteUuid ldrId = 
parties.get(meta.senderNodeId());
 
-if (ldrId != null) {
-assert 
!ldrId.equals(meta.classLoaderId());
+if (ldrId != null) {
+assert 
!ldrId.equals(meta.classLoaderId());
 
-if (log.isDebugEnabled())
-log.debug("Skipping deployment 
(loaders on remote node are different) " +
-"[dep=" + d + ", meta=" + meta 
+ ']');
+if (log.isDebugEnabled())
+log.debug("Skipping deployment 
(loaders on remote node are different) " +
+"[dep=" + d + ", meta=" + 
meta + ']');
 
-continue;
+continue;
+}
 }
-}
 
-if (depsToCheck == null)
-depsToCheck = new LinkedList<>();
+if (depsToCheck == null)
+depsToCheck = new LinkedList<>();
 
-if (log.isDebugEnabled())
-log.debug("Adding deployment to check: " + 
d);
+if (log.isDebugEnabled())
+log.debug("Adding deployment to check: 
" + d);
 
-

[06/15] ignite git commit: IGNITE-6914. Web Console: Exporting large CSV files via file-saver library.

2017-11-22 Thread sboikov
IGNITE-6914. Web Console: Exporting large CSV files via file-saver library.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/fe6bbab9
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/fe6bbab9
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/fe6bbab9

Branch: refs/heads/ignite-zk
Commit: fe6bbab9aae4efaae84ed9ea0dd908f36c74f9c5
Parents: 58b5041
Author: alexdel 
Authored: Tue Nov 21 20:15:32 2017 +0700
Committer: Alexey Kuznetsov 
Committed: Tue Nov 21 20:15:32 2017 +0700

--
 modules/web-console/frontend/app/app.js   | 18 +-
 .../frontend/app/modules/sql/sql.controller.js|  4 ++--
 .../frontend/app/services/LegacyUtils.service.js  | 18 +-
 modules/web-console/frontend/package.json |  2 +-
 .../web-console/frontend/views/sql/sql.tpl.pug|  4 ++--
 5 files changed, 19 insertions(+), 27 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/fe6bbab9/modules/web-console/frontend/app/app.js
--
diff --git a/modules/web-console/frontend/app/app.js 
b/modules/web-console/frontend/app/app.js
index 44454f6..ca678fc 100644
--- a/modules/web-console/frontend/app/app.js
+++ b/modules/web-console/frontend/app/app.js
@@ -142,23 +142,23 @@ angular.module('ignite-console', [
 'ngAnimate',
 'ngSanitize',
 // Third party libs.
-'ngRetina',
 'btford.socket-io',
-'mgcrea.ngStrap',
-'ui.router',
-'ui.router.state.events',
-'gridster',
 'dndLists',
+'gridster',
+'mgcrea.ngStrap',
+'ngRetina',
 'nvd3',
+'pascalprecht.translate',
 'smart-table',
 'treeControl',
-'pascalprecht.translate',
 'ui.grid',
-'ui.grid.saveState',
-'ui.grid.selection',
-'ui.grid.resizeColumns',
 'ui.grid.autoResize',
 'ui.grid.exporter',
+'ui.grid.resizeColumns',
+'ui.grid.saveState',
+'ui.grid.selection',
+'ui.router',
+'ui.router.state.events',
 // Base modules.
 'ignite-console.core',
 'ignite-console.ace',

http://git-wip-us.apache.org/repos/asf/ignite/blob/fe6bbab9/modules/web-console/frontend/app/modules/sql/sql.controller.js
--
diff --git a/modules/web-console/frontend/app/modules/sql/sql.controller.js 
b/modules/web-console/frontend/app/modules/sql/sql.controller.js
index e97825c..ea0a06d 100644
--- a/modules/web-console/frontend/app/modules/sql/sql.controller.js
+++ b/modules/web-console/frontend/app/modules/sql/sql.controller.js
@@ -1652,7 +1652,7 @@ export default ['$rootScope', '$scope', '$http', '$q', 
'$timeout', '$interval',
 csvContent += cols.join(';') + '\n';
 });
 
-LegacyUtils.download('application/octet-stream;charset=utf-8', 
fileName, escape(csvContent));
+LegacyUtils.download('text/csv', fileName, csvContent);
 };
 
 /**
@@ -1767,7 +1767,7 @@ export default ['$rootScope', '$scope', '$http', '$q', 
'$timeout', '$interval',
 };
 
 $scope.scanAvailable = function(paragraph) {
-return $scope.caches.length && !paragraph.loading;
+return $scope.caches.length && !(paragraph.loading || 
paragraph.csvIsPreparing);
 };
 
 $scope.scanTooltip = function(paragraph) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/fe6bbab9/modules/web-console/frontend/app/services/LegacyUtils.service.js
--
diff --git a/modules/web-console/frontend/app/services/LegacyUtils.service.js 
b/modules/web-console/frontend/app/services/LegacyUtils.service.js
index be593b0..b19bde3 100644
--- a/modules/web-console/frontend/app/services/LegacyUtils.service.js
+++ b/modules/web-console/frontend/app/services/LegacyUtils.service.js
@@ -15,6 +15,8 @@
  * limitations under the License.
  */
 
+import saver from 'file-saver';
+
 // TODO: Refactor this service for legacy tables with more than one input 
field.
 export default ['IgniteLegacyUtils', ['IgniteErrorPopover', (ErrorPopover) => {
 function isDefined(v) {
@@ -351,20 +353,10 @@ export default ['IgniteLegacyUtils', 
['IgniteErrorPopover', (ErrorPopover) => {
 return !isEmpty;
 },
 domainForStoreConfigured,
-download(type, name, data) {
-const file = document.createElement('a');
-
-file.setAttribute('href', 'data:' + type + ';charset=utf-8,' + 
data);
-file.setAttribute('download', name);
-file.setAttribute('target', '_self');
-
-file.style.display = 'none';
-
-document.body.appendChild(file);
-
-file.click();
+

[10/15] ignite git commit: IGNITE-5641 Web Console: Added "Copy to clipboard" action on Queries screen.

2017-11-22 Thread sboikov
IGNITE-5641 Web Console: Added "Copy to clipboard" action on Queries screen.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/08371f59
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/08371f59
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/08371f59

Branch: refs/heads/ignite-zk
Commit: 08371f5989730438b6dca2ddc6971c9b137fcdd2
Parents: df48356
Author: alexdel 
Authored: Tue Nov 21 22:25:47 2017 +0700
Committer: Alexey Kuznetsov 
Committed: Tue Nov 21 22:25:47 2017 +0700

--
 .../frontend/app/modules/sql/sql.controller.js   | 15 +++
 modules/web-console/frontend/views/sql/sql.tpl.pug   |  6 --
 2 files changed, 15 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/08371f59/modules/web-console/frontend/app/modules/sql/sql.controller.js
--
diff --git a/modules/web-console/frontend/app/modules/sql/sql.controller.js 
b/modules/web-console/frontend/app/modules/sql/sql.controller.js
index ea0a06d..a2ad912 100644
--- a/modules/web-console/frontend/app/modules/sql/sql.controller.js
+++ b/modules/web-console/frontend/app/modules/sql/sql.controller.js
@@ -214,8 +214,8 @@ class Paragraph {
 }
 
 // Controller for SQL notebook screen.
-export default ['$rootScope', '$scope', '$http', '$q', '$timeout', 
'$interval', '$animate', '$location', '$anchorScroll', '$state', '$filter', 
'$modal', '$popover', 'IgniteLoading', 'IgniteLegacyUtils', 'IgniteMessages', 
'IgniteConfirm', 'AgentManager', 'IgniteChartColors', 'IgniteNotebook', 
'IgniteNodes', 'uiGridExporterConstants', 'IgniteVersion', 
'IgniteActivitiesData', 'JavaTypes',
-function($root, $scope, $http, $q, $timeout, $interval, $animate, 
$location, $anchorScroll, $state, $filter, $modal, $popover, Loading, 
LegacyUtils, Messages, Confirm, agentMgr, IgniteChartColors, Notebook, Nodes, 
uiGridExporterConstants, Version, ActivitiesData, JavaTypes) {
+export default ['$rootScope', '$scope', '$http', '$q', '$timeout', 
'$interval', '$animate', '$location', '$anchorScroll', '$state', '$filter', 
'$modal', '$popover', 'IgniteLoading', 'IgniteLegacyUtils', 'IgniteMessages', 
'IgniteConfirm', 'AgentManager', 'IgniteChartColors', 'IgniteNotebook', 
'IgniteNodes', 'uiGridExporterConstants', 'IgniteVersion', 
'IgniteActivitiesData', 'JavaTypes', 'IgniteCopyToClipboard',
+function($root, $scope, $http, $q, $timeout, $interval, $animate, 
$location, $anchorScroll, $state, $filter, $modal, $popover, Loading, 
LegacyUtils, Messages, Confirm, agentMgr, IgniteChartColors, Notebook, Nodes, 
uiGridExporterConstants, Version, ActivitiesData, JavaTypes, 
IgniteCopyToClipboard) {
 const $ctrl = this;
 
 // Define template urls.
@@ -1613,7 +1613,7 @@ export default ['$rootScope', '$scope', '$http', '$q', 
'$timeout', '$interval',
 .then(() => paragraph.ace && paragraph.ace.focus());
 };
 
-const _export = (fileName, columnDefs, meta, rows) => {
+const _export = (fileName, columnDefs, meta, rows, toClipBoard = 
false) => {
 let csvContent = '';
 
 const cols = [];
@@ -1652,7 +1652,10 @@ export default ['$rootScope', '$scope', '$http', '$q', 
'$timeout', '$interval',
 csvContent += cols.join(';') + '\n';
 });
 
-LegacyUtils.download('text/csv', fileName, csvContent);
+if (toClipBoard)
+IgniteCopyToClipboard.copy(csvContent);
+else
+LegacyUtils.download('text/csv', fileName, csvContent);
 };
 
 /**
@@ -1671,6 +1674,10 @@ export default ['$rootScope', '$scope', '$http', '$q', 
'$timeout', '$interval',
 return `export-query-${paragraph.name}${all ? '-all' : ''}.csv`;
 };
 
+$scope.exportCsvToClipBoard = (paragraph) => {
+_export(exportFileName(paragraph, false), 
paragraph.gridOptions.columnDefs, paragraph.meta, paragraph.rows, true);
+};
+
 $scope.exportCsv = function(paragraph) {
 _export(exportFileName(paragraph, false), 
paragraph.gridOptions.columnDefs, paragraph.meta, paragraph.rows);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/08371f59/modules/web-console/frontend/views/sql/sql.tpl.pug
--
diff --git a/modules/web-console/frontend/views/sql/sql.tpl.pug 
b/modules/web-console/frontend/views/sql/sql.tpl.pug
index a53a082..7714235 100644
--- a/modules/web-console/frontend/views/sql/sql.tpl.pug
+++ b/modules/web-console/frontend/views/sql/sql.tpl.pug
@@ -171,7 +171,7 @@ mixin table-result-heading-query
 

[09/15] ignite git commit: IGNITE-4394 Web Console: Fixed memory leak in Messages.service.

2017-11-22 Thread sboikov
IGNITE-4394 Web Console: Fixed memory leak in Messages.service.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/df48356d
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/df48356d
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/df48356d

Branch: refs/heads/ignite-zk
Commit: df48356de7bb8bb9d4360b8b0b8ef4497b83383c
Parents: 152104e
Author: alexdel 
Authored: Tue Nov 21 22:08:25 2017 +0700
Committer: Alexey Kuznetsov 
Committed: Tue Nov 21 22:08:25 2017 +0700

--
 modules/web-console/frontend/app/services/Messages.service.js | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/df48356d/modules/web-console/frontend/app/services/Messages.service.js
--
diff --git a/modules/web-console/frontend/app/services/Messages.service.js 
b/modules/web-console/frontend/app/services/Messages.service.js
index 854cf0b..523adae 100644
--- a/modules/web-console/frontend/app/services/Messages.service.js
+++ b/modules/web-console/frontend/app/services/Messages.service.js
@@ -44,8 +44,11 @@ export default ['IgniteMessages', ['$alert', ($alert) => {
 };
 
 const hideAlert = () => {
-if (msgModal)
+if (msgModal) {
 msgModal.hide();
+msgModal.destroy();
+msgModal = null;
+}
 };
 
 const _showMessage = (message, err, type, duration) => {



[07/15] ignite git commit: IGNITE-6963 TotalAllocatedPages metric does not match PhysicalMemoryPages when persistence is disabled

2017-11-22 Thread sboikov
IGNITE-6963 TotalAllocatedPages metric does not match PhysicalMemoryPages when 
persistence is disabled

Signed-off-by: Anton Vinogradov 


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/7ae798af
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/7ae798af
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/7ae798af

Branch: refs/heads/ignite-zk
Commit: 7ae798afe6eda53e720b7164094ad7679b00e97a
Parents: fe6bbab
Author: Andrey Kuznetsov 
Authored: Tue Nov 21 16:59:22 2017 +0300
Committer: Anton Vinogradov 
Committed: Tue Nov 21 16:59:22 2017 +0300

--
 .../processors/cache/persistence/DataRegionMetricsImpl.java | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/7ae798af/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/DataRegionMetricsImpl.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/DataRegionMetricsImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/DataRegionMetricsImpl.java
index 471ac94..ef148ba 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/DataRegionMetricsImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/DataRegionMetricsImpl.java
@@ -160,7 +160,10 @@ public class DataRegionMetricsImpl implements 
DataRegionMetrics {
 
 /** {@inheritDoc} */
 @Override public long getPhysicalMemoryPages() {
-if (!metricsEnabled || !persistenceEnabled)
+if (!persistenceEnabled)
+return getTotalAllocatedPages();
+
+if (!metricsEnabled)
 return 0;
 
 assert pageMem != null;



[04/15] ignite git commit: IGNITE-6869 Implement new JMX metric for jobs monitoring

2017-11-22 Thread sboikov
IGNITE-6869 Implement new JMX metric for jobs monitoring

Signed-off-by: Anton Vinogradov 


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0295518b
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0295518b
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0295518b

Branch: refs/heads/ignite-zk
Commit: 0295518bac9f9431351f8f7e7b9d2148ee70417d
Parents: 31055f2
Author: Aleksey Plekhanov 
Authored: Tue Nov 21 13:39:20 2017 +0300
Committer: Anton Vinogradov 
Committed: Tue Nov 21 13:39:20 2017 +0300

--
 .../apache/ignite/cluster/ClusterMetrics.java   |  12 +-
 .../ClusterLocalNodeMetricsMXBeanImpl.java  |  11 +-
 .../internal/ClusterMetricsMXBeanImpl.java  | 360 +++
 .../ignite/internal/ClusterMetricsSnapshot.java |  37 +-
 .../apache/ignite/internal/IgniteKernal.java|  40 ++-
 .../discovery/GridDiscoveryManager.java |   1 +
 .../processors/jobmetrics/GridJobMetrics.java   |  21 +-
 .../jobmetrics/GridJobMetricsProcessor.java |   9 +-
 .../mxbean/ClusterLocalNodeMetricsMXBean.java   | 253 -
 .../ignite/mxbean/ClusterMetricsMXBean.java | 257 +
 .../internal/ClusterNodeMetricsSelfTest.java|   4 +-
 ...ClusterMetricsSnapshotSerializeSelfTest.java |   8 +-
 12 files changed, 734 insertions(+), 279 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/0295518b/modules/core/src/main/java/org/apache/ignite/cluster/ClusterMetrics.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cluster/ClusterMetrics.java 
b/modules/core/src/main/java/org/apache/ignite/cluster/ClusterMetrics.java
index 7dd4707..74e98b8 100644
--- a/modules/core/src/main/java/org/apache/ignite/cluster/ClusterMetrics.java
+++ b/modules/core/src/main/java/org/apache/ignite/cluster/ClusterMetrics.java
@@ -225,6 +225,16 @@ public interface ClusterMetrics {
 public int getTotalExecutedJobs();
 
 /**
+ * Gets total time all finished jobs takes to execute on the node since 
node startup.
+ * 
+ * Note: Unlike most of other aggregation metrics this metric is 
not calculated over history
+ * but over the entire node life.
+ *
+ * @return Total jobs execution time.
+ */
+public long getTotalJobsExecutionTime();
+
+/**
  * Gets maximum time a job ever spent waiting in a queue to be executed.
  * 
  * Note: all aggregated metrics like average, minimum, maximum, 
total, count are
@@ -684,4 +694,4 @@ public interface ClusterMetrics {
  * @return Total number of nodes.
  */
 public int getTotalNodes();
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/0295518b/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalNodeMetricsMXBeanImpl.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalNodeMetricsMXBeanImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalNodeMetricsMXBeanImpl.java
index ef81c6a..263c20a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalNodeMetricsMXBeanImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalNodeMetricsMXBeanImpl.java
@@ -19,12 +19,12 @@ package org.apache.ignite.internal;
 
 import org.apache.ignite.cluster.ClusterNode;
 import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.mxbean.ClusterLocalNodeMetricsMXBean;
+import org.apache.ignite.mxbean.ClusterMetricsMXBean;
 
 /**
  * Local node metrics MBean.
  */
-public class ClusterLocalNodeMetricsMXBeanImpl implements 
ClusterLocalNodeMetricsMXBean {
+public class ClusterLocalNodeMetricsMXBeanImpl implements ClusterMetricsMXBean 
{
 /** Grid node. */
 private final ClusterNode node;
 
@@ -263,6 +263,11 @@ public class ClusterLocalNodeMetricsMXBeanImpl implements 
ClusterLocalNodeMetric
 }
 
 /** {@inheritDoc} */
+@Override public long getTotalJobsExecutionTime() {
+return node.metrics().getTotalJobsExecutionTime();
+}
+
+/** {@inheritDoc} */
 @Override public long getTotalIdleTime() {
 return node.metrics().getTotalIdleTime();
 }
@@ -321,4 +326,4 @@ public class ClusterLocalNodeMetricsMXBeanImpl implements 
ClusterLocalNodeMetric
 @Override public String toString() {
 return S.toString(ClusterLocalNodeMetricsMXBeanImpl.class, this);
 }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/0295518b/modules/core/src/main/java/org/apache/ignite/internal/ClusterMetricsMXBeanImpl.java

[15/15] ignite git commit: Merge remote-tracking branch 'remotes/origin/master' into ignite-zk

2017-11-22 Thread sboikov
Merge remote-tracking branch 'remotes/origin/master' into ignite-zk


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a6b45282
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a6b45282
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a6b45282

Branch: refs/heads/ignite-zk
Commit: a6b452823422290e19238238e119f5aaad87b6af
Parents: e0aba81 39cc9b7
Author: sboikov 
Authored: Wed Nov 22 13:22:14 2017 +0300
Committer: sboikov 
Committed: Wed Nov 22 13:22:14 2017 +0300

--
 .../apache/ignite/cluster/ClusterMetrics.java   |  12 +-
 .../ClusterLocalNodeMetricsMXBeanImpl.java  |  11 +-
 .../internal/ClusterMetricsMXBeanImpl.java  | 360 +++
 .../ignite/internal/ClusterMetricsSnapshot.java |  37 +-
 .../apache/ignite/internal/IgniteKernal.java|  40 ++-
 .../GridDeploymentPerVersionStore.java  |  36 +-
 .../discovery/GridDiscoveryManager.java |   1 +
 .../processors/cache/ClusterCachesInfo.java |   4 +-
 .../processors/cache/GridCacheEntryEx.java  |  13 +-
 .../processors/cache/GridCacheMapEntry.java |  17 +-
 .../cache/IgniteCacheOffheapManager.java|  19 -
 .../cache/IgniteCacheOffheapManagerImpl.java|  21 --
 .../persistence/DataRegionMetricsImpl.java  |   5 +-
 .../persistence/GridCacheOffheapManager.java|   7 -
 .../wal/FileWriteAheadLogManager.java   |   4 +-
 .../datastructures/DataStructuresProcessor.java |  18 +-
 .../processors/jobmetrics/GridJobMetrics.java   |  21 +-
 .../jobmetrics/GridJobMetricsProcessor.java |   9 +-
 .../processors/query/GridQueryProcessor.java|  51 ++-
 .../query/schema/SchemaIndexCacheFilter.java|  33 ++
 .../schema/SchemaIndexCacheVisitorImpl.java | 108 +++---
 .../visor/cache/VisorCacheModifyTask.java   | 113 ++
 .../visor/cache/VisorCacheModifyTaskArg.java| 114 ++
 .../visor/cache/VisorCacheModifyTaskResult.java | 101 ++
 .../visor/cache/VisorModifyCacheMode.java   |  47 +++
 .../internal/visor/query/VisorQueryTask.java|   3 -
 .../internal/visor/query/VisorQueryUtils.java   |  25 +-
 .../mxbean/ClusterLocalNodeMetricsMXBean.java   | 253 -
 .../ignite/mxbean/ClusterMetricsMXBean.java | 257 +
 .../tcp/TcpCommunicationMetricsListener.java| 225 
 .../communication/tcp/TcpCommunicationSpi.java  | 101 --
 .../tcp/TcpCommunicationSpiMBean.java   |  33 ++
 .../resources/META-INF/classnames.properties|  77 ++--
 modules/core/src/test/config/tests.properties   |   1 +
 .../internal/ClusterNodeMetricsSelfTest.java|   4 +-
 .../IgniteClientReconnectCollectionsTest.java   | 131 +++
 .../processors/cache/GridCacheTestEntryEx.java  |  10 +-
 ...gnitePdsCacheAssignmentNodeRestartsTest.java | 257 +
 .../wal/IgniteWalFlushBackgroundSelfTest.java   |  35 ++
 .../db/wal/IgniteWalFlushDefaultSelfTest.java   |  35 ++
 .../db/wal/IgniteWalFlushLogOnlySelfTest.java   |  35 ++
 ...lFlushMultiNodeFailoverAbstractSelfTest.java | 246 +
 .../apache/ignite/p2p/SharedDeploymentTest.java | 128 +++
 .../tcp/TcpCommunicationStatisticsTest.java | 201 +++
 ...ClusterMetricsSnapshotSerializeSelfTest.java |   8 +-
 .../testsuites/IgniteCacheTestSuite6.java   |   3 +-
 .../testsuites/IgniteP2PSelfTestSuite.java  |   2 +
 .../ignite/testsuites/IgnitePdsTestSuite2.java  |   9 +
 .../IgniteSpiCommunicationSelfTestSuite.java|   3 +
 .../tests/p2p/compute/ExternalCallable.java |  10 +-
 .../tests/p2p/compute/ExternalCallable1.java|  11 +-
 .../tests/p2p/compute/ExternalCallable2.java|  11 +-
 .../tests/p2p/compute/ExternalCallable.java |  59 +++
 .../tests/p2p/compute/ExternalCallable1.java|  59 +++
 .../tests/p2p/compute/ExternalCallable2.java|  59 +++
 .../processors/query/h2/IgniteH2Indexing.java   |  64 ++--
 modules/web-console/frontend/app/app.js |  18 +-
 .../frontend/app/modules/sql/sql.controller.js  |  24 +-
 .../app/services/LegacyUtils.service.js |  18 +-
 .../frontend/app/services/Messages.service.js   |   5 +-
 modules/web-console/frontend/package.json   |   2 +-
 .../web-console/frontend/views/sql/sql.tpl.pug  |  32 +-
 .../frontend/views/templates/message.tpl.pug|   1 +
 63 files changed, 2973 insertions(+), 684 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/a6b45282/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
--

http://git-wip-us.apache.org/repos/asf/ignite/blob/a6b45282/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java

[02/15] ignite git commit: IGNITE-6437: DataStructure can not be obtained on client if it is created on server node

2017-11-22 Thread sboikov
IGNITE-6437: DataStructure can not be obtained on client if it is created on 
server node


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ed4616e2
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ed4616e2
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ed4616e2

Branch: refs/heads/ignite-zk
Commit: ed4616e2d39b21c3ba5899a8eb112496dcd28ef5
Parents: 6508067
Author: Evgeny Stanilovskiy 
Authored: Tue Nov 21 13:12:21 2017 +0300
Committer: sboikov 
Committed: Tue Nov 21 13:12:21 2017 +0300

--
 .../datastructures/DataStructuresProcessor.java |  18 ++-
 .../IgniteClientReconnectCollectionsTest.java   | 131 ---
 2 files changed, 69 insertions(+), 80 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/ed4616e2/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
index 33a2fd2..b26acdd 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
@@ -55,6 +55,7 @@ import 
org.apache.ignite.internal.cluster.ClusterTopologyServerNotFoundException
 import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
 import org.apache.ignite.internal.processors.GridProcessorAdapter;
 import org.apache.ignite.internal.processors.cache.CacheType;
+import org.apache.ignite.internal.processors.cache.DynamicCacheDescriptor;
 import org.apache.ignite.internal.processors.cache.GridCacheAdapter;
 import org.apache.ignite.internal.processors.cache.GridCacheContext;
 import org.apache.ignite.internal.processors.cache.GridCacheInternal;
@@ -952,6 +953,7 @@ public final class DataStructuresProcessor extends 
GridProcessorAdapter implemen
 
 assert name != null;
 assert type.isCollection() : type;
+assert !create || cfg != null;
 
 if (grpName == null) {
 if (cfg != null && cfg.getGroupName() != null)
@@ -960,17 +962,23 @@ public final class DataStructuresProcessor extends 
GridProcessorAdapter implemen
 grpName = DEFAULT_DS_GROUP_NAME;
 }
 
-assert !create || cfg != null;
-
 final String metaCacheName = ATOMICS_CACHE_NAME + "@" + grpName;
 
 IgniteInternalCache 
metaCache0 = ctx.cache().cache(metaCacheName);
 
 if (metaCache0 == null) {
-if (!create)
-return null;
+CacheConfiguration ccfg = null;
+
+if (!create) {
+DynamicCacheDescriptor desc = 
ctx.cache().cacheDescriptor(metaCacheName);
+
+if (desc == null)
+return null;
+}
+else
+ccfg = metaCacheConfiguration(cfg, metaCacheName, grpName);
 
-ctx.cache().dynamicStartCache(metaCacheConfiguration(cfg, 
metaCacheName, grpName),
+ctx.cache().dynamicStartCache(ccfg,
 metaCacheName,
 null,
 CacheType.DATA_STRUCTURES,

http://git-wip-us.apache.org/repos/asf/ignite/blob/ed4616e2/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
index 8ee669c..3f0e33d 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCollectionsTest.java
@@ -38,6 +38,20 @@ import static org.apache.ignite.cache.CacheMode.PARTITIONED;
  *
  */
 public class IgniteClientReconnectCollectionsTest extends 
IgniteClientReconnectAbstractTest {
+/** */
+private static final CollectionConfiguration TX_CFGS = new 
CollectionConfiguration();
+
+/** */
+private static final CollectionConfiguration ATOMIC_CONF = new 
CollectionConfiguration();
+
+static {
+TX_CFGS.setCacheMode(PARTITIONED);
+TX_CFGS.setAtomicityMode(TRANSACTIONAL);
+
+ATOMIC_CONF.setCacheMode(PARTITIONED);
+ATOMIC_CONF.setAtomicityMode(ATOMIC);
+}
+

[12/15] ignite git commit: IGNITE-6916: node joining with enabled pds and empty disc space causes exchange to hang - Fixes #3036.

2017-11-22 Thread sboikov
IGNITE-6916: node joining with enabled pds and empty disc space causes exchange 
to hang - Fixes #3036.

Signed-off-by: Alexey Goncharuk 


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/99bbb53a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/99bbb53a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/99bbb53a

Branch: refs/heads/ignite-zk
Commit: 99bbb53aded605e7729df59dac1ee04916cee31b
Parents: d205023
Author: Evgeny Stanilovskiy 
Authored: Wed Nov 22 10:53:15 2017 +0300
Committer: Alexey Goncharuk 
Committed: Wed Nov 22 10:53:15 2017 +0300

--
 .../wal/FileWriteAheadLogManager.java   |   4 +-
 .../wal/IgniteWalFlushBackgroundSelfTest.java   |  35 +++
 .../db/wal/IgniteWalFlushDefaultSelfTest.java   |  35 +++
 .../db/wal/IgniteWalFlushLogOnlySelfTest.java   |  35 +++
 ...lFlushMultiNodeFailoverAbstractSelfTest.java | 246 +++
 .../ignite/testsuites/IgnitePdsTestSuite2.java  |   9 +
 6 files changed, 362 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/99bbb53a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
index b4fc192..3d8d78f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
@@ -50,6 +50,7 @@ import org.apache.ignite.events.EventType;
 import org.apache.ignite.events.WalSegmentArchivedEvent;
 import org.apache.ignite.internal.GridKernalContext;
 import org.apache.ignite.internal.IgniteInterruptedCheckedException;
+import org.apache.ignite.internal.IgnitionEx;
 import 
org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager;
 import org.apache.ignite.internal.pagemem.wal.IgniteWriteAheadLogManager;
 import org.apache.ignite.internal.pagemem.wal.StorageException;
@@ -75,7 +76,6 @@ import 
org.apache.ignite.internal.processors.timeout.GridTimeoutObject;
 import org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor;
 import org.apache.ignite.internal.util.GridUnsafe;
 import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.util.typedef.G;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.internal.util.typedef.internal.SB;
 import org.apache.ignite.internal.util.typedef.internal.U;
@@ -2399,7 +2399,7 @@ public class FileWriteAheadLogManager extends 
GridCacheSharedManagerAdapter impl
 
 new Thread() {
 @Override public void run() {
-G.stop(gridName, true);
+IgnitionEx.stop(gridName, true, true);
 }
 }.start();
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/99bbb53a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalFlushBackgroundSelfTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalFlushBackgroundSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalFlushBackgroundSelfTest.java
new file mode 100644
index 000..d359a5c
--- /dev/null
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgniteWalFlushBackgroundSelfTest.java
@@ -0,0 +1,35 @@
+/*
+ * 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 

[ignite] Git Push Summary

2017-11-22 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/ignite-6973 [deleted] 81499e7a5


ignite git commit: ignite-6973 Fixed cache deploymentId generation for cache started on activation

2017-11-22 Thread sboikov
Repository: ignite
Updated Branches:
  refs/heads/master 99bbb53ad -> 39cc9b7d4


ignite-6973 Fixed cache deploymentId generation for cache started on activation


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/39cc9b7d
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/39cc9b7d
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/39cc9b7d

Branch: refs/heads/master
Commit: 39cc9b7d469d20151d1f3e97b9212993eba61894
Parents: 99bbb53
Author: sboikov 
Authored: Wed Nov 22 13:18:31 2017 +0300
Committer: sboikov 
Committed: Wed Nov 22 13:18:31 2017 +0300

--
 .../processors/cache/ClusterCachesInfo.java |   4 +-
 ...gnitePdsCacheAssignmentNodeRestartsTest.java | 257 +++
 .../testsuites/IgniteCacheTestSuite6.java   |   3 +-
 3 files changed, 261 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ignite/blob/39cc9b7d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
--
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
index 69f1a27..2b5ebf9 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/ClusterCachesInfo.java
@@ -1214,7 +1214,7 @@ class ClusterCachesInfo {
 if (storedCfgs != null) {
 List reqs = new ArrayList<>();
 
-IgniteUuid deplymentId = IgniteUuid.fromUuid(msg.requestId());
+IgniteUuid deploymentId = msg.id();
 
 for (StoredCacheData storedCfg : storedCfgs) {
 CacheConfiguration ccfg = storedCfg.config();
@@ -1224,7 +1224,7 @@ class ClusterCachesInfo {
 ccfg.getName(),
 msg.initiatorNodeId());
 
-req.deploymentId(deplymentId);
+req.deploymentId(deploymentId);
 req.startCacheConfiguration(ccfg);
 req.cacheType(ctx.cache().cacheType(ccfg.getName()));
 req.schema(new QuerySchema(storedCfg.queryEntities()));

http://git-wip-us.apache.org/repos/asf/ignite/blob/39cc9b7d/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheAssignmentNodeRestartsTest.java
--
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheAssignmentNodeRestartsTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheAssignmentNodeRestartsTest.java
new file mode 100644
index 000..807f532
--- /dev/null
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheAssignmentNodeRestartsTest.java
@@ -0,0 +1,257 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache.persistence;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.Callable;
+import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.ignite.Ignite;
+import org.apache.ignite.cache.CacheAtomicityMode;
+import org.apache.ignite.cache.CacheMode;
+import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction;
+import org.apache.ignite.cluster.ClusterNode;
+import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.configuration.MemoryConfiguration;
+import org.apache.ignite.configuration.MemoryPolicyConfiguration;
+import