You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2014/12/05 15:07:40 UTC
[39/52] [abbrv] incubator-ignite git commit: # Renaming
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java
index 2a4fda2..de77eec 100644
--- a/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java
@@ -26,9 +26,9 @@ import org.gridgain.grid.kernal.processors.cache.*;
import org.gridgain.grid.kernal.processors.cache.distributed.*;
import org.gridgain.grid.spi.*;
import org.apache.ignite.spi.communication.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.grid.util.direct.*;
import org.gridgain.grid.util.typedef.*;
import org.gridgain.testframework.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java
index 7830454..36feaad 100644
--- a/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java
@@ -20,9 +20,9 @@ import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.affinity.consistenthash.*;
import org.gridgain.grid.cache.store.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.grid.spi.swapspace.file.*;
import org.gridgain.grid.util.typedef.*;
import org.gridgain.grid.util.typedef.internal.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientPreferDirectSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/client/integration/GridClientPreferDirectSelfTest.java b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientPreferDirectSelfTest.java
index d72d5c1..6a40a4a 100644
--- a/modules/clients/src/test/java/org/gridgain/client/integration/GridClientPreferDirectSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientPreferDirectSelfTest.java
@@ -16,9 +16,9 @@ import org.apache.ignite.resources.*;
import org.gridgain.client.*;
import org.gridgain.client.balancer.*;
import org.gridgain.grid.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.testframework.junits.common.*;
import java.util.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/client/router/GridClientFailedInitSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/client/router/GridClientFailedInitSelfTest.java b/modules/clients/src/test/java/org/gridgain/client/router/GridClientFailedInitSelfTest.java
index 0c6ba3d..4edf56e 100644
--- a/modules/clients/src/test/java/org/gridgain/client/router/GridClientFailedInitSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/client/router/GridClientFailedInitSelfTest.java
@@ -15,9 +15,9 @@ import org.apache.ignite.configuration.*;
import org.gridgain.client.*;
import org.gridgain.client.impl.connection.*;
import org.gridgain.grid.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.grid.util.typedef.*;
import org.gridgain.testframework.junits.common.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/client/router/GridRouterFactorySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/client/router/GridRouterFactorySelfTest.java b/modules/clients/src/test/java/org/gridgain/client/router/GridRouterFactorySelfTest.java
index 907fed8..096ad82 100644
--- a/modules/clients/src/test/java/org/gridgain/client/router/GridRouterFactorySelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/client/router/GridRouterFactorySelfTest.java
@@ -10,9 +10,9 @@
package org.gridgain.client.router;
import org.apache.ignite.configuration.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.testframework.junits.common.*;
import java.util.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridAbstractRestProcessorSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridAbstractRestProcessorSelfTest.java b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridAbstractRestProcessorSelfTest.java
index afc2f97..b3dd2fd 100644
--- a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridAbstractRestProcessorSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridAbstractRestProcessorSelfTest.java
@@ -12,9 +12,9 @@ package org.gridgain.grid.kernal.processors.rest;
import org.apache.ignite.configuration.*;
import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.testframework.junits.common.*;
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestBinaryProtocolSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestBinaryProtocolSelfTest.java b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestBinaryProtocolSelfTest.java
index 57ab90d..8e54d05 100644
--- a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestBinaryProtocolSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestBinaryProtocolSelfTest.java
@@ -15,9 +15,9 @@ import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.kernal.*;
import org.gridgain.grid.kernal.processors.rest.client.message.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.grid.util.typedef.*;
import org.gridgain.grid.util.typedef.internal.*;
import org.gridgain.testframework.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestMemcacheProtocolSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestMemcacheProtocolSelfTest.java b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestMemcacheProtocolSelfTest.java
index ddedac1..ee3a175 100644
--- a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestMemcacheProtocolSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestMemcacheProtocolSelfTest.java
@@ -13,9 +13,9 @@ import junit.framework.*;
import org.apache.ignite.configuration.*;
import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.testframework.junits.common.*;
import org.jetbrains.annotations.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestProcessorStartSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestProcessorStartSelfTest.java b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestProcessorStartSelfTest.java
index cb746ec..81e64ba 100644
--- a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestProcessorStartSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestProcessorStartSelfTest.java
@@ -14,9 +14,9 @@ import org.apache.ignite.lang.*;
import org.gridgain.client.*;
import org.gridgain.grid.*;
import org.gridgain.grid.spi.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.testframework.*;
import org.gridgain.testframework.junits.common.*;
import org.jetbrains.annotations.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestProcessorTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestProcessorTest.java b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestProcessorTest.java
index 88b6fc6..27ba47f 100644
--- a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestProcessorTest.java
+++ b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridRestProcessorTest.java
@@ -12,8 +12,8 @@ package org.gridgain.grid.kernal.processors.rest;
import org.apache.ignite.configuration.*;
import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.grid.util.typedef.*;
import org.gridgain.grid.util.typedef.internal.*;
import org.gridgain.testframework.junits.common.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTaskCommandHandlerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTaskCommandHandlerSelfTest.java b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTaskCommandHandlerSelfTest.java
index 37a7a98..adabe2f 100644
--- a/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTaskCommandHandlerSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/grid/kernal/processors/rest/GridTaskCommandHandlerSelfTest.java
@@ -17,9 +17,9 @@ import org.gridgain.grid.cache.*;
import org.gridgain.grid.kernal.*;
import org.gridgain.grid.kernal.processors.rest.handlers.*;
import org.gridgain.grid.kernal.processors.rest.handlers.task.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.grid.util.typedef.*;
import org.gridgain.grid.util.typedef.internal.*;
import org.gridgain.testframework.junits.common.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcComplexQuerySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcComplexQuerySelfTest.java b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcComplexQuerySelfTest.java
index 74f14a1..2d2883f 100644
--- a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcComplexQuerySelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcComplexQuerySelfTest.java
@@ -13,9 +13,9 @@ import org.apache.ignite.configuration.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.affinity.*;
import org.gridgain.grid.cache.query.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.grid.util.typedef.*;
import org.gridgain.testframework.junits.common.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcConnectionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcConnectionSelfTest.java b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcConnectionSelfTest.java
index 6f3b2f8..95807a6 100644
--- a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcConnectionSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcConnectionSelfTest.java
@@ -12,9 +12,9 @@ package org.gridgain.jdbc;
import org.apache.ignite.configuration.*;
import org.gridgain.grid.*;
import org.gridgain.grid.cache.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.testframework.*;
import org.gridgain.testframework.junits.common.*;
import org.jetbrains.annotations.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcEmptyCacheSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcEmptyCacheSelfTest.java b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcEmptyCacheSelfTest.java
index e698218..6a0a013 100644
--- a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcEmptyCacheSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcEmptyCacheSelfTest.java
@@ -11,9 +11,9 @@ package org.gridgain.jdbc;
import org.apache.ignite.configuration.*;
import org.gridgain.grid.cache.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.testframework.junits.common.*;
import java.sql.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcLocalCachesSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcLocalCachesSelfTest.java b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcLocalCachesSelfTest.java
index c757410..561ac0b 100644
--- a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcLocalCachesSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcLocalCachesSelfTest.java
@@ -11,9 +11,9 @@ package org.gridgain.jdbc;
import org.apache.ignite.configuration.*;
import org.gridgain.grid.cache.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.grid.spi.indexing.h2.*;
import org.gridgain.testframework.junits.common.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcMetadataSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcMetadataSelfTest.java b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcMetadataSelfTest.java
index 25d5484..dd02812 100644
--- a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcMetadataSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcMetadataSelfTest.java
@@ -13,9 +13,9 @@ import org.apache.ignite.configuration.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.affinity.*;
import org.gridgain.grid.cache.query.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.grid.util.typedef.*;
import org.gridgain.testframework.junits.common.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcPreparedStatementSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcPreparedStatementSelfTest.java b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcPreparedStatementSelfTest.java
index c20c3ea..5759521 100644
--- a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcPreparedStatementSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcPreparedStatementSelfTest.java
@@ -12,9 +12,9 @@ package org.gridgain.jdbc;
import org.apache.ignite.configuration.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.query.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.testframework.junits.common.*;
import java.io.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcResultSetSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcResultSetSelfTest.java b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcResultSetSelfTest.java
index 3b4139c..1661881 100644
--- a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcResultSetSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcResultSetSelfTest.java
@@ -12,9 +12,9 @@ package org.gridgain.jdbc;
import org.apache.ignite.configuration.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.query.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.grid.util.typedef.internal.*;
import org.gridgain.testframework.*;
import org.gridgain.testframework.junits.common.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcStatementSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcStatementSelfTest.java b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcStatementSelfTest.java
index 591e60f..075a23c 100644
--- a/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcStatementSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/jdbc/GridJdbcStatementSelfTest.java
@@ -12,9 +12,9 @@ package org.gridgain.jdbc;
import org.apache.ignite.configuration.*;
import org.gridgain.grid.cache.*;
import org.gridgain.grid.cache.query.*;
-import org.gridgain.grid.spi.discovery.tcp.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.*;
-import org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
import org.gridgain.grid.util.typedef.*;
import org.gridgain.testframework.junits.common.*;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/resources/spring-cache.xml
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/resources/spring-cache.xml b/modules/clients/src/test/resources/spring-cache.xml
index 8358826..ba89926 100644
--- a/modules/clients/src/test/resources/spring-cache.xml
+++ b/modules/clients/src/test/resources/spring-cache.xml
@@ -208,9 +208,9 @@
of one or more servers which will always be started first.
-->
<property name="discoverySpi">
- <bean class="org.gridgain.grid.spi.discovery.tcp.GridTcpDiscoverySpi">
+ <bean class="org.apache.ignite.spi.discovery.tcp.GridTcpDiscoverySpi">
<property name="ipFinder">
- <bean class="org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.GridTcpDiscoveryVmIpFinder">
+ <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.GridTcpDiscoveryVmIpFinder">
<property name="addresses">
<list>
<!--
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/resources/spring-server-node.xml
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/resources/spring-server-node.xml b/modules/clients/src/test/resources/spring-server-node.xml
index 25a8438..4712d9e 100644
--- a/modules/clients/src/test/resources/spring-server-node.xml
+++ b/modules/clients/src/test/resources/spring-server-node.xml
@@ -282,13 +282,13 @@
TCP discovery SPI (uses VM-shared IP-finder).
-->
<property name="discoverySpi">
- <bean class="org.gridgain.grid.spi.discovery.tcp.GridTcpDiscoverySpi">
+ <bean class="org.apache.ignite.spi.discovery.tcp.GridTcpDiscoverySpi">
<!-- Make sure both servers (unsecured and SSL-protected) can start as independent grids. -->
<property name="localPort" value="49500"/>
<!-- Override default IP-finder.-->
<property name="ipFinder">
- <bean class="org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.GridTcpDiscoveryVmIpFinder">
+ <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.GridTcpDiscoveryVmIpFinder">
<property name="addresses">
<list>
<!--
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/clients/src/test/resources/spring-server-ssl-node.xml
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/resources/spring-server-ssl-node.xml b/modules/clients/src/test/resources/spring-server-ssl-node.xml
index 2b707d3..a40d4b5 100644
--- a/modules/clients/src/test/resources/spring-server-ssl-node.xml
+++ b/modules/clients/src/test/resources/spring-server-ssl-node.xml
@@ -249,13 +249,13 @@
TCP discovery SPI (uses VM-shared IP-finder).
-->
<property name="discoverySpi">
- <bean class="org.gridgain.grid.spi.discovery.tcp.GridTcpDiscoverySpi">
+ <bean class="org.apache.ignite.spi.discovery.tcp.GridTcpDiscoverySpi">
<!-- Make sure both servers (unsecured and SSL-protected) can start as independent grids. -->
<property name="localPort" value="48500"/>
<!-- Override default IP-finder.-->
<property name="ipFinder">
- <bean class="org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.GridTcpDiscoveryVmIpFinder">
+ <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.GridTcpDiscoveryVmIpFinder">
<property name="addresses">
<list>
<!--
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/core/src/main/java/org/apache/ignite/IgniteCluster.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteCluster.java b/modules/core/src/main/java/org/apache/ignite/IgniteCluster.java
index 6fa832b..93a7cfd 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteCluster.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteCluster.java
@@ -65,13 +65,13 @@ public interface IgniteCluster extends ClusterGroup, IgniteAsyncSupport {
*
* @param nodeId ID of a node to ping.
* @return {@code true} if node for a given ID is alive, {@code false} otherwise.
- * @see org.gridgain.grid.spi.discovery.DiscoverySpi
+ * @see org.apache.ignite.spi.discovery.DiscoverySpi
*/
public boolean pingNode(UUID nodeId);
/**
* Gets current topology version. In case of TCP discovery
- * (see {@link org.gridgain.grid.spi.discovery.tcp.TcpDiscoverySpi}) topology versions
+ * (see {@link org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi}) topology versions
* are sequential - they start from {@code '1'} and get incremented every time whenever a
* node joins or leaves. For other discovery SPIs topology versions may not be (and likely are
* not) sequential.
@@ -88,7 +88,7 @@ public interface IgniteCluster extends ClusterGroup, IgniteAsyncSupport {
* @return Collection of grid nodes which represented by specified topology version,
* if it is present in history storage, {@code null} otherwise.
* @throws UnsupportedOperationException If underlying SPI implementation does not support
- * topology history. Currently only {@link org.gridgain.grid.spi.discovery.tcp.TcpDiscoverySpi}
+ * topology history. Currently only {@link org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi}
* supports topology history.
*/
@Nullable public Collection<ClusterNode> topology(long topVer) throws UnsupportedOperationException;
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
index cb3fdf0..c403fd7 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
@@ -47,7 +47,7 @@ public final class IgniteSystemProperties {
* by discovery SPI. Use with care, as proper node ordering is required for
* cache consistency. If set to {@code true}, then any discovery SPI can be used
* with distributed cache, otherwise, only discovery SPIs that have annotation
- * {@link org.gridgain.grid.spi.discovery.DiscoverySpiOrderSupport @GridDiscoverySpiOrderSupport(true)} will
+ * {@link org.apache.ignite.spi.discovery.DiscoverySpiOrderSupport @GridDiscoverySpiOrderSupport(true)} will
* be allowed.
*/
public static final String GG_NO_DISCO_ORDER = "GRIDGAIN_NO_DISCO_ORDER";
@@ -386,7 +386,7 @@ public final class IgniteSystemProperties {
/**
* Comma separated list of addresses in format "10.100.22.100:45000,10.100.22.101:45000".
- * Makes sense only for {@link org.gridgain.grid.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder}.
+ * Makes sense only for {@link org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder}.
*/
public static final String GG_TCP_DISCOVERY_ADDRESSES = "GRIDGAIN_TCP_DISCOVERY_ADDRESSES";
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/core/src/main/java/org/apache/ignite/cluster/ClusterNode.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cluster/ClusterNode.java b/modules/core/src/main/java/org/apache/ignite/cluster/ClusterNode.java
index 96c1509..a0dd196 100644
--- a/modules/core/src/main/java/org/apache/ignite/cluster/ClusterNode.java
+++ b/modules/core/src/main/java/org/apache/ignite/cluster/ClusterNode.java
@@ -84,7 +84,7 @@ import java.util.*;
* Grid node metrics (see {@link #metrics()}) are updated frequently for all nodes
* and can be used to get dynamic information about a node. The frequency of update
* is often directly related to the heartbeat exchange between nodes. So if, for example,
- * default {@link org.gridgain.grid.spi.discovery.tcp.TcpDiscoverySpi} is used,
+ * default {@link org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi} is used,
* the metrics data will be updated every {@code 2} seconds by default.
* <p>
* Grid node metrics provide information about other nodes that can frequently change,
@@ -144,7 +144,7 @@ public interface ClusterNode extends GridMetadataAware {
* <p>
* Node metrics are updated with some delay which is directly related to heartbeat
* frequency. For example, when used with default
- * {@link org.gridgain.grid.spi.discovery.tcp.TcpDiscoverySpi} the update will happen every {@code 2} seconds.
+ * {@link org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi} the update will happen every {@code 2} seconds.
*
* @return Runtime metrics snapshot for this node.
*/
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
index 8e5d59b..78e61b2 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
@@ -31,7 +31,7 @@ import org.apache.ignite.spi.checkpoint.*;
import org.apache.ignite.spi.collision.*;
import org.apache.ignite.spi.communication.*;
import org.apache.ignite.spi.deployment.*;
-import org.gridgain.grid.spi.discovery.*;
+import org.apache.ignite.spi.discovery.*;
import org.gridgain.grid.spi.eventstorage.*;
import org.gridgain.grid.spi.eventstorage.memory.*;
import org.gridgain.grid.spi.failover.*;
@@ -1774,7 +1774,7 @@ public class IgniteConfiguration {
/**
* Should return fully configured discovery SPI implementation. If not provided,
- * {@link org.gridgain.grid.spi.discovery.tcp.TcpDiscoverySpi} will be used by default.
+ * {@link org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi} will be used by default.
*
* @return Grid discovery SPI implementation or {@code null} to use default implementation.
*/
@@ -1783,9 +1783,9 @@ public class IgniteConfiguration {
}
/**
- * Sets fully configured instance of {@link org.gridgain.grid.spi.discovery.DiscoverySpi}.
+ * Sets fully configured instance of {@link org.apache.ignite.spi.discovery.DiscoverySpi}.
*
- * @param discoSpi Fully configured instance of {@link org.gridgain.grid.spi.discovery.DiscoverySpi}.
+ * @param discoSpi Fully configured instance of {@link org.apache.ignite.spi.discovery.DiscoverySpi}.
* @see IgniteConfiguration#getDiscoverySpi()
*/
public void setDiscoverySpi(DiscoverySpi discoSpi) {
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/core/src/main/java/org/apache/ignite/plugin/PluginContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/plugin/PluginContext.java b/modules/core/src/main/java/org/apache/ignite/plugin/PluginContext.java
index 3344bcc..d8eb1a6 100644
--- a/modules/core/src/main/java/org/apache/ignite/plugin/PluginContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/plugin/PluginContext.java
@@ -38,20 +38,20 @@ public interface PluginContext {
/**
* Gets a collection of all grid nodes. Remote nodes are discovered via underlying
- * {@link org.gridgain.grid.spi.discovery.DiscoverySpi} implementation used.
+ * {@link org.apache.ignite.spi.discovery.DiscoverySpi} implementation used.
*
* @return Collection of grid nodes.
* @see #localNode()
- * @see org.gridgain.grid.spi.discovery.DiscoverySpi
+ * @see org.apache.ignite.spi.discovery.DiscoverySpi
*/
public Collection<ClusterNode> nodes();
/**
- * Gets local grid node. Instance of local node is provided by underlying {@link org.gridgain.grid.spi.discovery.DiscoverySpi}
+ * Gets local grid node. Instance of local node is provided by underlying {@link org.apache.ignite.spi.discovery.DiscoverySpi}
* implementation used.
*
* @return Local grid node.
- * @see org.gridgain.grid.spi.discovery.DiscoverySpi
+ * @see org.apache.ignite.spi.discovery.DiscoverySpi
*/
public ClusterNode localNode();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
index 2f0516c..8c20c98 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/IgniteSpiContext.java
@@ -29,46 +29,46 @@ import java.util.*;
public interface IgniteSpiContext {
/**
* Gets a collection of remote grid nodes. Remote nodes are discovered via underlying
- * {@link org.gridgain.grid.spi.discovery.DiscoverySpi} implementation used. Unlike {@link #nodes()},
+ * {@link org.apache.ignite.spi.discovery.DiscoverySpi} implementation used. Unlike {@link #nodes()},
* this method does not include local grid node.
*
* @return Collection of remote grid nodes.
* @see #localNode()
* @see #nodes()
- * @see org.gridgain.grid.spi.discovery.DiscoverySpi
+ * @see org.apache.ignite.spi.discovery.DiscoverySpi
*/
public Collection<ClusterNode> remoteNodes();
/**
* Gets a collection of all grid nodes. Remote nodes are discovered via underlying
- * {@link org.gridgain.grid.spi.discovery.DiscoverySpi} implementation used. Unlike {@link #remoteNodes()},
+ * {@link org.apache.ignite.spi.discovery.DiscoverySpi} implementation used. Unlike {@link #remoteNodes()},
* this method does include local grid node.
*
* @return Collection of remote grid nodes.
* @see #localNode()
* @see #remoteNodes()
- * @see org.gridgain.grid.spi.discovery.DiscoverySpi
+ * @see org.apache.ignite.spi.discovery.DiscoverySpi
*/
public Collection<ClusterNode> nodes();
/**
- * Gets local grid node. Instance of local node is provided by underlying {@link org.gridgain.grid.spi.discovery.DiscoverySpi}
+ * Gets local grid node. Instance of local node is provided by underlying {@link org.apache.ignite.spi.discovery.DiscoverySpi}
* implementation used.
*
* @return Local grid node.
- * @see org.gridgain.grid.spi.discovery.DiscoverySpi
+ * @see org.apache.ignite.spi.discovery.DiscoverySpi
*/
public ClusterNode localNode();
/**
* Gets a collection of all remote daemon nodes in topology. The daemon nodes are discovered via
- * underlying {@link org.gridgain.grid.spi.discovery.DiscoverySpi} implementation used.
+ * underlying {@link org.apache.ignite.spi.discovery.DiscoverySpi} implementation used.
*
* @return Collection of all daemon nodes.
* @see #localNode()
* @see #remoteNodes()
* @see #nodes()
- * @see org.gridgain.grid.spi.discovery.DiscoverySpi
+ * @see org.apache.ignite.spi.discovery.DiscoverySpi
*/
public Collection<ClusterNode> remoteDaemonNodes();
@@ -77,13 +77,13 @@ public interface IgniteSpiContext {
*
* @param nodeId ID of a node to get.
* @return Node for a given ID or {@code null} is such not has not been discovered.
- * @see org.gridgain.grid.spi.discovery.DiscoverySpi
+ * @see org.apache.ignite.spi.discovery.DiscoverySpi
*/
@Nullable public ClusterNode node(UUID nodeId);
/**
* Pings a remote node. The underlying communication is provided via
- * {@link org.gridgain.grid.spi.discovery.DiscoverySpi#pingNode(UUID)} implementation.
+ * {@link org.apache.ignite.spi.discovery.DiscoverySpi#pingNode(UUID)} implementation.
* <p>
* Discovery SPIs usually have some latency in discovering failed nodes. Hence,
* communication to remote nodes may fail at times if an attempt was made to
@@ -92,7 +92,7 @@ public interface IgniteSpiContext {
*
* @param nodeId ID of a node to ping.
* @return {@code true} if node for a given ID is alive, {@code false} otherwise.
- * @see org.gridgain.grid.spi.discovery.DiscoverySpi
+ * @see org.apache.ignite.spi.discovery.DiscoverySpi
*/
public boolean pingNode(UUID nodeId);
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryMetricsHelper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryMetricsHelper.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryMetricsHelper.java
new file mode 100644
index 0000000..7681b45
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryMetricsHelper.java
@@ -0,0 +1,360 @@
+/* @java.file.header */
+
+/* _________ _____ __________________ _____
+ * __ ____/___________(_)______ /__ ____/______ ____(_)_______
+ * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
+ * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
+ * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
+ */
+
+package org.apache.ignite.spi.discovery;
+
+import org.apache.ignite.cluster.*;
+import org.gridgain.grid.util.typedef.internal.*;
+
+/**
+ * Helper class to serialize and deserialize node metrics.
+ */
+public final class DiscoveryMetricsHelper {
+ /** Size of serialized node metrics. */
+ public static final int METRICS_SIZE =
+ 4/*max active jobs*/ +
+ 4/*current active jobs*/ +
+ 4/*average active jobs*/ +
+ 4/*max waiting jobs*/ +
+ 4/*current waiting jobs*/ +
+ 4/*average waiting jobs*/ +
+ 4/*max cancelled jobs*/ +
+ 4/*current cancelled jobs*/ +
+ 4/*average cancelled jobs*/ +
+ 4/*max rejected jobs*/ +
+ 4/*current rejected jobs*/ +
+ 4/*average rejected jobs*/ +
+ 4/*total executed jobs*/ +
+ 4/*total rejected jobs*/ +
+ 4/*total cancelled jobs*/ +
+ 8/*max job wait time*/ +
+ 8/*current job wait time*/ +
+ 8/*average job wait time*/ +
+ 8/*max job execute time*/ +
+ 8/*current job execute time*/ +
+ 8/*average job execute time*/ +
+ 4/*total executed tasks*/ +
+ 8/*current idle time*/ +
+ 8/*total idle time*/ +
+ 4/*available processors*/ +
+ 8/*current CPU load*/ +
+ 8/*average CPU load*/ +
+ 8/*current GC CPU load*/ +
+ 8/*heap memory init*/ +
+ 8/*heap memory used*/ +
+ 8/*heap memory committed*/ +
+ 8/*heap memory max*/ +
+ 8/*non-heap memory init*/ +
+ 8/*non-heap memory used*/ +
+ 8/*non-heap memory committed*/ +
+ 8/*non-heap memory max*/ +
+ 8/*uptime*/ +
+ 8/*start time*/ +
+ 8/*node start time*/ +
+ 4/*thread count*/ +
+ 4/*peak thread count*/ +
+ 8/*total started thread count*/ +
+ 4/*daemon thread count*/ +
+ 8/*last data version.*/ +
+ 4/*sent messages count*/ +
+ 8/*sent bytes count*/ +
+ 4/*received messages count*/ +
+ 8/*received bytes count*/ +
+ 4/*outbound messages queue size*/;
+
+ /**
+ * Enforces singleton.
+ */
+ private DiscoveryMetricsHelper() {
+ // No-op.
+ }
+
+ /**
+ * Serializes node metrics into byte array.
+ *
+ * @param data Byte array.
+ * @param off Offset into byte array.
+ * @param metrics Node metrics to serialize.
+ * @return New offset.
+ */
+ public static int serialize(byte[] data, int off, ClusterNodeMetrics metrics) {
+ int start = off;
+
+ off = U.intToBytes(metrics.getMaximumActiveJobs(), data, off);
+ off = U.intToBytes(metrics.getCurrentActiveJobs(), data, off);
+ off = U.floatToBytes(metrics.getAverageActiveJobs(), data, off);
+ off = U.intToBytes(metrics.getMaximumWaitingJobs(), data, off);
+ off = U.intToBytes(metrics.getCurrentWaitingJobs(), data, off);
+ off = U.floatToBytes(metrics.getAverageWaitingJobs(), data, off);
+ off = U.intToBytes(metrics.getMaximumRejectedJobs(), data, off);
+ off = U.intToBytes(metrics.getCurrentRejectedJobs(), data, off);
+ off = U.floatToBytes(metrics.getAverageRejectedJobs(), data, off);
+ off = U.intToBytes(metrics.getMaximumCancelledJobs(), data, off);
+ off = U.intToBytes(metrics.getCurrentCancelledJobs(), data, off);
+ off = U.floatToBytes(metrics.getAverageCancelledJobs(), data, off);
+ off = U.intToBytes(metrics.getTotalRejectedJobs(), data , off);
+ off = U.intToBytes(metrics.getTotalCancelledJobs(), data , off);
+ off = U.intToBytes(metrics.getTotalExecutedJobs(), data , off);
+ off = U.longToBytes(metrics.getMaximumJobWaitTime(), data, off);
+ off = U.longToBytes(metrics.getCurrentJobWaitTime(), data, off);
+ off = U.doubleToBytes(metrics.getAverageJobWaitTime(), data, off);
+ off = U.longToBytes(metrics.getMaximumJobExecuteTime(), data, off);
+ off = U.longToBytes(metrics.getCurrentJobExecuteTime(), data, off);
+ off = U.doubleToBytes(metrics.getAverageJobExecuteTime(), data, off);
+ off = U.intToBytes(metrics.getTotalExecutedTasks(), data, off);
+ off = U.longToBytes(metrics.getCurrentIdleTime(), data, off);
+ off = U.longToBytes(metrics.getTotalIdleTime(), data , off);
+ off = U.intToBytes(metrics.getTotalCpus(), data, off);
+ off = U.doubleToBytes(metrics.getCurrentCpuLoad(), data, off);
+ off = U.doubleToBytes(metrics.getAverageCpuLoad(), data, off);
+ off = U.doubleToBytes(metrics.getCurrentGcCpuLoad(), data, off);
+ off = U.longToBytes(metrics.getHeapMemoryInitialized(), data, off);
+ off = U.longToBytes(metrics.getHeapMemoryUsed(), data, off);
+ off = U.longToBytes(metrics.getHeapMemoryCommitted(), data, off);
+ off = U.longToBytes(metrics.getHeapMemoryMaximum(), data, off);
+ off = U.longToBytes(metrics.getNonHeapMemoryInitialized(), data, off);
+ off = U.longToBytes(metrics.getNonHeapMemoryUsed(), data, off);
+ off = U.longToBytes(metrics.getNonHeapMemoryCommitted(), data, off);
+ off = U.longToBytes(metrics.getNonHeapMemoryMaximum(), data, off);
+ off = U.longToBytes(metrics.getStartTime(), data, off);
+ off = U.longToBytes(metrics.getNodeStartTime(), data, off);
+ off = U.longToBytes(metrics.getUpTime(), data, off);
+ off = U.intToBytes(metrics.getCurrentThreadCount(), data, off);
+ off = U.intToBytes(metrics.getMaximumThreadCount(), data, off);
+ off = U.longToBytes(metrics.getTotalStartedThreadCount(), data, off);
+ off = U.intToBytes(metrics.getCurrentDaemonThreadCount(), data, off);
+ off = U.longToBytes(metrics.getLastDataVersion(), data, off);
+ off = U.intToBytes(metrics.getSentMessagesCount(), data, off);
+ off = U.longToBytes(metrics.getSentBytesCount(), data, off);
+ off = U.intToBytes(metrics.getReceivedMessagesCount(), data, off);
+ off = U.longToBytes(metrics.getReceivedBytesCount(), data, off);
+ off = U.intToBytes(metrics.getOutboundMessagesQueueSize(), data, off);
+
+ assert off - start == METRICS_SIZE : "Invalid metrics size [expected=" + METRICS_SIZE + ", actual=" +
+ (off - start) + ']';
+
+ return off;
+ }
+
+ /**
+ * De-serializes node metrics.
+ *
+ * @param data Byte array.
+ * @param off Offset into byte array.
+ * @return Deserialized node metrics.
+ */
+ public static ClusterNodeMetrics deserialize(byte[] data, int off) {
+ int start = off;
+
+ DiscoveryNodeMetricsAdapter metrics = new DiscoveryNodeMetricsAdapter();
+
+ metrics.setLastUpdateTime(U.currentTimeMillis());
+
+ metrics.setMaximumActiveJobs(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setCurrentActiveJobs(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setAverageActiveJobs(U.bytesToFloat(data, off));
+
+ off += 4;
+
+ metrics.setMaximumWaitingJobs(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setCurrentWaitingJobs(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setAverageWaitingJobs(U.bytesToFloat(data, off));
+
+ off += 4;
+
+ metrics.setMaximumRejectedJobs(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setCurrentRejectedJobs(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setAverageRejectedJobs(U.bytesToFloat(data, off));
+
+ off += 4;
+
+ metrics.setMaximumCancelledJobs(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setCurrentCancelledJobs(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setAverageCancelledJobs(U.bytesToFloat(data, off));
+
+ off += 4;
+
+ metrics.setTotalRejectedJobs(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setTotalCancelledJobs(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setTotalExecutedJobs(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setMaximumJobWaitTime(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setCurrentJobWaitTime(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setAverageJobWaitTime(U.bytesToDouble(data, off));
+
+ off += 8;
+
+ metrics.setMaximumJobExecuteTime(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setCurrentJobExecuteTime(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setAverageJobExecuteTime(U.bytesToDouble(data, off));
+
+ off += 8;
+
+ metrics.setTotalExecutedTasks(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setCurrentIdleTime(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setTotalIdleTime(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setAvailableProcessors(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setCurrentCpuLoad(U.bytesToDouble(data, off));
+
+ off += 8;
+
+ metrics.setAverageCpuLoad(U.bytesToDouble(data, off));
+
+ off += 8;
+
+ metrics.setCurrentGcCpuLoad(U.bytesToDouble(data, off));
+
+ off += 8;
+
+ metrics.setHeapMemoryInitialized(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setHeapMemoryUsed(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setHeapMemoryCommitted(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setHeapMemoryMaximum(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setNonHeapMemoryInitialized(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setNonHeapMemoryUsed(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setNonHeapMemoryCommitted(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setNonHeapMemoryMaximum(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setStartTime(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setNodeStartTime(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setUpTime(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setCurrentThreadCount(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setMaximumThreadCount(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setTotalStartedThreadCount(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setCurrentDaemonThreadCount(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setLastDataVersion(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setSentMessagesCount(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setSentBytesCount(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setReceivedMessagesCount(U.bytesToInt(data, off));
+
+ off += 4;
+
+ metrics.setReceivedBytesCount(U.bytesToLong(data, off));
+
+ off += 8;
+
+ metrics.setOutboundMessagesQueueSize(U.bytesToInt(data, off));
+
+ off += 4;
+
+ assert off - start == METRICS_SIZE : "Invalid metrics size [expected=" + METRICS_SIZE + ", actual=" +
+ (off - start) + ']';
+
+ return metrics;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryMetricsProvider.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryMetricsProvider.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryMetricsProvider.java
new file mode 100644
index 0000000..8690d9e
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryMetricsProvider.java
@@ -0,0 +1,31 @@
+/* @java.file.header */
+
+/* _________ _____ __________________ _____
+ * __ ____/___________(_)______ /__ ____/______ ____(_)_______
+ * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
+ * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
+ * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
+ */
+
+package org.apache.ignite.spi.discovery;
+
+import org.apache.ignite.cluster.*;
+import org.gridgain.grid.util.tostring.*;
+
+/**
+ * Provides metrics to discovery SPI. It is responsibility of discovery SPI
+ * to make sure that all nodes have updated metrics data about each other.
+ * <p>
+ * GridGain implementation will supply discovery SPI with metrics provider
+ * via {@link DiscoverySpi#setMetricsProvider(DiscoveryMetricsProvider)}
+ * method.
+ */
+@GridToStringExclude
+public interface DiscoveryMetricsProvider {
+ /**
+ * This method always returns up-to-date metrics data about local node.
+ *
+ * @return Up to date metrics data about local node.
+ */
+ public ClusterNodeMetrics getMetrics();
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryNodeMetricsAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryNodeMetricsAdapter.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryNodeMetricsAdapter.java
new file mode 100644
index 0000000..d76110f
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoveryNodeMetricsAdapter.java
@@ -0,0 +1,1060 @@
+/* @java.file.header */
+
+/* _________ _____ __________________ _____
+ * __ ____/___________(_)______ /__ ____/______ ____(_)_______
+ * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
+ * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
+ * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
+ */
+
+package org.apache.ignite.spi.discovery;
+
+import org.apache.ignite.cluster.*;
+import org.gridgain.grid.kernal.managers.discovery.*;
+import org.gridgain.grid.util.typedef.internal.*;
+
+import java.io.*;
+
+/**
+ * Adapter for {@link GridLocalMetrics} interface.
+ * <p>
+ * Note that whenever adding or removing metric parameters, care
+ * must be taken to update {@link DiscoveryMetricsHelper} as well.
+ */
+public class DiscoveryNodeMetricsAdapter implements ClusterNodeMetrics, Externalizable {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** */
+ private long lastUpdateTime = -1;
+
+ /** */
+ private int maxActiveJobs = -1;
+
+ /** */
+ private int curActiveJobs = -1;
+
+ /** */
+ private float avgActiveJobs = -1;
+
+ /** */
+ private int maxWaitingJobs = -1;
+
+ /** */
+ private int curWaitingJobs = -1;
+
+ /** */
+ private float avgWaitingJobs = -1;
+
+ /** */
+ private int maxRejectedJobs = -1;
+
+ /** */
+ private int curRejectedJobs = -1;
+
+ /** */
+ private float avgRejectedJobs = -1;
+
+ /** */
+ private int maxCancelledJobs = -1;
+
+ /** */
+ private int curCancelledJobs = -1;
+
+ /** */
+ private float avgCancelledJobs = -1;
+
+ /** */
+ private int totalRejectedJobs = -1;
+
+ /** */
+ private int totalCancelledJobs = -1;
+
+ /** */
+ private int totalExecutedJobs = -1;
+
+ /** */
+ private long maxJobWaitTime = -1;
+
+ /** */
+ private long curJobWaitTime = -1;
+
+ /** */
+ private double avgJobWaitTime = -1;
+
+ /** */
+ private long maxJobExecTime = -1;
+
+ /** */
+ private long curJobExecTime = -1;
+
+ /** */
+ private double avgJobExecTime = -1;
+
+ /** */
+ private int totalExecTasks = -1;
+
+ /** */
+ private long totalIdleTime = -1;
+
+ /** */
+ private long curIdleTime = -1;
+
+ /** */
+ private int availProcs = -1;
+
+ /** */
+ private long totalPhysicalMemory = -1;
+
+ /** */
+ private double load = -1;
+
+ /** */
+ private double avgLoad = -1;
+
+ /** */
+ private double gcLoad = -1;
+
+ /** */
+ private long heapInit = -1;
+
+ /** */
+ private long heapUsed = -1;
+
+ /** */
+ private long heapCommitted = -1;
+
+ /** */
+ private long heapMax = -1;
+
+ /** */
+ private long nonHeapInit = -1;
+
+ /** */
+ private long nonHeapUsed = -1;
+
+ /** */
+ private long nonHeapCommitted = -1;
+
+ /** */
+ private long nonHeapMax = -1;
+
+ /** */
+ private long upTime = -1;
+
+ /** */
+ private long startTime = -1;
+
+ /** */
+ private long nodeStartTime = -1;
+
+ /** */
+ private int threadCnt = -1;
+
+ /** */
+ private int peakThreadCnt = -1;
+
+ /** */
+ private long startedThreadCnt = -1;
+
+ /** */
+ private int daemonThreadCnt = -1;
+
+ /** */
+ private long lastDataVer = -1;
+
+ /** */
+ private int sentMsgsCnt = -1;
+
+ /** */
+ private long sentBytesCnt = -1;
+
+ /** */
+ private int rcvdMsgsCnt = -1;
+
+ /** */
+ private long rcvdBytesCnt = -1;
+
+ /** */
+ private int outMesQueueSize = -1;
+
+ /** {@inheritDoc} */
+ @Override public long getLastUpdateTime() {
+ return lastUpdateTime;
+ }
+
+ /**
+ * Sets last update time.
+ *
+ * @param lastUpdateTime Last update time.
+ */
+ public void setLastUpdateTime(long lastUpdateTime) {
+ this.lastUpdateTime = lastUpdateTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaximumActiveJobs() {
+ return maxActiveJobs;
+ }
+
+ /**
+ * Sets max active jobs.
+ *
+ * @param maxActiveJobs Max active jobs.
+ */
+ public void setMaximumActiveJobs(int maxActiveJobs) {
+ this.maxActiveJobs = maxActiveJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentActiveJobs() {
+ return curActiveJobs;
+ }
+
+ /**
+ * Sets current active jobs.
+ *
+ * @param curActiveJobs Current active jobs.
+ */
+ public void setCurrentActiveJobs(int curActiveJobs) {
+ this.curActiveJobs = curActiveJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public float getAverageActiveJobs() {
+ return avgActiveJobs;
+ }
+
+ /**
+ * Sets average active jobs.
+ *
+ * @param avgActiveJobs Average active jobs.
+ */
+ public void setAverageActiveJobs(float avgActiveJobs) {
+ this.avgActiveJobs = avgActiveJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaximumWaitingJobs() {
+ return maxWaitingJobs;
+ }
+
+ /**
+ * Sets maximum waiting jobs.
+ *
+ * @param maxWaitingJobs Maximum waiting jobs.
+ */
+ public void setMaximumWaitingJobs(int maxWaitingJobs) {
+ this.maxWaitingJobs = maxWaitingJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentWaitingJobs() {
+ return curWaitingJobs;
+ }
+
+ /**
+ * Sets current waiting jobs.
+ *
+ * @param curWaitingJobs Current waiting jobs.
+ */
+ public void setCurrentWaitingJobs(int curWaitingJobs) {
+ this.curWaitingJobs = curWaitingJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public float getAverageWaitingJobs() {
+ return avgWaitingJobs;
+ }
+
+ /**
+ * Sets average waiting jobs.
+ *
+ * @param avgWaitingJobs Average waiting jobs.
+ */
+ public void setAverageWaitingJobs(float avgWaitingJobs) {
+ this.avgWaitingJobs = avgWaitingJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaximumRejectedJobs() {
+ return maxRejectedJobs;
+ }
+
+ /**
+ * @param maxRejectedJobs Maximum number of jobs rejected during a single collision resolution event.
+ */
+ public void setMaximumRejectedJobs(int maxRejectedJobs) {
+ this.maxRejectedJobs = maxRejectedJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentRejectedJobs() {
+ return curRejectedJobs;
+ }
+
+ /**
+ * @param curRejectedJobs Number of jobs rejected during most recent collision resolution.
+ */
+ public void setCurrentRejectedJobs(int curRejectedJobs) {
+ this.curRejectedJobs = curRejectedJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public float getAverageRejectedJobs() {
+ return avgRejectedJobs;
+ }
+
+ /**
+ * @param avgRejectedJobs Average number of jobs this node rejects.
+ */
+ public void setAverageRejectedJobs(float avgRejectedJobs) {
+ this.avgRejectedJobs = avgRejectedJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getTotalRejectedJobs() {
+ return totalRejectedJobs;
+ }
+
+ /**
+ * @param totalRejectedJobs Total number of jobs this node ever rejected.
+ */
+ public void setTotalRejectedJobs(int totalRejectedJobs) {
+ this.totalRejectedJobs = totalRejectedJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaximumCancelledJobs() {
+ return maxCancelledJobs;
+ }
+
+ /**
+ * Sets maximum cancelled jobs.
+ *
+ * @param maxCancelledJobs Maximum cancelled jobs.
+ */
+ public void setMaximumCancelledJobs(int maxCancelledJobs) {
+ this.maxCancelledJobs = maxCancelledJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentCancelledJobs() {
+ return curCancelledJobs;
+ }
+
+ /**
+ * Sets current cancelled jobs.
+ *
+ * @param curCancelledJobs Current cancelled jobs.
+ */
+ public void setCurrentCancelledJobs(int curCancelledJobs) {
+ this.curCancelledJobs = curCancelledJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public float getAverageCancelledJobs() {
+ return avgCancelledJobs;
+ }
+
+ /**
+ * Sets average cancelled jobs.
+ *
+ * @param avgCancelledJobs Average cancelled jobs.
+ */
+ public void setAverageCancelledJobs(float avgCancelledJobs) {
+ this.avgCancelledJobs = avgCancelledJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getTotalExecutedJobs() {
+ return totalExecutedJobs;
+ }
+
+ /**
+ * Sets total active jobs.
+ *
+ * @param totalExecutedJobs Total active jobs.
+ */
+ public void setTotalExecutedJobs(int totalExecutedJobs) {
+ this.totalExecutedJobs = totalExecutedJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getTotalCancelledJobs() {
+ return totalCancelledJobs;
+ }
+
+ /**
+ * Sets total cancelled jobs.
+ *
+ * @param totalCancelledJobs Total cancelled jobs.
+ */
+ public void setTotalCancelledJobs(int totalCancelledJobs) {
+ this.totalCancelledJobs = totalCancelledJobs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getMaximumJobWaitTime() {
+ return maxJobWaitTime;
+ }
+
+ /**
+ * Sets max job wait time.
+ *
+ * @param maxJobWaitTime Max job wait time.
+ */
+ public void setMaximumJobWaitTime(long maxJobWaitTime) {
+ this.maxJobWaitTime = maxJobWaitTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getCurrentJobWaitTime() {
+ return curJobWaitTime;
+ }
+
+ /**
+ * Sets current job wait time.
+ *
+ * @param curJobWaitTime Current job wait time.
+ */
+ public void setCurrentJobWaitTime(long curJobWaitTime) {
+ this.curJobWaitTime = curJobWaitTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public double getAverageJobWaitTime() {
+ return avgJobWaitTime;
+ }
+
+ /**
+ * Sets average job wait time.
+ *
+ * @param avgJobWaitTime Average job wait time.
+ */
+ public void setAverageJobWaitTime(double avgJobWaitTime) {
+ this.avgJobWaitTime = avgJobWaitTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getMaximumJobExecuteTime() {
+ return maxJobExecTime;
+ }
+
+ /**
+ * Sets maximum job execution time.
+ *
+ * @param maxJobExecTime Maximum job execution time.
+ */
+ public void setMaximumJobExecuteTime(long maxJobExecTime) {
+ this.maxJobExecTime = maxJobExecTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getCurrentJobExecuteTime() {
+ return curJobExecTime;
+ }
+
+ /**
+ * Sets current job execute time.
+ *
+ * @param curJobExecTime Current job execute time.
+ */
+ public void setCurrentJobExecuteTime(long curJobExecTime) {
+ this.curJobExecTime = curJobExecTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public double getAverageJobExecuteTime() {
+ return avgJobExecTime;
+ }
+
+ /**
+ * Sets average job execution time.
+ *
+ * @param avgJobExecTime Average job execution time.
+ */
+ public void setAverageJobExecuteTime(double avgJobExecTime) {
+ this.avgJobExecTime = avgJobExecTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getTotalExecutedTasks() {
+ return totalExecTasks;
+ }
+
+ /**
+ * Sets total executed tasks count.
+ *
+ * @param totalExecTasks total executed tasks count.
+ */
+ public void setTotalExecutedTasks(int totalExecTasks) {
+ this.totalExecTasks = totalExecTasks;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getTotalBusyTime() {
+ return getUpTime() - getTotalIdleTime();
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getTotalIdleTime() {
+ return totalIdleTime;
+ }
+
+ /**
+ * Set total node idle time.
+ *
+ * @param totalIdleTime Total node idle time.
+ */
+ public void setTotalIdleTime(long totalIdleTime) {
+ this.totalIdleTime = totalIdleTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getCurrentIdleTime() {
+ return curIdleTime;
+ }
+
+ /**
+ * Sets time elapsed since execution of last job.
+ *
+ * @param curIdleTime Time elapsed since execution of last job.
+ */
+ public void setCurrentIdleTime(long curIdleTime) {
+ this.curIdleTime = curIdleTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public float getBusyTimePercentage() {
+ return 1 - getIdleTimePercentage();
+ }
+
+ /** {@inheritDoc} */
+ @Override public float getIdleTimePercentage() {
+ return getTotalIdleTime() / (float)getUpTime();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getTotalCpus() {
+ return availProcs;
+ }
+
+ /** {@inheritDoc} */
+ @Override public double getCurrentCpuLoad() {
+ return load;
+ }
+
+ /** {@inheritDoc} */
+ @Override public double getAverageCpuLoad() {
+ return avgLoad;
+ }
+
+ /** {@inheritDoc} */
+ @Override public double getCurrentGcCpuLoad() {
+ return gcLoad;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getHeapMemoryInitialized() {
+ return heapInit;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getHeapMemoryUsed() {
+ return heapUsed;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getHeapMemoryCommitted() {
+ return heapCommitted;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getHeapMemoryMaximum() {
+ return heapMax;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getNonHeapMemoryInitialized() {
+ return nonHeapInit;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getNonHeapMemoryUsed() {
+ return nonHeapUsed;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getNonHeapMemoryCommitted() {
+ return nonHeapCommitted;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getNonHeapMemoryMaximum() {
+ return nonHeapMax;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getUpTime() {
+ return upTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getStartTime() {
+ return startTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getNodeStartTime() {
+ return nodeStartTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentThreadCount() {
+ return threadCnt;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaximumThreadCount() {
+ return peakThreadCnt;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getTotalStartedThreadCount() {
+ return startedThreadCnt;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getCurrentDaemonThreadCount() {
+ return daemonThreadCnt;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getLastDataVersion() {
+ return lastDataVer;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getSentMessagesCount() {
+ return sentMsgsCnt;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getSentBytesCount() {
+ return sentBytesCnt;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getReceivedMessagesCount() {
+ return rcvdMsgsCnt;
+ }
+
+ /** {@inheritDoc} */
+ @Override public long getReceivedBytesCount() {
+ return rcvdBytesCnt;
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getOutboundMessagesQueueSize() {
+ return outMesQueueSize;
+ }
+
+ /**
+ * Sets available processors.
+ *
+ * @param availProcs Available processors.
+ */
+ public void setAvailableProcessors(int availProcs) {
+ this.availProcs = availProcs;
+ }
+
+ /**
+ * Sets current CPU load.
+ *
+ * @param load Current CPU load.
+ */
+ public void setCurrentCpuLoad(double load) {
+ this.load = load;
+ }
+
+ /**
+ * Sets CPU load average over the metrics history.
+ *
+ * @param avgLoad CPU load average.
+ */
+ public void setAverageCpuLoad(double avgLoad) {
+ this.avgLoad = avgLoad;
+ }
+
+ /**
+ * Sets current GC load.
+ *
+ * @param gcLoad Current GC load.
+ */
+ public void setCurrentGcCpuLoad(double gcLoad) {
+ this.gcLoad = gcLoad;
+ }
+
+ /**
+ * Sets heap initial memory.
+ *
+ * @param heapInit Heap initial memory.
+ */
+ public void setHeapMemoryInitialized(long heapInit) {
+ this.heapInit = heapInit;
+ }
+
+ /**
+ * Sets used heap memory.
+ *
+ * @param heapUsed Used heap memory.
+ */
+ public void setHeapMemoryUsed(long heapUsed) {
+ this.heapUsed = heapUsed;
+ }
+
+ /**
+ * Sets committed heap memory.
+ *
+ * @param heapCommitted Committed heap memory.
+ */
+ public void setHeapMemoryCommitted(long heapCommitted) {
+ this.heapCommitted = heapCommitted;
+ }
+
+ /**
+ * Sets maximum possible heap memory.
+ *
+ * @param heapMax Maximum possible heap memory.
+ */
+ public void setHeapMemoryMaximum(long heapMax) {
+ this.heapMax = heapMax;
+ }
+
+ /**
+ * Sets initial non-heap memory.
+ *
+ * @param nonHeapInit Initial non-heap memory.
+ */
+ public void setNonHeapMemoryInitialized(long nonHeapInit) {
+ this.nonHeapInit = nonHeapInit;
+ }
+
+ /**
+ * Sets used non-heap memory.
+ *
+ * @param nonHeapUsed Used non-heap memory.
+ */
+ public void setNonHeapMemoryUsed(long nonHeapUsed) {
+ this.nonHeapUsed = nonHeapUsed;
+ }
+
+ /**
+ * Sets committed non-heap memory.
+ *
+ * @param nonHeapCommitted Committed non-heap memory.
+ */
+ public void setNonHeapMemoryCommitted(long nonHeapCommitted) {
+ this.nonHeapCommitted = nonHeapCommitted;
+ }
+
+ /**
+ * Sets maximum possible non-heap memory.
+ *
+ * @param nonHeapMax Maximum possible non-heap memory.
+ */
+ public void setNonHeapMemoryMaximum(long nonHeapMax) {
+ this.nonHeapMax = nonHeapMax;
+ }
+
+ /**
+ * Sets VM up time.
+ *
+ * @param upTime VM up time.
+ */
+ public void setUpTime(long upTime) {
+ this.upTime = upTime;
+ }
+
+ /**
+ * Sets VM start time.
+ *
+ * @param startTime VM start time.
+ */
+ public void setStartTime(long startTime) {
+ this.startTime = startTime;
+ }
+
+ /**
+ * Sets node start time.
+ *
+ * @param nodeStartTime node start time.
+ */
+ public void setNodeStartTime(long nodeStartTime) {
+ this.nodeStartTime = nodeStartTime;
+ }
+
+ /**
+ * Sets thread count.
+ *
+ * @param threadCnt Thread count.
+ */
+ public void setCurrentThreadCount(int threadCnt) {
+ this.threadCnt = threadCnt;
+ }
+
+ /**
+ * Sets peak thread count.
+ *
+ * @param peakThreadCnt Peak thread count.
+ */
+ public void setMaximumThreadCount(int peakThreadCnt) {
+ this.peakThreadCnt = peakThreadCnt;
+ }
+
+ /**
+ * Sets started thread count.
+ *
+ * @param startedThreadCnt Started thread count.
+ */
+ public void setTotalStartedThreadCount(long startedThreadCnt) {
+ this.startedThreadCnt = startedThreadCnt;
+ }
+
+ /**
+ * Sets daemon thread count.
+ *
+ * @param daemonThreadCnt Daemon thread count.
+ */
+ public void setCurrentDaemonThreadCount(int daemonThreadCnt) {
+ this.daemonThreadCnt = daemonThreadCnt;
+ }
+
+ /**
+ * Sets last data version.
+ *
+ * @param lastDataVer Last data version.
+ */
+ public void setLastDataVersion(long lastDataVer) {
+ this.lastDataVer = lastDataVer;
+ }
+
+ /**
+ * Sets sent messages count.
+ *
+ * @param sentMsgsCnt Sent messages count.
+ */
+ public void setSentMessagesCount(int sentMsgsCnt) {
+ this.sentMsgsCnt = sentMsgsCnt;
+ }
+
+ /**
+ * Sets sent bytes count.
+ *
+ * @param sentBytesCnt Sent bytes count.
+ */
+ public void setSentBytesCount(long sentBytesCnt) {
+ this.sentBytesCnt = sentBytesCnt;
+ }
+
+ /**
+ * Sets received messages count.
+ *
+ * @param rcvdMsgsCnt Received messages count.
+ */
+ public void setReceivedMessagesCount(int rcvdMsgsCnt) {
+ this.rcvdMsgsCnt = rcvdMsgsCnt;
+ }
+
+ /**
+ * Sets received bytes count.
+ *
+ * @param rcvdBytesCnt Received bytes count.
+ */
+ public void setReceivedBytesCount(long rcvdBytesCnt) {
+ this.rcvdBytesCnt = rcvdBytesCnt;
+ }
+
+ /**
+ * Sets outbound messages queue size.
+ *
+ * @param outMesQueueSize Outbound messages queue size.
+ */
+ public void setOutboundMessagesQueueSize(int outMesQueueSize) {
+ this.outMesQueueSize = outMesQueueSize;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void writeExternal(ObjectOutput out) throws IOException {
+ out.writeInt(maxActiveJobs);
+ out.writeInt(curActiveJobs);
+ out.writeFloat(avgActiveJobs);
+ out.writeInt(maxWaitingJobs);
+ out.writeInt(curWaitingJobs);
+ out.writeFloat(avgWaitingJobs);
+ out.writeInt(maxCancelledJobs);
+ out.writeInt(curCancelledJobs);
+ out.writeFloat(avgCancelledJobs);
+ out.writeInt(maxRejectedJobs);
+ out.writeInt(curRejectedJobs);
+ out.writeFloat(avgRejectedJobs);
+ out.writeInt(totalExecutedJobs);
+ out.writeInt(totalCancelledJobs);
+ out.writeInt(totalRejectedJobs);
+ out.writeLong(maxJobWaitTime);
+ out.writeLong(curJobWaitTime);
+ out.writeDouble(avgJobWaitTime);
+ out.writeLong(maxJobExecTime);
+ out.writeLong(curJobExecTime);
+ out.writeDouble(avgJobExecTime);
+ out.writeInt(totalExecTasks);
+ out.writeLong(curIdleTime);
+ out.writeLong(totalIdleTime);
+ out.writeInt(availProcs);
+ out.writeLong(totalPhysicalMemory);
+ out.writeDouble(load);
+ out.writeDouble(avgLoad);
+ out.writeDouble(gcLoad);
+ out.writeLong(heapInit);
+ out.writeLong(heapUsed);
+ out.writeLong(heapCommitted);
+ out.writeLong(heapMax);
+ out.writeLong(nonHeapInit);
+ out.writeLong(nonHeapUsed);
+ out.writeLong(nonHeapCommitted);
+ out.writeLong(nonHeapMax);
+ out.writeLong(upTime);
+ out.writeLong(startTime);
+ out.writeLong(nodeStartTime);
+ out.writeInt(threadCnt);
+ out.writeInt(peakThreadCnt);
+ out.writeLong(startedThreadCnt);
+ out.writeInt(daemonThreadCnt);
+ out.writeLong(lastDataVer);
+ out.writeInt(sentMsgsCnt);
+ out.writeLong(sentBytesCnt);
+ out.writeInt(rcvdMsgsCnt);
+ out.writeLong(rcvdBytesCnt);
+ out.writeInt(outMesQueueSize);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void readExternal(ObjectInput in) throws IOException {
+ lastUpdateTime = U.currentTimeMillis();
+
+ maxActiveJobs = in.readInt();
+ curActiveJobs = in.readInt();
+ avgActiveJobs = in.readFloat();
+ maxWaitingJobs = in.readInt();
+ curWaitingJobs = in.readInt();
+ avgWaitingJobs = in.readFloat();
+ maxCancelledJobs = in.readInt();
+ curCancelledJobs = in.readInt();
+ avgCancelledJobs = in.readFloat();
+ maxRejectedJobs = in.readInt();
+ curRejectedJobs = in.readInt();
+ avgRejectedJobs = in.readFloat();
+ totalExecutedJobs = in.readInt();
+ totalCancelledJobs = in.readInt();
+ totalRejectedJobs = in.readInt();
+ maxJobWaitTime = in.readLong();
+ curJobWaitTime = in.readLong();
+ avgJobWaitTime = in.readDouble();
+ maxJobExecTime = in.readLong();
+ curJobExecTime = in.readLong();
+ avgJobExecTime = in.readDouble();
+ totalExecTasks = in.readInt();
+ curIdleTime = in.readLong();
+ totalIdleTime = in.readLong();
+ availProcs = in.readInt();
+ totalPhysicalMemory = in.readLong();
+ load = in.readDouble();
+ avgLoad = in.readDouble();
+ gcLoad = in.readDouble();
+ heapInit = in.readLong();
+ heapUsed = in.readLong();
+ heapCommitted = in.readLong();
+ heapMax = in.readLong();
+ nonHeapInit = in.readLong();
+ nonHeapUsed = in.readLong();
+ nonHeapCommitted = in.readLong();
+ nonHeapMax = in.readLong();
+ upTime = in.readLong();
+ startTime = in.readLong();
+ nodeStartTime = in.readLong();
+ threadCnt = in.readInt();
+ peakThreadCnt = in.readInt();
+ startedThreadCnt = in.readLong();
+ daemonThreadCnt = in.readInt();
+ lastDataVer = in.readLong();
+ sentMsgsCnt = in.readInt();
+ sentBytesCnt = in.readLong();
+ rcvdMsgsCnt = in.readInt();
+ rcvdBytesCnt = in.readLong();
+ outMesQueueSize = in.readInt();
+ }
+
+ /** {@inheritDoc} */
+ @Override public int hashCode() {
+ return System.identityHashCode(this);
+ }
+
+ /** {@inheritDoc} */
+ @Override public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+
+ if (obj == null || getClass() != obj.getClass())
+ return false;
+
+ DiscoveryNodeMetricsAdapter other = (DiscoveryNodeMetricsAdapter)obj;
+
+ return
+ availProcs == other.availProcs &&
+ totalPhysicalMemory == other.totalPhysicalMemory &&
+ curActiveJobs == other.curActiveJobs &&
+ curCancelledJobs == other.curCancelledJobs &&
+ curIdleTime == other.curIdleTime &&
+ curJobExecTime == other.curJobExecTime &&
+ curJobWaitTime == other.curJobWaitTime &&
+ curRejectedJobs == other.curRejectedJobs &&
+ curWaitingJobs == other.curWaitingJobs &&
+ daemonThreadCnt == other.daemonThreadCnt &&
+ heapCommitted == other.heapCommitted &&
+ heapInit == other.heapInit &&
+ heapMax == other.heapMax &&
+ heapUsed == other.heapUsed &&
+ maxActiveJobs == other.maxActiveJobs &&
+ maxCancelledJobs == other.maxCancelledJobs &&
+ maxJobExecTime == other.maxJobExecTime &&
+ maxJobWaitTime == other.maxJobWaitTime &&
+ maxRejectedJobs == other.maxRejectedJobs &&
+ maxWaitingJobs == other.maxWaitingJobs &&
+ nonHeapCommitted == other.nonHeapCommitted &&
+ nonHeapInit == other.nonHeapInit &&
+ nonHeapMax == other.nonHeapMax &&
+ nonHeapUsed == other.nonHeapUsed &&
+ peakThreadCnt == other.peakThreadCnt &&
+ rcvdBytesCnt == other.rcvdBytesCnt &&
+ outMesQueueSize == other.outMesQueueSize &&
+ rcvdMsgsCnt == other.rcvdMsgsCnt &&
+ sentBytesCnt == other.sentBytesCnt &&
+ sentMsgsCnt == other.sentMsgsCnt &&
+ startTime == other.startTime &&
+ nodeStartTime == other.nodeStartTime &&
+ startedThreadCnt == other.startedThreadCnt &&
+ threadCnt == other.threadCnt &&
+ totalCancelledJobs == other.totalCancelledJobs &&
+ totalExecutedJobs == other.totalExecutedJobs &&
+ totalExecTasks == other.totalExecTasks &&
+ totalIdleTime == other.totalIdleTime &&
+ totalRejectedJobs == other.totalRejectedJobs &&
+ upTime == other.upTime;
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(DiscoveryNodeMetricsAdapter.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1ef8f69b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
new file mode 100644
index 0000000..efeb0e0
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/DiscoverySpi.java
@@ -0,0 +1,132 @@
+/* @java.file.header */
+
+/* _________ _____ __________________ _____
+ * __ ____/___________(_)______ /__ ____/______ ____(_)_______
+ * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
+ * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
+ * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
+ */
+
+package org.apache.ignite.spi.discovery;
+
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.product.*;
+import org.apache.ignite.spi.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+
+/**
+ * Grid discovery SPI allows to discover remote nodes in grid.
+ * <p>
+ * The default discovery SPI is {@link org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi}
+ * with default configuration which allows all nodes in local network
+ * (with enabled multicast) to discover each other.
+ * <p>
+ * Gridgain provides the following {@code GridDeploymentSpi} implementation:
+ * <ul>
+ * <li>{@link org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi}</li>
+ * </ul>
+ * <b>NOTE:</b> this SPI (i.e. methods in this interface) should never be used directly. SPIs provide
+ * internal view on the subsystem and is used internally by GridGain kernal. In rare use cases when
+ * access to a specific implementation of this SPI is required - an instance of this SPI can be obtained
+ * via {@link org.apache.ignite.Ignite#configuration()} method to check its configuration properties or call other non-SPI
+ * methods. Note again that calling methods from this interface on the obtained instance can lead
+ * to undefined behavior and explicitly not supported.
+ */
+public interface DiscoverySpi extends IgniteSpi {
+ /**
+ * Gets collection of remote nodes in grid or empty collection if no remote nodes found.
+ *
+ * @return Collection of remote nodes.
+ */
+ public Collection<ClusterNode> getRemoteNodes();
+
+ /**
+ * Gets local node.
+ *
+ * @return Local node.
+ */
+ public ClusterNode getLocalNode();
+
+ /**
+ * Gets node by ID.
+ *
+ * @param nodeId Node ID.
+ * @return Node with given ID or {@code null} if node is not found.
+ */
+ @Nullable public ClusterNode getNode(UUID nodeId);
+
+ /**
+ * Pings the remote node to see if it's alive.
+ *
+ * @param nodeId Node Id.
+ * @return {@code true} if node alive, {@code false} otherwise.
+ */
+ public boolean pingNode(UUID nodeId);
+
+ /**
+ * Sets node attributes and node version which will be distributed in grid during
+ * join process. Note that these attributes cannot be changed and set only once.
+ *
+ * @param attrs Map of node attributes.
+ * @param ver Product version.
+ */
+ public void setNodeAttributes(Map<String, Object> attrs, IgniteProductVersion ver);
+
+ /**
+ * Sets a listener for discovery events. Refer to
+ * {@link org.apache.ignite.events.IgniteDiscoveryEvent} for a set of all possible
+ * discovery events.
+ * <p>
+ * Note that as of GridGain 3.0.2 this method is called <b>before</b>
+ * method {@link #spiStart(String)} is called. This is done to
+ * avoid potential window when SPI is started but the listener is
+ * not registered yet.
+ *
+ * @param lsnr Listener to discovery events or {@code null} to unset the listener.
+ */
+ public void setListener(@Nullable DiscoverySpiListener lsnr);
+
+ /**
+ * Sets a handler for initial data exchange between GridGain nodes.
+ *
+ * @param exchange Discovery data exchange handler.
+ */
+ public void setDataExchange(DiscoverySpiDataExchange exchange);
+
+ /**
+ * Sets discovery metrics provider. Use metrics provided by
+ * {@link DiscoveryMetricsProvider#getMetrics()} method to exchange
+ * dynamic metrics between nodes.
+ *
+ * @param metricsProvider Provider of metrics data.
+ */
+ public void setMetricsProvider(DiscoveryMetricsProvider metricsProvider);
+
+ /**
+ * Tells discovery SPI to disconnect from topology. This is very close to calling
+ * {@link #spiStop()} with accounting that it is not a full stop,
+ * but disconnect due to segmentation.
+ *
+ * @throws org.apache.ignite.spi.IgniteSpiException If any error occurs.
+ */
+ public void disconnect() throws IgniteSpiException;
+
+ /**
+ * Sets discovery SPI node authenticator. This method is called before SPI start() method.
+ *
+ * @param auth Discovery SPI authenticator.
+ */
+ public void setAuthenticator(DiscoverySpiNodeAuthenticator auth);
+
+ /**
+ * Gets start time of the very first node in the grid. This value should be the same
+ * on all nodes in the grid and it should not change even if very first node fails
+ * of leaves grid.
+ *
+ * @return Start time of the first node in grid or {@code 0} if SPI implementation
+ * does not support this method.
+ */
+ public long getGridStartTime();
+}