You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2018/04/23 10:34:29 UTC

[5/9] ignite git commit: IGNITE-8190 Print out an information message when local node is not in baseline

IGNITE-8190 Print out an information message when local node is not in baseline

Signed-off-by: Andrey Gura <ag...@apache.org>


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

Branch: refs/heads/ignite-6083
Commit: 25503ba1e36a2207469f0bcc91d9000607491926
Parents: f5a6525
Author: Aleksey Plekhanov <pl...@gmail.com>
Authored: Mon Apr 23 12:32:18 2018 +0300
Committer: Andrey Gura <ag...@apache.org>
Committed: Mon Apr 23 12:32:49 2018 +0300

----------------------------------------------------------------------
 .../cluster/GridClusterStateProcessor.java      | 22 ++++++++++++++++++++
 1 file changed, 22 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/25503ba1/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/GridClusterStateProcessor.java
----------------------------------------------------------------------
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 2700a20..d4d0eb1 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
@@ -321,6 +321,9 @@ public class GridClusterStateProcessor extends GridProcessorAdapter implements I
     @Override @Nullable public IgniteInternalFuture<Boolean> onLocalJoin(DiscoCache discoCache) {
         final DiscoveryDataClusterState state = globalState;
 
+        if (state.active())
+            checkLocalNodeInBaseline(state.baselineTopology());
+
         if (state.transition()) {
             joinFut = new TransitionOnJoinWaitFuture(state, discoCache);
 
@@ -337,6 +340,23 @@ public class GridClusterStateProcessor extends GridProcessorAdapter implements I
     }
 
     /**
+     * Checks whether local node participating in Baseline Topology and warn if not.
+     */
+    private void checkLocalNodeInBaseline(BaselineTopology blt) {
+        if (blt == null || blt.consistentIds() == null || ctx.clientNode() || ctx.isDaemon())
+            return;
+
+        if (!CU.isPersistenceEnabled(ctx.config()))
+            return;
+
+        if (!blt.consistentIds().contains(ctx.discovery().localNode().consistentId())) {
+            U.quietAndInfo(log, "Local node is not included in Baseline Topology and will not be used " +
+                "for persistent data storage. Use control.(sh|bat) script or IgniteCluster interface to include " +
+                "the node to Baseline Topology.");
+        }
+    }
+
+    /**
      * Checks whether all conditions to meet BaselineTopology are satisfied.
      */
     private boolean isBaselineSatisfied(BaselineTopology blt, List<ClusterNode> serverNodes) {
@@ -1101,6 +1121,8 @@ public class GridClusterStateProcessor extends GridProcessorAdapter implements I
     private void onFinalActivate(final StateChangeRequest req) {
         ctx.dataStructures().onBeforeActivate();
 
+        checkLocalNodeInBaseline(globalState.baselineTopology());
+
         ctx.closure().runLocalSafe(new Runnable() {
             @Override public void run() {
                 boolean client = ctx.clientNode();