You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ni...@apache.org on 2020/03/20 09:50:09 UTC

[ignite] branch master updated: IGNITE-12773 : Reduce number of cluster deactivation methods in internal API. (#7514)

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

nizhikov 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 6a4a9c8  IGNITE-12773 : Reduce number of cluster deactivation methods in internal API. (#7514)
6a4a9c8 is described below

commit 6a4a9c89e8fccd8491310b69d36b47010c9e5214
Author: Vladsz83 <vl...@gmail.com>
AuthorDate: Fri Mar 20 12:49:52 2020 +0300

    IGNITE-12773 : Reduce number of cluster deactivation methods in internal API. (#7514)
---
 .../rest/ChangeStateCommandHandlerTest.java        | 13 +++--
 ...nsactionFinishOnDeactivatedClusterSelfTest.java |  4 +-
 .../internal/client/GridClientClusterState.java    | 15 -----
 .../client/impl/GridClientClusterStateImpl.java    | 11 ----
 .../impl/connection/GridClientConnection.java      | 10 ----
 .../connection/GridClientNioTcpConnection.java     | 18 ------
 .../ignite/internal/cluster/IgniteClusterImpl.java |  8 ++-
 .../internal/commandline/ActivateCommand.java      |  3 +-
 .../cluster/GridClusterStateProcessor.java         | 68 +++++-----------------
 .../cluster/IGridClusterStateProcessor.java        | 16 +----
 .../GridChangeClusterStateCommandHandler.java      |  2 +-
 .../cluster/GridChangeStateCommandHandler.java     |  2 +-
 .../client/AdditionalSecurityCheckTest.java        |  3 +-
 13 files changed, 38 insertions(+), 135 deletions(-)

diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/ChangeStateCommandHandlerTest.java b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/ChangeStateCommandHandlerTest.java
index 9e68406..7101144 100644
--- a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/ChangeStateCommandHandlerTest.java
+++ b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/ChangeStateCommandHandlerTest.java
@@ -29,6 +29,9 @@ import org.apache.ignite.internal.client.GridClientFactory;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.junit.Test;
 
+import static org.apache.ignite.cluster.ClusterState.ACTIVE;
+import static org.apache.ignite.cluster.ClusterState.INACTIVE;
+import static org.apache.ignite.cluster.ClusterState.active;
 import static org.apache.ignite.internal.client.GridClientProtocol.TCP;
 
 /**
@@ -87,23 +90,23 @@ public class ChangeStateCommandHandlerTest extends GridCommonAbstractTest {
     public void testActivateDeActivate() throws GridClientException {
         GridClientClusterState state = client.state();
 
-        boolean active = state.active();
+        boolean active = active(state.state());
 
         assertTrue(active);
 
-        state.active(false);
+        state.state(INACTIVE, true);
 
         IgniteEx ig1 = grid(0);
         IgniteEx ig2 = grid(1);
 
         assertFalse(ig1.active());
         assertFalse(ig2.active());
-        assertFalse(state.active());
+        assertEquals(INACTIVE, state.state());
 
-        state.active(true);
+        state.state(ACTIVE, false);
 
         assertTrue(ig1.active());
         assertTrue(ig2.active());
-        assertTrue(state.active());
+        assertEquals(ACTIVE, state.state());
     }
 }
diff --git a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/MvccJdbcTransactionFinishOnDeactivatedClusterSelfTest.java b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/MvccJdbcTransactionFinishOnDeactivatedClusterSelfTest.java
index 149e4da..c72b97c 100644
--- a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/MvccJdbcTransactionFinishOnDeactivatedClusterSelfTest.java
+++ b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/MvccJdbcTransactionFinishOnDeactivatedClusterSelfTest.java
@@ -37,6 +37,8 @@ import org.apache.ignite.testframework.GridTestUtils;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.junit.Test;
 
+import static org.apache.ignite.cluster.ClusterState.INACTIVE;
+
 /** */
 public class MvccJdbcTransactionFinishOnDeactivatedClusterSelfTest extends GridCommonAbstractTest {
     /** {@inheritDoc} */
@@ -153,7 +155,7 @@ public class MvccJdbcTransactionFinishOnDeactivatedClusterSelfTest extends GridC
 
             log.info(">>> Try to deactivate ...");
 
-            state.active(false);
+            state.state(INACTIVE, true);
         }
     }
 }
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientClusterState.java b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientClusterState.java
index 177534e..97d72a1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientClusterState.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientClusterState.java
@@ -24,21 +24,6 @@ import org.apache.ignite.cluster.ClusterState;
  */
 public interface GridClientClusterState {
     /**
-     * @param active {@code True} activate, {@code False} deactivate.
-     * @throws GridClientException If the request to change the cluster state failed.
-     * @deprecated Use {@link #state(ClusterState, boolean)} instead.
-     */
-    @Deprecated
-    public void active(boolean active) throws GridClientException;
-
-    /**
-     * @return {@code Boolean} - Current cluster state. {@code True} active, {@code False} inactive.
-     * @deprecated Use {@link #state()} instead.
-     */
-    @Deprecated
-    public boolean active() throws GridClientException;
-
-    /**
      * @return Current cluster state.
      * @throws GridClientException If the request to get the cluster state failed.
      */
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/GridClientClusterStateImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/GridClientClusterStateImpl.java
index 4389723..db454cf 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/GridClientClusterStateImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/GridClientClusterStateImpl.java
@@ -28,7 +28,6 @@ import org.apache.ignite.internal.client.GridClientPredicate;
 import org.apache.ignite.internal.client.balancer.GridClientLoadBalancer;
 import org.apache.ignite.internal.client.impl.connection.GridClientConnection;
 
-import static org.apache.ignite.cluster.ClusterState.ACTIVE;
 import static org.apache.ignite.cluster.ClusterState.INACTIVE;
 import static org.apache.ignite.internal.client.util.GridClientUtils.checkFeatureSupportedByCluster;
 
@@ -55,16 +54,6 @@ public class GridClientClusterStateImpl extends GridClientAbstractProjection<Gri
     }
 
     /** {@inheritDoc} */
-    @Override public void active(final boolean active) throws GridClientException {
-        state(active ? ACTIVE : INACTIVE, true);
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean active() throws GridClientException {
-        return withReconnectHandling(GridClientConnection::currentState).get();
-    }
-
-    /** {@inheritDoc} */
     @Override public ClusterState state() throws GridClientException {
         return withReconnectHandling(GridClientConnection::state).get();
     }
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientConnection.java b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientConnection.java
index 5240e70..00759e0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientConnection.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientConnection.java
@@ -332,16 +332,6 @@ public abstract class GridClientConnection {
         throws GridClientClosedException, GridClientConnectionResetException;
 
     /**
-     * Get current grid state.
-     *
-     * @param destNodeId Destination node id.
-     * @deprecated Use {@link #state(UUID)} instead.
-     */
-    @Deprecated
-    public abstract GridClientFuture<Boolean> currentState(UUID destNodeId)
-        throws GridClientClosedException, GridClientConnectionResetException;
-
-    /**
      * Gets current grid global state.
      *
      * @param destNodeId Destination node id.
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
index 45d4779..773ba27 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/connection/GridClientNioTcpConnection.java
@@ -834,24 +834,6 @@ public class GridClientNioTcpConnection extends GridClientConnection {
     }
 
     /** {@inheritDoc} */
-    @Override public GridClientFuture<Boolean> currentState(
-        UUID destNodeId
-    ) throws GridClientClosedException, GridClientConnectionResetException {
-        GridClientFutureAdapter<Boolean> resFut = new GridClientFutureAdapter<>();
-
-        state(destNodeId).listen(fut -> {
-            try {
-                resFut.onDone(ClusterState.active(fut.get()));
-            }
-            catch (GridClientException e) {
-                resFut.onDone(e);
-            }
-        });
-
-        return resFut;
-    }
-
-    /** {@inheritDoc} */
     @Override public GridClientFuture<ClusterState> state(
         UUID destNodeId
     ) throws GridClientClosedException, GridClientConnectionResetException {
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterImpl.java
index 96ad78d..41f121f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/cluster/IgniteClusterImpl.java
@@ -74,6 +74,8 @@ import org.apache.ignite.lang.IgnitePredicate;
 import org.apache.ignite.lang.IgniteProductVersion;
 import org.jetbrains.annotations.Nullable;
 
+import static org.apache.ignite.cluster.ClusterState.ACTIVE;
+import static org.apache.ignite.cluster.ClusterState.INACTIVE;
 import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_IPS;
 import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_MACS;
 import static org.apache.ignite.internal.util.nodestart.IgniteNodeStartUtils.parseFile;
@@ -313,7 +315,7 @@ public class IgniteClusterImpl extends ClusterGroupAdapter implements IgniteClus
         guard();
 
         try {
-            ctx.state().changeGlobalState(active, serverNodes(), false).get();
+            ctx.state().changeGlobalState(active ? ACTIVE : INACTIVE, true, serverNodes(), false).get();
         }
         catch (IgniteCheckedException e) {
             throw U.convertException(e);
@@ -376,7 +378,7 @@ public class IgniteClusterImpl extends ClusterGroupAdapter implements IgniteClus
         try {
             validateBeforeBaselineChange(baselineTop);
 
-            ctx.state().changeGlobalState(true, baselineTop, true).get();
+            ctx.state().changeGlobalState(ACTIVE, false, baselineTop, true).get();
         }
         catch (IgniteCheckedException e) {
             throw U.convertException(e);
@@ -527,7 +529,7 @@ public class IgniteClusterImpl extends ClusterGroupAdapter implements IgniteClus
 
             validateBeforeBaselineChange(target);
 
-            ctx.state().changeGlobalState(true, target, true, isBaselineAutoAdjust).get();
+            ctx.state().changeGlobalState(ACTIVE, false, target, true, isBaselineAutoAdjust).get();
         }
         catch (IgniteCheckedException e) {
             throw U.convertException(e);
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/commandline/ActivateCommand.java b/modules/core/src/main/java/org/apache/ignite/internal/commandline/ActivateCommand.java
index f2817d7..d1fb112 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/commandline/ActivateCommand.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/commandline/ActivateCommand.java
@@ -23,6 +23,7 @@ import org.apache.ignite.internal.client.GridClientClusterState;
 import org.apache.ignite.internal.client.GridClientConfiguration;
 import org.apache.ignite.internal.client.GridClientException;
 
+import static org.apache.ignite.cluster.ClusterState.ACTIVE;
 import static org.apache.ignite.internal.commandline.CommandList.ACTIVATE;
 import static org.apache.ignite.internal.commandline.CommandList.SET_STATE;
 
@@ -49,7 +50,7 @@ public class ActivateCommand implements Command<Void> {
         try (GridClient client = Command.startClient(cfg)) {
             GridClientClusterState state = client.state();
 
-            state.active(true);
+            state.state(ACTIVE, false);
 
             logger.info("Cluster activated");
         }
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
index 3031e4b..5104774 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
@@ -943,15 +943,6 @@ public class GridClusterStateProcessor extends GridProcessorAdapter implements I
 
     /** {@inheritDoc} */
     @Override public IgniteInternalFuture<?> changeGlobalState(
-        final boolean activate,
-        Collection<? extends BaselineNode> baselineNodes,
-        boolean forceChangeBaselineTopology
-    ) {
-        return changeGlobalState(activate, baselineNodes, forceChangeBaselineTopology, false);
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteInternalFuture<?> changeGlobalState(
         ClusterState state,
         boolean forceDeactivation,
         Collection<? extends BaselineNode> baselineNodes,
@@ -960,47 +951,6 @@ public class GridClusterStateProcessor extends GridProcessorAdapter implements I
         return changeGlobalState(state, forceDeactivation, baselineNodes, forceChangeBaselineTopology, false);
     }
 
-    /**
-     * @param activate New activate state.
-     * @param baselineNodes New BLT nodes.
-     * @param forceChangeBaselineTopology Force change BLT.
-     * @param isAutoAdjust Auto adjusting flag.
-     * @return Global change state future.
-     * @deprecated Use {@link #changeGlobalState(ClusterState, boolean, Collection, boolean, boolean)} instead.
-     */
-    @Deprecated
-    public IgniteInternalFuture<?> changeGlobalState(
-        final boolean activate,
-        Collection<? extends BaselineNode> baselineNodes,
-        boolean forceChangeBaselineTopology,
-        boolean isAutoAdjust
-    ) {
-        return changeGlobalState(activate ? ACTIVE : INACTIVE, true, baselineNodes, forceChangeBaselineTopology,
-            isAutoAdjust);
-    }
-
-    /**
-     * @param state New activate state.
-     * @param forceDeactivation If {@code true}, cluster deactivation will be forced.
-     * @param baselineNodes New BLT nodes.
-     * @param forceChangeBaselineTopology Force change BLT.
-     * @param isAutoAdjust Auto adjusting flag.
-     * @return Global change state future.
-     */
-    public IgniteInternalFuture<?> changeGlobalState(
-        ClusterState state,
-        boolean forceDeactivation,
-        Collection<? extends BaselineNode> baselineNodes,
-        boolean forceChangeBaselineTopology,
-        boolean isAutoAdjust
-    ) {
-        BaselineTopology newBlt = (compatibilityMode && !forceChangeBaselineTopology) ?
-            null :
-            calculateNewBaselineTopology(state, baselineNodes, forceChangeBaselineTopology);
-
-        return changeGlobalState0(state, forceDeactivation, newBlt, forceChangeBaselineTopology, isAutoAdjust);
-    }
-
     /** */
     private BaselineTopology calculateNewBaselineTopology(
         ClusterState state,
@@ -1065,14 +1015,26 @@ public class GridClusterStateProcessor extends GridProcessorAdapter implements I
         return bltNodes;
     }
 
-    /** */
-    private IgniteInternalFuture<?> changeGlobalState0(
+    /**
+     * @param state New cluster state.
+     * @param forceDeactivation If {@code true}, cluster deactivation will be forced.
+     * @param baselineNodes New baseline nodes.
+     * @param forceChangeBaselineTopology Force change baseline topology.
+     * @param isAutoAdjust Auto adjusting baseline flag.
+     * @return State change future.
+     * @see ClusterState#INACTIVE
+     */
+    public IgniteInternalFuture<?> changeGlobalState(
         ClusterState state,
         boolean forceDeactivation,
-        BaselineTopology blt,
+        Collection<? extends BaselineNode> baselineNodes,
         boolean forceChangeBaselineTopology,
         boolean isAutoAdjust
     ) {
+        BaselineTopology blt = (compatibilityMode && !forceChangeBaselineTopology) ?
+            null :
+            calculateNewBaselineTopology(state, baselineNodes, forceChangeBaselineTopology);
+
         boolean isBaselineAutoAdjustEnabled = isBaselineAutoAdjustEnabled();
 
         if (forceChangeBaselineTopology && isBaselineAutoAdjustEnabled != isAutoAdjust)
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/IGridClusterStateProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/IGridClusterStateProcessor.java
index 7118c28..74cfd50 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/IGridClusterStateProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/IGridClusterStateProcessor.java
@@ -109,23 +109,9 @@ public interface IGridClusterStateProcessor extends GridProcessor {
     void cacheProcessorStarted();
 
     /**
-     * @param activate New cluster state.
-     * @param baselineNodes New baseline nodes.
-     * @param forceChangeBaselineTopology Force change baseline topology.
-     * @return State change future.
-     * @deprecated Use {@link #changeGlobalState(ClusterState, boolean, Collection, boolean)} instead.
-     */
-    @Deprecated
-    IgniteInternalFuture<?> changeGlobalState(
-        boolean activate,
-        Collection<? extends BaselineNode> baselineNodes,
-        boolean forceChangeBaselineTopology
-    );
-
-    /**
      * @param state New cluster state.
-     * @param baselineNodes New baseline nodes.
      * @param forceDeactivation If {@code true}, cluster deactivation will be forced.
+     * @param baselineNodes New baseline nodes.
      * @param forceChangeBaselineTopology Force change baseline topology.
      * @return State change future.
      * @see ClusterState#INACTIVE
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cluster/GridChangeClusterStateCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cluster/GridChangeClusterStateCommandHandler.java
index eb38477..a72fee2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cluster/GridChangeClusterStateCommandHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cluster/GridChangeClusterStateCommandHandler.java
@@ -74,7 +74,7 @@ public class GridChangeClusterStateCommandHandler extends GridRestCommandHandler
                         " state from client node with ID: " + req.clientId());
 
                     ctx.state().changeGlobalState(req.state(), req.forceDeactivation(),
-                        ctx.cluster().get().forServers().nodes(), false, false).get();
+                        ctx.cluster().get().forServers().nodes(), false).get();
 
                     res.setResponse(req.command().key() + " done");
 
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cluster/GridChangeStateCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cluster/GridChangeStateCommandHandler.java
index d766ff7..e492398 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cluster/GridChangeStateCommandHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/cluster/GridChangeStateCommandHandler.java
@@ -76,7 +76,7 @@ public class GridChangeStateCommandHandler extends GridRestCommandHandlerAdapter
                     log.warning(req.command().key() + " is deprecated. Use newer commands.");
                 default:
                     ctx.state().changeGlobalState(req.active() ? ACTIVE : INACTIVE, req.forceDeactivation(),
-                        ctx.cluster().get().forServers().nodes(), false, false).get();
+                        ctx.cluster().get().forServers().nodes(), false).get();
 
                     res.setResponse(req.command().key() + " started");
                     break;
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/security/client/AdditionalSecurityCheckTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/security/client/AdditionalSecurityCheckTest.java
index 85f10aa..a3473f1 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/security/client/AdditionalSecurityCheckTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/security/client/AdditionalSecurityCheckTest.java
@@ -52,6 +52,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 
+import static org.apache.ignite.cluster.ClusterState.ACTIVE;
 import static org.apache.ignite.internal.processors.security.impl.TestAdditionalSecurityProcessor.CLIENT;
 import static org.apache.ignite.plugin.security.SecurityPermission.ADMIN_OPS;
 import static org.apache.ignite.plugin.security.SecurityPermission.CACHE_CREATE;
@@ -189,7 +190,7 @@ public class AdditionalSecurityCheckTest extends AbstractSecurityTest {
         try (GridClient client = GridClientFactory.start(getGridClientConfiguration())) {
             assertTrue(client.connected());
 
-            client.state().active(true);
+            client.state().state(ACTIVE, false);
         }
 
         try (IgniteClient client = Ignition.startClient(getClientConfiguration())) {