You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2018/05/08 14:11:29 UTC
ignite git commit: IGNITE-8430 implemented
getCurrentCoordinatorFormatted method in IgniteMXBean - Fixes #3957.
Repository: ignite
Updated Branches:
refs/heads/master 297df324d -> 666f22008
IGNITE-8430 implemented getCurrentCoordinatorFormatted method in IgniteMXBean - Fixes #3957.
Signed-off-by: dpavlov <dp...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/666f2200
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/666f2200
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/666f2200
Branch: refs/heads/master
Commit: 666f22008b57d27fd33fcee720ff66ab2ae1a998
Parents: 297df32
Author: Anton Kalashnikov <ka...@yandex.ru>
Authored: Tue May 8 17:10:53 2018 +0300
Committer: dpavlov <dp...@apache.org>
Committed: Tue May 8 17:10:53 2018 +0300
----------------------------------------------------------------------
.../apache/ignite/internal/IgniteKernal.java | 22 ++++++++++++++++++++
.../org/apache/ignite/mxbean/IgniteMXBean.java | 6 ++++++
.../ignite/util/mbeans/GridMBeanSelfTest.java | 16 +++++++++++---
3 files changed, 41 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/666f2200/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index 7029f19..86c85e8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -105,6 +105,7 @@ import org.apache.ignite.internal.binary.BinaryMarshaller;
import org.apache.ignite.internal.binary.BinaryUtils;
import org.apache.ignite.internal.cluster.ClusterGroupAdapter;
import org.apache.ignite.internal.cluster.IgniteClusterEx;
+import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.failure.FailureProcessor;
import org.apache.ignite.internal.managers.GridManager;
import org.apache.ignite.internal.managers.checkpoint.GridCheckpointManager;
@@ -297,6 +298,9 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
/** Force complete reconnect future. */
private static final Object STOP_RECONNECT = new Object();
+ /** Separator for formatted coordinator properties. */
+ public static final String COORDINATOR_PROPERTIES_SEPARATOR = ",";
+
static {
LongJVMPauseDetector.start();
}
@@ -503,6 +507,24 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
}
/** {@inheritDoc} */
+ @Override public String getCurrentCoordinatorFormatted() {
+ ClusterNode node = ctx.discovery().oldestAliveServerNode(AffinityTopologyVersion.NONE);
+
+ if (node == null)
+ return "";
+
+ return new StringBuilder()
+ .append(node.addresses())
+ .append(COORDINATOR_PROPERTIES_SEPARATOR)
+ .append(node.id())
+ .append(COORDINATOR_PROPERTIES_SEPARATOR)
+ .append(node.order())
+ .append(COORDINATOR_PROPERTIES_SEPARATOR)
+ .append(node.hostNames())
+ .toString();
+ }
+
+ /** {@inheritDoc} */
@Override public String getCommunicationSpiFormatted() {
assert cfg != null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/666f2200/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMXBean.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMXBean.java b/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMXBean.java
index 77ea035..cc4bc5b 100644
--- a/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMXBean.java
+++ b/modules/core/src/main/java/org/apache/ignite/mxbean/IgniteMXBean.java
@@ -433,6 +433,12 @@ public interface IgniteMXBean {
public void dumpDebugInfo();
/**
+ * Gets a formatted properties of current coordinator.
+ */
+ @MXBeanDescription("Formatted properties of current coordinator.")
+ public String getCurrentCoordinatorFormatted();
+
+ /**
* Runs IO latency test against all remote server nodes in cluster.
*
* @param warmup Warmup duration in milliseconds.
http://git-wip-us.apache.org/repos/asf/ignite/blob/666f2200/modules/core/src/test/java/org/apache/ignite/util/mbeans/GridMBeanSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/util/mbeans/GridMBeanSelfTest.java b/modules/core/src/test/java/org/apache/ignite/util/mbeans/GridMBeanSelfTest.java
index 4f5ed19..4e329f9 100644
--- a/modules/core/src/test/java/org/apache/ignite/util/mbeans/GridMBeanSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/util/mbeans/GridMBeanSelfTest.java
@@ -22,6 +22,7 @@ import javax.management.MBeanInfo;
import javax.management.MBeanOperationInfo;
import javax.management.MBeanParameterInfo;
import javax.management.StandardMBean;
+import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.mxbean.IgniteStandardMXBean;
import org.apache.ignite.mxbean.IgniteMXBean;
import org.apache.ignite.mxbean.MXBeanDescription;
@@ -161,10 +162,19 @@ public class GridMBeanSelfTest extends GridCommonAbstractTest {
*/
public void testIgniteKernalReturnsValidMBeanInfo() throws Exception {
try {
- IgniteMXBean ignite = (IgniteMXBean)startGrid();
+ IgniteEx igniteCrd = startGrid(0);
- assertNotNull(ignite.getUserAttributesFormatted());
- assertNotNull(ignite.getLifecycleBeansFormatted());
+ IgniteMXBean igniteMXBean = (IgniteMXBean)startGrid(1);
+
+ assertNotNull(igniteMXBean.getUserAttributesFormatted());
+ assertNotNull(igniteMXBean.getLifecycleBeansFormatted());
+
+ String coordinatorFormatted = igniteMXBean.getCurrentCoordinatorFormatted();
+
+ assertTrue(coordinatorFormatted.contains(igniteCrd.localNode().addresses().toString()));
+ assertTrue(coordinatorFormatted.contains(igniteCrd.localNode().hostNames().toString()));
+ assertTrue(coordinatorFormatted.contains(Long.toString(igniteCrd.localNode().order())));
+ assertTrue(coordinatorFormatted.contains(igniteCrd.localNode().id().toString()));
}
finally {
stopAllGrids();