You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by il...@apache.org on 2019/01/29 14:06:20 UTC

[ignite] branch master updated: IGNITE-11004 Bring back protected methods and fields - Fixes #5916.

This is an automated email from the ASF dual-hosted git repository.

ilyak pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 9543ece  IGNITE-11004 Bring back protected methods and fields - Fixes #5916.
9543ece is described below

commit 9543ece086e5e45ce82e209bf0e95f71a5e76faf
Author: pereslegin-pa <xx...@gmail.com>
AuthorDate: Tue Jan 29 17:06:00 2019 +0300

    IGNITE-11004 Bring back protected methods and fields - Fixes #5916.
    
    Signed-off-by: Ilya Kasnacheev <il...@gmail.com>
---
 .../tcp/ipfinder/TcpDiscoveryIpFinderAdapter.java  | 40 ++++++++++++++++++++++
 .../sharedfs/TcpDiscoverySharedFsIpFinder.java     |  5 ---
 2 files changed, 40 insertions(+), 5 deletions(-)

diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.java
index c491dc3..0995104 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinderAdapter.java
@@ -19,11 +19,15 @@ package org.apache.ignite.spi.discovery.tcp.ipfinder;
 
 import java.net.InetSocketAddress;
 import java.util.Collection;
+import org.apache.ignite.Ignite;
 import org.apache.ignite.internal.util.tostring.GridToStringExclude;
 import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.resources.IgniteInstanceResource;
 import org.apache.ignite.spi.IgniteSpiConfiguration;
 import org.apache.ignite.spi.IgniteSpiContext;
 import org.apache.ignite.spi.IgniteSpiException;
+import org.apache.ignite.spi.discovery.DiscoverySpi;
+import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
 
 /**
  * IP finder interface implementation adapter.
@@ -36,6 +40,17 @@ public abstract class TcpDiscoveryIpFinderAdapter implements TcpDiscoveryIpFinde
     @GridToStringExclude
     private volatile IgniteSpiContext spiCtx;
 
+    /**
+     * Ignite instance.
+     *
+     * @deprecated Since 2.8. May contain an invalid Ignite instance when multiple nodes shares same
+     * {@link TcpDiscoveryIpFinder} instance.
+     */
+    @Deprecated
+    @IgniteInstanceResource
+    @GridToStringExclude
+    protected Ignite ignite;
+
     /** {@inheritDoc} */
     @Override public void onSpiContextInitialized(IgniteSpiContext spiCtx) throws IgniteSpiException {
         this.spiCtx = spiCtx;
@@ -81,6 +96,31 @@ public abstract class TcpDiscoveryIpFinderAdapter implements TcpDiscoveryIpFinde
     }
 
     /**
+     * @return {@code True} if TCP discovery works in client mode.
+     * @deprecated Since 2.8. May return incorrect value if client and server nodes shares same {@link
+     * TcpDiscoveryIpFinder} instance.
+     */
+    @Deprecated
+    protected boolean discoveryClientMode() {
+        boolean clientMode;
+
+        Ignite ignite0 = ignite;
+
+        if (ignite0 != null) { // Can be null if used in tests without starting Ignite.
+            DiscoverySpi discoSpi = ignite0.configuration().getDiscoverySpi();
+
+            if (!(discoSpi instanceof TcpDiscoverySpi))
+                throw new IgniteSpiException("TcpDiscoveryIpFinder should be used with TcpDiscoverySpi: " + discoSpi);
+
+            clientMode = ignite0.configuration().isClientMode() && !((TcpDiscoverySpi)discoSpi).isForceServerMode();
+        }
+        else
+            clientMode = false;
+
+        return clientMode;
+    }
+
+    /**
      * @return SPI context.
      */
     protected IgniteSpiContext spiContext() {
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.java
index 63e1080..7b41a6e 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.java
@@ -71,11 +71,6 @@ public class TcpDiscoverySharedFsIpFinder extends TcpDiscoveryIpFinderAdapter {
     /** IPv6 colon substitute. */
     private static final String COLON_SUBST = "_";
 
-    /** Ignite instance . */
-    @IgniteInstanceResource
-    @GridToStringExclude
-    private Ignite ignite;
-
     /** Grid logger. */
     @LoggerResource
     private IgniteLogger log;