ignite-709 review
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8aad0997 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8aad0997 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8aad0997 Branch: refs/heads/ignite-929 Commit: 8aad0997b229364a8a3d9d757653e1af43502964 Parents: 3251815 Author: Yakov Zhdanov <yzhda...@gridgain.com> Authored: Mon May 25 17:21:57 2015 +0300 Committer: Yakov Zhdanov <yzhda...@gridgain.com> Committed: Mon May 25 17:21:57 2015 +0300 ---------------------------------------------------------------------- .../main/java/org/apache/ignite/Ignition.java | 18 +++++++++---- .../org/apache/ignite/cluster/ClusterNode.java | 27 ++++++++++++-------- .../configuration/IgniteConfiguration.java | 3 ++- .../org/apache/ignite/internal/IgnitionEx.java | 12 +++------ .../discovery/tcp/TcpClientDiscoverySpi.java | 2 +- 5 files changed, 37 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8aad0997/modules/core/src/main/java/org/apache/ignite/Ignition.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/Ignition.java b/modules/core/src/main/java/org/apache/ignite/Ignition.java index af78c2a..3270f5c 100644 --- a/modules/core/src/main/java/org/apache/ignite/Ignition.java +++ b/modules/core/src/main/java/org/apache/ignite/Ignition.java @@ -20,6 +20,7 @@ package org.apache.ignite; import org.apache.ignite.configuration.*; import org.apache.ignite.internal.*; import org.apache.ignite.internal.util.typedef.internal.*; +import org.apache.ignite.spi.discovery.tcp.*; import org.jetbrains.annotations.*; import java.io.*; @@ -133,23 +134,30 @@ public class Ignition { } /** - * Sets static client mode flag. This flag used when node is started if {@link IgniteConfiguration#isClientMode()} - * is {@code null}. + * Sets client mode static flag. + * <p> + * This flag used when node is started if {@link IgniteConfiguration#isClientMode()} + * is {@code null}. When {@link IgniteConfiguration#isClientMode()} is set this flag is ignored. + * It is recommended to use {@link TcpClientDiscoverySpi} on client nodes. * * @param clientMode Client mode flag. * @see IgniteConfiguration#isClientMode() + * @see TcpClientDiscoverySpi */ public static void setClientMode(boolean clientMode) { IgnitionEx.setClientMode(clientMode); } /** - * Gets client static mode flag. This flag used when node is started if {@link IgniteConfiguration#isClientMode()} - * is {@code null}. - * {@link org.apache.ignite.spi.discovery.tcp.TcpClientDiscoverySpi} on client nodes. + * Gets client mode static flag. + * <p> + * This flag used when node is started if {@link IgniteConfiguration#isClientMode()} + * is {@code null}. When {@link IgniteConfiguration#isClientMode()} is set this flag is ignored. + * It is recommended to use {@link TcpClientDiscoverySpi} on client nodes. * * @return Client mode flag. * @see IgniteConfiguration#isClientMode() + * @see TcpClientDiscoverySpi */ public static boolean isClientMode() { return IgnitionEx.isClientMode(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8aad0997/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 5af4960..13dc30a 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 @@ -18,7 +18,9 @@ package org.apache.ignite.cluster; import org.apache.ignite.*; +import org.apache.ignite.configuration.*; import org.apache.ignite.lang.*; +import org.apache.ignite.spi.discovery.tcp.*; import org.jetbrains.annotations.*; import java.util.*; @@ -33,7 +35,7 @@ import java.util.*; * You can use cluster node attributes to provide static information about a node. * This information is initialized once within a cluster, during the node startup, and * remains the same throughout the lifetime of a node. Use - * {@link org.apache.ignite.configuration.IgniteConfiguration#getUserAttributes()} method to initialize your custom + * {@link IgniteConfiguration#getUserAttributes()} method to initialize your custom * node attributes at startup. Here is an example of how to assign an attribute to a node at startup: * <pre name="code" class="xml"> * <bean class="org.apache.ignite.configuration.IgniteConfiguration"> @@ -114,7 +116,7 @@ public interface ClusterNode { /** * Gets a node attribute. Attributes are assigned to nodes at startup - * via {@link org.apache.ignite.configuration.IgniteConfiguration#getUserAttributes()} method. + * via {@link IgniteConfiguration#getUserAttributes()} method. * <p> * The system adds the following attributes automatically: * <ul> @@ -149,7 +151,7 @@ public interface ClusterNode { /** * Gets all node attributes. Attributes are assigned to nodes at startup - * via {@link org.apache.ignite.configuration.IgniteConfiguration#getUserAttributes()} method. + * via {@link IgniteConfiguration#getUserAttributes()} method. * <p> * The system adds the following attributes automatically: * <ul> @@ -167,7 +169,7 @@ public interface ClusterNode { /** * Gets collection of addresses this node is known by. * <p> - * If {@link org.apache.ignite.configuration.IgniteConfiguration#getLocalHost()} value isn't {@code null} node will try to use that + * If {@link IgniteConfiguration#getLocalHost()} value isn't {@code null} node will try to use that * address for all communications and returned collection will contain only that address. * If it is {@code null} then local wildcard address will be used, and Ignite * will make the best effort to supply all addresses of that node in returned collection. @@ -179,12 +181,12 @@ public interface ClusterNode { /** * Gets collection of host names this node is known by. * <p> - * If {@link org.apache.ignite.configuration.IgniteConfiguration#getLocalHost()} value isn't {@code null} node will try to use + * If {@link IgniteConfiguration#getLocalHost()} value isn't {@code null} node will try to use * the host name of that resolved address for all communications and * returned collection will contain only that host name. * If that host name can not be resolved then ip address returned by method {@link #addresses()} is used. * <p> - * If {@link org.apache.ignite.configuration.IgniteConfiguration#getLocalHost()} value is {@code null} then local wildcard address will be used, + * If {@link IgniteConfiguration#getLocalHost()} value is {@code null} then local wildcard address will be used, * and this method returns host names of all addresses of that node. * * @return Collection of host names. @@ -238,12 +240,17 @@ public interface ClusterNode { public boolean isDaemon(); /** - * Tests whether or not this node is connected to cluster as a client. Do not confuse client in terms of - * discovery {@link org.apache.ignite.spi.discovery.tcp.TcpClientDiscoverySpi} and client in terms of cache - * {@link org.apache.ignite.configuration.IgniteConfiguration#isClientMode()}. + * Tests whether or not this node is connected to cluster as a client. + * <p> + * Do not confuse client in terms of + * discovery {@link TcpClientDiscoverySpi} and client in terms of cache + * {@link IgniteConfiguration#isClientMode()}. Cache clients cannot carry data, + * while topology clients connect to topology in a different way. * * @return {@code True} if this node is a client node, {@code false} otherwise. - * @see org.apache.ignite.spi.discovery.tcp.TcpClientDiscoverySpi + * @see TcpClientDiscoverySpi + * @see IgniteConfiguration#isClientMode() + * @see Ignition#isClientMode() */ public boolean isClient(); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8aad0997/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 ac919cc..e47d4b1 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 @@ -1824,9 +1824,10 @@ public class IgniteConfiguration { /** * Gets client mode flag. Client node cannot hold data in the caches. It's recommended to use - * {@link org.apache.ignite.spi.discovery.tcp.TcpClientDiscoverySpi} on client nodes. + * {@link TcpClientDiscoverySpi} on client nodes. * * @return Client mode flag. + * @see TcpClientDiscoverySpi */ public Boolean isClientMode() { return clientMode; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8aad0997/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 4f246e5..728fce6 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 @@ -121,11 +121,7 @@ public class IgnitionEx { }; /** */ - private static ThreadLocal<Boolean> clientMode = new ThreadLocal<Boolean>() { - @Override protected Boolean initialValue() { - return null; - } - }; + private static ThreadLocal<Boolean> clientMode = new ThreadLocal<>(); /** * Checks runtime version to be 1.7.x or 1.8.x. @@ -196,7 +192,7 @@ public class IgnitionEx { * @return Client mode flag. */ public static boolean isClientMode() { - return clientMode.get(); + return clientMode.get() == null ? false : clientMode.get(); } /** @@ -1749,8 +1745,8 @@ public class IgnitionEx { if (myCfg.isClientMode() == null || !myCfg.isClientMode()) { if (myCfg.getDiscoverySpi() instanceof TcpClientDiscoverySpi) { - throw new IgniteCheckedException("TcpClientDiscoverySpi can be used in client mode only, you " + - "have to set IgniteConfiguration#isClientMode to 'true'"); + throw new IgniteCheckedException("TcpClientDiscoverySpi can be used in client mode only" + + "(consider changing 'IgniteConfiguration.clientMode' to 'true')."); } } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8aad0997/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java index 22bb49b..84e3493 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java @@ -47,7 +47,7 @@ import static org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryHeartbeat /** * Client discovery SPI implementation that uses TCP/IP for node discovery. * <p> - * This discovery SPI requires at least on server node configured with + * This discovery SPI requires at least one server node configured with * {@link TcpDiscoverySpi}. It will try to connect to random IP taken from * {@link TcpDiscoveryIpFinder} which should point to one of these server * nodes and will maintain connection only with this node (will not enter the ring).