From 8ca63083cbecaf83b177a08228f91efd1c6d2200 Mon Sep 17 00:00:00 2001 From: Emrah Kocaman Date: Thu, 21 Jul 2016 12:40:29 +0300 Subject: [PATCH] Use getAddress instead of getSocketAddress, fixes #8463 --- .../dto/PartitionServiceBeanDTO.java | 5 +-- .../ManagementCenterServiceTest.java | 1 + .../PartitionServiceBeanDTOTest.java | 38 +++++++++++++++++++ 3 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 hazelcast/src/test/java/com/hazelcast/internal/management/PartitionServiceBeanDTOTest.java diff --git a/hazelcast/src/main/java/com/hazelcast/internal/management/dto/PartitionServiceBeanDTO.java b/hazelcast/src/main/java/com/hazelcast/internal/management/dto/PartitionServiceBeanDTO.java index f0acb99dff6b..542fb8f73041 100644 --- a/hazelcast/src/main/java/com/hazelcast/internal/management/dto/PartitionServiceBeanDTO.java +++ b/hazelcast/src/main/java/com/hazelcast/internal/management/dto/PartitionServiceBeanDTO.java @@ -21,7 +21,6 @@ import com.hazelcast.internal.management.JsonSerializable; import com.hazelcast.nio.Address; import com.hazelcast.partition.InternalPartitionService; -import java.net.InetSocketAddress; import static com.hazelcast.util.JsonUtil.getInt; @@ -38,9 +37,9 @@ public PartitionServiceBeanDTO() { public PartitionServiceBeanDTO(InternalPartitionService partitionService, HazelcastInstanceImpl hazelcastInstance) { - InetSocketAddress address = hazelcastInstance.getCluster().getLocalMember().getSocketAddress(); + Address address = hazelcastInstance.getCluster().getLocalMember().getAddress(); this.partitionCount = partitionService.getPartitionCount(); - this.activePartitionCount = partitionService.getMemberPartitions(new Address(address)).size(); + this.activePartitionCount = partitionService.getMemberPartitions(address).size(); } public int getPartitionCount() { diff --git a/hazelcast/src/test/java/com/hazelcast/internal/management/ManagementCenterServiceTest.java b/hazelcast/src/test/java/com/hazelcast/internal/management/ManagementCenterServiceTest.java index 644aeaf1fdad..bc2a53c6107a 100644 --- a/hazelcast/src/test/java/com/hazelcast/internal/management/ManagementCenterServiceTest.java +++ b/hazelcast/src/test/java/com/hazelcast/internal/management/ManagementCenterServiceTest.java @@ -56,4 +56,5 @@ public void testCleanupUrl_needsCleanup() { public void testCleanupUrl_withNull() { assertNull(cleanupUrl(null)); } + } diff --git a/hazelcast/src/test/java/com/hazelcast/internal/management/PartitionServiceBeanDTOTest.java b/hazelcast/src/test/java/com/hazelcast/internal/management/PartitionServiceBeanDTOTest.java new file mode 100644 index 000000000000..c86913652ea1 --- /dev/null +++ b/hazelcast/src/test/java/com/hazelcast/internal/management/PartitionServiceBeanDTOTest.java @@ -0,0 +1,38 @@ +package com.hazelcast.internal.management; + +import com.hazelcast.config.Config; +import com.hazelcast.core.Hazelcast; +import com.hazelcast.core.HazelcastInstance; +import com.hazelcast.internal.management.dto.PartitionServiceBeanDTO; +import com.hazelcast.monitor.impl.MemberStateImpl; +import com.hazelcast.test.HazelcastParallelClassRunner; +import com.hazelcast.test.HazelcastTestSupport; +import com.hazelcast.test.annotation.QuickTest; +import org.junit.After; +import org.junit.Test; +import org.junit.experimental.categories.Category; +import org.junit.runner.RunWith; + +import static org.junit.Assert.assertEquals; + +@RunWith(HazelcastParallelClassRunner.class) +@Category(QuickTest.class) +public class PartitionServiceBeanDTOTest extends HazelcastTestSupport { + + @After + public void tearDown() { + Hazelcast.shutdownAll(); + } + + @Test //https://github.com/hazelcast/hazelcast/issues/8463 + public void testJMXStatsWithPublicAdressHostName() { + Config config = new Config(); + config.getNetworkConfig().setPublicAddress("hazelcast.org"); + HazelcastInstance instance = Hazelcast.newHazelcastInstance(config); + MemberStateImpl memberState = new MemberStateImpl(); + TimedMemberStateFactoryHelper.registerJMXBeans(getNode(instance).hazelcastInstance, memberState); + PartitionServiceBeanDTO partitionServiceDTO = memberState.getMXBeans().getPartitionServiceBean(); + assertEquals(partitionServiceDTO.getPartitionCount(), partitionServiceDTO.getActivePartitionCount()); + } + +}