You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ud...@apache.org on 2016/04/21 20:25:31 UTC
[1/2] incubator-geode git commit: GEODE-1227: Replaced all port
selections for server with '0' instead of getting the port from the
AvailablePortHelper. Some refactoring introducing Lambdas. Some refactoring
replacing Wait.wait with Awaitility.
Repository: incubator-geode
Updated Branches:
refs/heads/develop 0d0e706a4 -> b5ff97423
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b5ff9742/geode-cq/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ClientCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-cq/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ClientCommandsDUnitTest.java b/geode-cq/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ClientCommandsDUnitTest.java
index bc80563..e551dce 100644
--- a/geode-cq/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ClientCommandsDUnitTest.java
+++ b/geode-cq/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ClientCommandsDUnitTest.java
@@ -16,44 +16,14 @@
*/
package com.gemstone.gemfire.management.internal.cli.commands;
-import static com.gemstone.gemfire.test.dunit.Assert.*;
-import static com.gemstone.gemfire.test.dunit.DistributedTestUtils.*;
-import static com.gemstone.gemfire.test.dunit.LogWriterUtils.*;
-import static com.gemstone.gemfire.test.dunit.NetworkUtils.*;
-import static com.gemstone.gemfire.test.dunit.Wait.*;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Properties;
-import javax.management.ObjectName;
-
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-
-import com.gemstone.gemfire.cache.AttributesFactory;
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.CacheException;
-import com.gemstone.gemfire.cache.CacheFactory;
-import com.gemstone.gemfire.cache.DataPolicy;
-import com.gemstone.gemfire.cache.PartitionAttributesFactory;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.client.ClientCache;
-import com.gemstone.gemfire.cache.client.ClientCacheFactory;
-import com.gemstone.gemfire.cache.client.ClientRegionFactory;
-import com.gemstone.gemfire.cache.client.ClientRegionShortcut;
-import com.gemstone.gemfire.cache.client.PoolManager;
+import com.gemstone.gemfire.cache.*;
+import com.gemstone.gemfire.cache.client.*;
import com.gemstone.gemfire.cache.client.internal.PoolImpl;
import com.gemstone.gemfire.cache.query.CqAttributesFactory;
import com.gemstone.gemfire.cache.query.QueryService;
import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
import com.gemstone.gemfire.distributed.DistributedMember;
import com.gemstone.gemfire.distributed.internal.DistributionConfig;
-import com.gemstone.gemfire.internal.AvailablePortHelper;
import com.gemstone.gemfire.internal.OSProcess;
import com.gemstone.gemfire.internal.cache.DistributedRegion;
import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
@@ -73,14 +43,30 @@ import com.gemstone.gemfire.management.internal.cli.result.CompositeResultData.S
import com.gemstone.gemfire.management.internal.cli.result.TabularResultData;
import com.gemstone.gemfire.test.dunit.Host;
import com.gemstone.gemfire.test.dunit.SerializableCallable;
-import com.gemstone.gemfire.test.dunit.SerializableRunnable;
import com.gemstone.gemfire.test.dunit.VM;
-import com.gemstone.gemfire.test.dunit.WaitCriterion;
import com.gemstone.gemfire.test.junit.categories.DistributedTest;
import com.gemstone.gemfire.test.junit.categories.FlakyTest;
+import com.jayway.awaitility.Awaitility;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import javax.management.ObjectName;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.concurrent.TimeUnit;
+
+import static com.gemstone.gemfire.test.dunit.Assert.*;
+import static com.gemstone.gemfire.test.dunit.DistributedTestUtils.getDUnitLocatorPort;
+import static com.gemstone.gemfire.test.dunit.LogWriterUtils.getLogWriter;
+import static com.gemstone.gemfire.test.dunit.NetworkUtils.getServerHostName;
/**
- * Dunit class for testing gemfire Client commands : list client , describe client
+ * Dunit class for testing gemfire Client commands : list client , describe client
+ *
* @since 8.0
*/
@Category(DistributedTest.class)
@@ -91,508 +77,370 @@ public class ClientCommandsDUnitTest extends CliCommandTestBase {
final String cq1 = "cq1";
final String cq2 = "cq2";
final String cq3 = "cq3";
- final String clientName = "dc1";
String clientId = "";
int port0 = 0;
- int port1= 0;
-
- public void waitForListClientMbean(){
-
+ int port1 = 0;
+
+ public void waitForListClientMbean() {
+
final VM manager = Host.getHost(0).getVM(0);
final VM server1 = Host.getHost(0).getVM(1);
-
- final DistributedMember serverMember = getMember(server1);
-
- assertNotNull(serverMember);
-
- manager.invoke(new SerializableRunnable() {
- @Override
- public void run() {
- final WaitCriterion waitForMaangerMBean = new WaitCriterion() {
- @Override
- public boolean done() {
- final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
- if (service == null) {
- getLogWriter().info("waitForListClientMbean Still probing for service");
- return false;
- } else {
- final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0,serverMember);
- CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
- try {
- if(bean != null){
- if( bean.getClientIds().length > 1){
- return true;
- }
- }
- return false;
-
- } catch (Exception e) {
- LogWrapper.getInstance().warning("waitForListClientMbean Exception in waitForListClientMbean ::: " + CliUtil.stackTraceAsString(e));
- }
- return false;
- }
- }
- @Override
- public String description() {
- return "waitForListClientMbean Probing ...";
- }
- };
- waitForCriterion(waitForMaangerMBean, 2 * 60 * 1000, 2000, true);
- }
- });
-
- }
+ final DistributedMember serverMember = getMember(server1);
+ assertNotNull(serverMember);
-public void waitForListClientMbean2(){
-
- final VM manager = Host.getHost(0).getVM(0);
- final VM server1 = Host.getHost(0).getVM(1);
-
- final DistributedMember serverMember = getMember(server1);
-
- assertNotNull(serverMember);
-
- manager.invoke(new SerializableRunnable() {
- @Override
- public void run() {
- final WaitCriterion waitForMaangerMBean = new WaitCriterion() {
- @Override
- public boolean done() {
- final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
- if (service == null) {
- getLogWriter().info("waitForListClientMbean2 Still probing for service");
- return false;
- } else {
- final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0,serverMember);
- CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
- try {
- if(bean != null){
- if( bean.getClientIds().length > 0){
- return true;
- }
+ manager.invoke(() -> {
+ Awaitility.waitAtMost(2 * 60, TimeUnit.SECONDS).pollDelay(2, TimeUnit.SECONDS).until(() -> {
+ final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
+ if (service == null) {
+ getLogWriter().info("waitForListClientMbean Still probing for service");
+ return false;
+ } else {
+ final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0, serverMember);
+ CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
+ try {
+ if (bean != null) {
+ if (bean.getClientIds().length > 1) {
+ return true;
}
- return false;
-
- } catch (Exception e) {
- LogWrapper.getInstance().warning("waitForListClientMbean2 Exception in waitForListClientMbean ::: " + CliUtil.stackTraceAsString(e));
}
return false;
+
+ } catch (Exception e) {
+ LogWrapper.getInstance().warning("waitForListClientMbean Exception in waitForListClientMbean ::: " + CliUtil.stackTraceAsString(e));
}
+ return false;
}
+ });
+ });
+ }
+
+ public void waitForMbean() {
- @Override
- public String description() {
- return "waitForListClientMbean2 Probing ...";
- }
- };
- waitForCriterion(waitForMaangerMBean, 2 * 60 * 1000, 2000, true);
- }
- });
-
-}
-
- public void waitForMbean(){
-
final VM manager = Host.getHost(0).getVM(0);
final VM server1 = Host.getHost(0).getVM(1);
-
-
-
+
final DistributedMember serverMember = getMember(server1);
-
- assertNotNull(serverMember);
-
- manager.invoke(new SerializableRunnable() {
- @Override
- public void run() {
- final WaitCriterion waitForMaangerMBean = new WaitCriterion() {
- @Override
- public boolean done() {
- final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
- if (service == null) {
- getLogWriter().info("waitForMbean Still probing for service");
- return false;
- } else {
- final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0,serverMember);
- CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
- try {
- ClientHealthStatus stats = bean.showClientStats(bean.getClientIds()[0]);
- Map<String,String> poolStats = stats.getPoolStats();
- if(poolStats.size() > 0){
- Iterator<Entry<String, String>> it = poolStats.entrySet().iterator();
- while(it.hasNext()){
- Entry<String, String> entry = it.next();
- String poolStatsStr = entry.getValue();
- String str[] = poolStatsStr.split(";");
- int numCqs = Integer.parseInt(str[3].substring(str[3].indexOf("=")+1 ));
- if(numCqs == 3){
- return true;
- }
- }
+
+ assertNotNull(serverMember);
+
+ manager.invoke(() -> {
+ Awaitility.waitAtMost(2 * 60, TimeUnit.SECONDS).pollDelay(2, TimeUnit.SECONDS).until(() -> {
+ final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
+ if (service == null) {
+ getLogWriter().info("waitForMbean Still probing for service");
+ return false;
+ } else {
+ final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0, serverMember);
+ CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
+ try {
+ ClientHealthStatus stats = bean.showClientStats(bean.getClientIds()[0]);
+ Map<String, String> poolStats = stats.getPoolStats();
+ if (poolStats.size() > 0) {
+ Iterator<Entry<String, String>> it = poolStats.entrySet().iterator();
+ while (it.hasNext()) {
+ Entry<String, String> entry = it.next();
+ String poolStatsStr = entry.getValue();
+ String str[] = poolStatsStr.split(";");
+ int numCqs = Integer.parseInt(str[3].substring(str[3].indexOf("=") + 1));
+ if (numCqs == 3) {
+ return true;
}
- return false;
-
- } catch (Exception e) {
- LogWrapper.getInstance().warning("waitForMbean Exception in waitForMbean ::: " + CliUtil.stackTraceAsString(e));
}
- return false;
-
}
- }
+ return false;
- @Override
- public String description() {
- return "waitForMbean Probing for ";
+ } catch (Exception e) {
+ LogWrapper.getInstance().warning("waitForMbean Exception in waitForMbean ::: " + CliUtil.stackTraceAsString(e));
}
- };
- waitForCriterion(waitForMaangerMBean, 2 * 60 * 1000, 2000, true);
- }
- });
-
+ return false;
+
+ }
+ });
+ });
}
-
- public void waitForListClientMbean3(){
-
+
+ public void waitForListClientMbean3() {
+
final VM manager = Host.getHost(0).getVM(0);
final VM server1 = Host.getHost(0).getVM(1);
final VM server2 = Host.getHost(0).getVM(3);
-
+
final DistributedMember serverMember1 = getMember(server1);
final DistributedMember serverMember2 = getMember(server2);
-
- assertNotNull(serverMember1);
-
- manager.invoke(new SerializableRunnable() {
- @Override
- public void run() {
- final WaitCriterion waitForMaangerMBean = new WaitCriterion() {
- @Override
- public boolean done() {
- final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
- if (service == null) {
- getLogWriter().info("waitForListClientMbean3 Still probing for service");
- return false;
- } else {
- final ObjectName cacheServerMBeanName1 = service.getCacheServerMBeanName(port0,serverMember1);
- final ObjectName cacheServerMBeanName2 = service.getCacheServerMBeanName(port1,serverMember2);
- CacheServerMXBean bean1 = service.getMBeanProxy(cacheServerMBeanName1, CacheServerMXBean.class);
- CacheServerMXBean bean2 = service.getMBeanProxy(cacheServerMBeanName2, CacheServerMXBean.class);
- try {
- if(bean1 != null && bean2 != null){
- if( bean1.getClientIds().length > 0 && bean2.getClientIds().length > 0){
- return true;
- }
- }
- return false;
-
- } catch (Exception e) {
- LogWrapper.getInstance().warning("waitForListClientMbean3 Exception in waitForListClientMbean ::: " + CliUtil.stackTraceAsString(e));
+
+ assertNotNull(serverMember1);
+
+ manager.invoke(() -> {
+ Awaitility.waitAtMost(2 * 60, TimeUnit.SECONDS).pollDelay(2, TimeUnit.SECONDS).until(() -> {
+ final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
+ if (service == null) {
+ getLogWriter().info("waitForListClientMbean3 Still probing for service");
+ return false;
+ } else {
+ final ObjectName cacheServerMBeanName1 = service.getCacheServerMBeanName(port0, serverMember1);
+ final ObjectName cacheServerMBeanName2 = service.getCacheServerMBeanName(port1, serverMember2);
+ CacheServerMXBean bean1 = service.getMBeanProxy(cacheServerMBeanName1, CacheServerMXBean.class);
+ CacheServerMXBean bean2 = service.getMBeanProxy(cacheServerMBeanName2, CacheServerMXBean.class);
+ try {
+ if (bean1 != null && bean2 != null) {
+ if (bean1.getClientIds().length > 0 && bean2.getClientIds().length > 0) {
+ return true;
}
- return false;
}
- }
+ return false;
- @Override
- public String description() {
- return "waitForListClientMbean3 Probing ...";
+ } catch (Exception e) {
+ LogWrapper.getInstance().warning("waitForListClientMbean3 Exception in waitForListClientMbean ::: " + CliUtil.stackTraceAsString(e));
}
- };
- waitForCriterion(waitForMaangerMBean, 2 * 60 * 1000, 2000, true);
- }
- });
-
+ return false;
+ }
+ });
+ });
}
@Ignore("disabled for unknown reason")
@Test
public void testDescribeClientWithServers3() throws Exception {
- setupSystem3();
- String commandString = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\""+ clientId + "\"" ;
+ setupSystem3();
+ String commandString = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\"" + clientId + "\"";
final VM server1 = Host.getHost(0).getVM(1);
final VM server2 = Host.getHost(0).getVM(3);
final VM manager = Host.getHost(0).getVM(0);
- String serverName1 = (String) server1.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- return GemFireCacheImpl.getInstance().getDistributedSystem().getDistributedMember().getId();
-
- }
- });
-
- String serverName2 = (String) server2.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- return GemFireCacheImpl.getInstance().getDistributedSystem().getDistributedMember().getId();
-
- }
- });
-
+ String serverName1 = (String) server1.invoke("get DistributedMemberID ", () ->
+ getDistributedMemberId());
+
+ String serverName2 = (String) server2.invoke("get DistributedMemberID ", () ->
+ getDistributedMemberId());
+
final DistributedMember serverMember1 = getMember(server1);
-
- String[] clientIds = (String[]) manager.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
-
- final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0,serverMember1);
- CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
-
- return bean.getClientIds();
-
- }
+
+ String[] clientIds = (String[]) manager.invoke("get Client Ids", () -> {
+ final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
+
+ final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0, serverMember1);
+ CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
+
+ return bean.getClientIds();
});
-
+
String clientId1 = "";
-
- for(String str : clientIds){
+
+ for (String str : clientIds) {
clientId1 = str;
- getLogWriter().info("testDescribeClientWithServers clientIds for server1 ="+str);
+ getLogWriter().info("testDescribeClientWithServers clientIds for server1 =" + str);
}
-
+
final DistributedMember serverMember2 = getMember(server2);
-
-
- String[] clientIds2 = (String[]) manager.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
-
- final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port1,serverMember2);
- CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
-
- return bean.getClientIds();
-
- }
+
+ String[] clientIds2 = (String[]) manager.invoke("get Client Ids", () -> {
+ final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
+
+ final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port1, serverMember2);
+ CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
+
+ return bean.getClientIds();
});
-
+
String clientId2 = "";
-
- for(String str : clientIds2){
+
+ for (String str : clientIds2) {
clientId2 = str;
- getLogWriter().info("testDescribeClientWithServers clientIds for server2 ="+str);
+ getLogWriter().info("testDescribeClientWithServers clientIds for server2 =" + str);
}
-
-
- commandString = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\""+ clientId1 + "\"" ;
-
- getLogWriter().info("testDescribeClientWithServers commandStr clientId1 ="+commandString);
-
-
+
+ commandString = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\"" + clientId1 + "\"";
+
+ getLogWriter().info("testDescribeClientWithServers commandStr clientId1 =" + commandString);
+
CommandResult commandResultForClient1 = executeCommand(commandString);
- getLogWriter().info("testDescribeClientWithServers commandStr clientId1="+commandResultForClient1);
-
-
+ getLogWriter().info("testDescribeClientWithServers commandStr clientId1=" + commandResultForClient1);
+
String resultAsString = commandResultToString(commandResultForClient1);
- getLogWriter().info("testDescribeClientWithServers commandStr clientId1 ="+resultAsString);
+ getLogWriter().info("testDescribeClientWithServers commandStr clientId1 =" + resultAsString);
assertTrue(Status.OK.equals(commandResultForClient1.getStatus()));
-
+
verifyClientStats(commandResultForClient1, serverName1);
-
-
-
- commandString = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\""+ clientId2 + "\"" ;
-
- getLogWriter().info("testDescribeClientWithServers commandStr1="+commandString);
-
-
+
+ commandString = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\"" + clientId2 + "\"";
+
+ getLogWriter().info("testDescribeClientWithServers commandStr1=" + commandString);
+
CommandResult commandResultForClient2 = executeCommand(commandString);
- getLogWriter().info("testDescribeClientWithServers commandResult1="+commandResultForClient2);
-
-
+ getLogWriter().info("testDescribeClientWithServers commandResult1=" + commandResultForClient2);
+
resultAsString = commandResultToString(commandResultForClient2);
- getLogWriter().info("testDescribeClientWithServers resultAsString1="+resultAsString);
+ getLogWriter().info("testDescribeClientWithServers resultAsString1=" + resultAsString);
assertTrue(Status.OK.equals(commandResultForClient2.getStatus()));
-
+
verifyClientStats(commandResultForClient2, serverName2);
-
-
+
closeNonDurableClient(Host.getHost(0).getVM(2));
closeCacheServer(Host.getHost(0).getVM(3));
closeCacheServer(Host.getHost(0).getVM(1));
-
+
+ }
+
+ public void verifyClientStats(CommandResult commandResultForClient, String serverName) {
+ CompositeResultData resultData = (CompositeResultData) commandResultForClient.getResultData();
+ SectionResultData section = resultData.retrieveSection("InfoSection");
+ assertNotNull(section);
+ for (int i = 0; i < 1; i++) {
+ TabularResultData tableRsultData = section.retrieveTableByIndex(i);
+ getLogWriter().info("testDescribeClientWithServers getHeader=" + tableRsultData.getHeader());
+ assertNotNull(tableRsultData);
+
+ List<String> minConn = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_MIN_CONN);
+ List<String> maxConn = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_MAX_CONN);
+ List<String> redudancy = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_REDUDANCY);
+ List<String> numCqs = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_CQs);
+
+ getLogWriter().info("testDescribeClientWithServers getHeader numCqs =" + numCqs);
+
+ assertTrue(minConn.contains("1"));
+ assertTrue(maxConn.contains("-1"));
+ assertTrue(redudancy.contains("1"));
+ assertTrue(numCqs.contains("3"));
+ String puts = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PUTS);
+ assertTrue(puts.equals("2"));
+ String queue = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_QUEUE_SIZE);
+ assertTrue(queue.equals("1"));
+ String calls = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_LISTNER_CALLS);
+ assertTrue(calls.equals("1"));
+ String primServer = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PRIMARY_SERVERS);
+ assertTrue(primServer.equals(serverName));
+ String durable = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_DURABLE);
+ assertTrue(durable.equals("No"));
+ String threads = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_THREADS);
+ assertTrue(Integer.parseInt(threads) > 0);
+ String cpu = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_CPU);
+ assertTrue(Integer.parseInt(cpu) > 0);
+ String upTime = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_UP_TIME);
+ assertTrue(Integer.parseInt(upTime) >= 0);
+ String prcTime = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PROCESS_CPU_TIME);
+ assertTrue(Long.parseLong(prcTime) > 0);
+
+ }
}
-
- public void verifyClientStats(CommandResult commandResultForClient, String serverName){
- CompositeResultData resultData = (CompositeResultData) commandResultForClient.getResultData();
- SectionResultData section =resultData.retrieveSection("InfoSection");
- assertNotNull(section);
- for(int i = 0 ; i < 1 ; i++){
- TabularResultData tableRsultData = section.retrieveTableByIndex(i);
- getLogWriter().info("testDescribeClientWithServers getHeader="+tableRsultData.getHeader());
- assertNotNull(tableRsultData);
-
- List<String> minConn = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_MIN_CONN);
- List<String> maxConn = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_MAX_CONN);
- List<String> redudancy = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_REDUDANCY);
- List<String> numCqs = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_CQs);
-
-
- getLogWriter().info("testDescribeClientWithServers getHeader numCqs ="+ numCqs);
-
- assertTrue(minConn.contains("1"));
- assertTrue(maxConn.contains("-1"));
- assertTrue(redudancy.contains("1"));
- assertTrue(numCqs.contains("3"));
- String puts = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PUTS);
- assertTrue(puts.equals("2"));
- String queue = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_QUEUE_SIZE);
- assertTrue(queue.equals("1"));
- String calls = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_LISTNER_CALLS);
- assertTrue(calls.equals("1"));
- String primServer = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PRIMARY_SERVERS);
- assertTrue(primServer.equals(serverName));
- String durable = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_DURABLE);
- assertTrue(durable.equals("No"));
- String threads = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_THREADS);
- assertTrue(Integer.parseInt(threads) > 0);
- String cpu = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_CPU);
- assertTrue(Integer.parseInt(cpu) > 0);
- String upTime = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_UP_TIME);
- assertTrue(Integer.parseInt(upTime) >= 0);
- String prcTime = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PROCESS_CPU_TIME);
- assertTrue(Long.parseLong(prcTime) > 0);
-
- }
- }
@Ignore("disabled for unknown reason")
@Test
public void testDescribeClient() throws Exception {
setupSystem();
-
- getLogWriter().info("testDescribeClient clientId="+clientId);
+
+ getLogWriter().info("testDescribeClient clientId=" + clientId);
assertNotNull(clientId);
-
- String commandString = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\""+ clientId + "\"" ;
- getLogWriter().info("testDescribeClient commandStr="+commandString);
-
+
+ String commandString = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\"" + clientId + "\"";
+ getLogWriter().info("testDescribeClient commandStr=" + commandString);
+
final VM server1 = Host.getHost(0).getVM(1);
- String serverName = (String) server1.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- return GemFireCacheImpl.getInstance().getDistributedSystem().getDistributedMember().getId();
-
- }
- });
-
-
-
+ String serverName = (String) server1.invoke("get distributed member Id", () -> getDistributedMemberId());
+
CommandResult commandResult = executeCommand(commandString);
- getLogWriter().info("testDescribeClient commandResult="+commandResult);
-
-
+ getLogWriter().info("testDescribeClient commandResult=" + commandResult);
+
String resultAsString = commandResultToString(commandResult);
- getLogWriter().info("testDescribeClient resultAsString="+resultAsString);
+ getLogWriter().info("testDescribeClient resultAsString=" + resultAsString);
assertTrue(Status.OK.equals(commandResult.getStatus()));
-
+
CompositeResultData resultData = (CompositeResultData) commandResult.getResultData();
- SectionResultData section =resultData.retrieveSection("InfoSection");
- assertNotNull(section);
+ SectionResultData section = resultData.retrieveSection("InfoSection");
+ assertNotNull(section);
TabularResultData tableRsultData = section.retrieveTable("Pool Stats For Pool Name = DEFAULT");
assertNotNull(tableRsultData);
-
+
List<String> minConn = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_MIN_CONN);
List<String> maxConn = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_MAX_CONN);
List<String> redudancy = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_REDUDANCY);
List<String> numCqs = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_CQs);
-
+
assertTrue(minConn.contains("1"));
assertTrue(maxConn.contains("-1"));
assertTrue(redudancy.contains("1"));
- assertTrue(numCqs.contains("3"));
+ assertTrue(numCqs.contains("3"));
String puts = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PUTS);
- assertTrue(puts.equals("2"));
+ assertTrue(puts.equals("2"));
String queue = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_QUEUE_SIZE);
- assertTrue(queue.equals("1"));
+ assertTrue(queue.equals("1"));
String calls = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_LISTNER_CALLS);
assertTrue(calls.equals("1"));
String primServer = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PRIMARY_SERVERS);
assertTrue(primServer.equals(serverName));
String durable = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_DURABLE);
- assertTrue(durable.equals("No"));
+ assertTrue(durable.equals("No"));
String threads = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_THREADS);
assertTrue(Integer.parseInt(threads) > 0);
String cpu = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_CPU);
- assertTrue(Integer.parseInt(cpu) > 0);
+ assertTrue(Integer.parseInt(cpu) > 0);
String upTime = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_UP_TIME);
- assertTrue(Integer.parseInt(upTime) >= 0);
+ assertTrue(Integer.parseInt(upTime) >= 0);
String prcTime = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PROCESS_CPU_TIME);
assertTrue(Long.parseLong(prcTime) > 0);
-
-
+
closeNonDurableClient(Host.getHost(0).getVM(2));
closeCacheServer(Host.getHost(0).getVM(1));
closeCacheServer(Host.getHost(0).getVM(3));
-
-
+
}
@Test
public void testDescribeClientWithServers() throws Exception {
setupSystem2();
-
- String commandString = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\""+ clientId + "\"" ;
- getLogWriter().info("testDescribeClientWithServers commandStr="+commandString);
-
-
+
+ String commandString = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\"" + clientId + "\"";
+ getLogWriter().info("testDescribeClientWithServers commandStr=" + commandString);
+
final VM server1 = Host.getHost(0).getVM(1);
- String serverName = (String) server1.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- return GemFireCacheImpl.getInstance().getDistributedSystem().getDistributedMember().getId();
-
- }
- });
-
-
+ String serverName = (String) server1.invoke("get Distributed Member Id", () ->
+ getDistributedMemberId());
+
CommandResult commandResult = executeCommand(commandString);
- getLogWriter().info("testDescribeClientWithServers commandResult="+commandResult);
-
-
+ getLogWriter().info("testDescribeClientWithServers commandResult=" + commandResult);
+
String resultAsString = commandResultToString(commandResult);
- getLogWriter().info("testDescribeClientWithServers resultAsString="+resultAsString);
+ getLogWriter().info("testDescribeClientWithServers resultAsString=" + resultAsString);
assertTrue(Status.OK.equals(commandResult.getStatus()));
-
+
CompositeResultData resultData = (CompositeResultData) commandResult.getResultData();
- SectionResultData section =resultData.retrieveSection("InfoSection");
- assertNotNull(section);
+ SectionResultData section = resultData.retrieveSection("InfoSection");
+ assertNotNull(section);
TabularResultData tableRsultData = section.retrieveTable("Pool Stats For Pool Name = DEFAULT");
assertNotNull(tableRsultData);
-
+
List<String> minConn = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_MIN_CONN);
List<String> maxConn = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_MAX_CONN);
List<String> redudancy = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_REDUDANCY);
List<String> numCqs = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_CQs);
-
+
assertTrue(minConn.contains("1"));
assertTrue(maxConn.contains("-1"));
assertTrue(redudancy.contains("1"));
- assertTrue(numCqs.contains("3"));
+ assertTrue(numCqs.contains("3"));
String puts = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PUTS);
- assertTrue(puts.equals("2"));
+ assertTrue(puts.equals("2"));
String queue = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_QUEUE_SIZE);
- assertTrue(queue.equals("1"));
+ assertTrue(queue.equals("1"));
String calls = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_LISTNER_CALLS);
assertTrue(calls.equals("1"));
String primServer = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PRIMARY_SERVERS);
assertTrue(primServer.equals(serverName));
String durable = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_DURABLE);
- assertTrue(durable.equals("No"));
+ assertTrue(durable.equals("No"));
String threads = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_THREADS);
assertTrue(Integer.parseInt(threads) > 0);
String cpu = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_CPU);
- assertTrue(Integer.parseInt(cpu) > 0);
+ assertTrue(Integer.parseInt(cpu) > 0);
String upTime = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_UP_TIME);
- assertTrue(Integer.parseInt(upTime) >= 0);
+ assertTrue(Integer.parseInt(upTime) >= 0);
String prcTime = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PROCESS_CPU_TIME);
assertTrue(Long.parseLong(prcTime) > 0);
-
+
closeNonDurableClient(Host.getHost(0).getVM(2));
closeNonDurableClient(Host.getHost(0).getVM(3));
closeCacheServer(Host.getHost(0).getVM(1));
-
+
}
@Category(FlakyTest.class) // GEODE-908: random ports, BindException, time sensitive, HeadlessGfsh
@@ -600,845 +448,666 @@ public void waitForListClientMbean2(){
public void testListClient() throws Exception {
setupSystemForListClient();
-
- final VM manager = Host.getHost(0).getVM(0);
-
- String commandString = CliStrings.LIST_CLIENTS ;
- getLogWriter().info("testListClient commandStr="+commandString);
-
- waitForListClientMbean();
-
+ final VM manager = Host.getHost(0).getVM(0);
+
+ String commandString = CliStrings.LIST_CLIENTS;
+ getLogWriter().info("testListClient commandStr=" + commandString);
+
+ waitForListClientMbean();
+
final VM server1 = Host.getHost(0).getVM(1);
-
+
final DistributedMember serverMember = getMember(server1);
-
- String[] clientIds = (String[]) manager.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
-
- final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0,serverMember);
- CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
-
- return bean.getClientIds();
-
- }
- });
-
- String serverName = (String) server1.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- return GemFireCacheImpl.getInstance().getDistributedSystem().getDistributedMember().getId();
-
- }
+
+ String[] clientIds = (String[]) manager.invoke("get client Ids", () -> {
+ final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
+ final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0, serverMember);
+ CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
+ return bean.getClientIds();
});
-
+
+ String serverName = (String) server1.invoke("get distributed member Id", () ->
+ getDistributedMemberId());
+
CommandResult commandResult = executeCommand(commandString);
- getLogWriter().info("testListClient commandResult="+commandResult);
-
-
+ getLogWriter().info("testListClient commandResult=" + commandResult);
+
String resultAsString = commandResultToString(commandResult);
- getLogWriter().info("testListClient resultAsString="+resultAsString);
+ getLogWriter().info("testListClient resultAsString=" + resultAsString);
assertTrue(Status.OK.equals(commandResult.getStatus()));
-
-
+
CompositeResultData resultData = (CompositeResultData) commandResult.getResultData();
- SectionResultData section =resultData.retrieveSection("section1");
- assertNotNull(section);
+ SectionResultData section = resultData.retrieveSection("section1");
+ assertNotNull(section);
TabularResultData tableRsultData = section.retrieveTable("TableForClientList");
assertNotNull(tableRsultData);
-
+
List<String> serverNames = tableRsultData.retrieveAllValues(CliStrings.LIST_CLIENT_COLUMN_SERVERS);
List<String> clientNames = tableRsultData.retrieveAllValues(CliStrings.LIST_CLIENT_COLUMN_Clients);
-
-
- getLogWriter().info("testListClients serverNames : " + serverNames);
- getLogWriter().info("testListClients clientNames : " + clientNames);
+
+ getLogWriter().info("testListClients serverNames : " + serverNames);
+ getLogWriter().info("testListClients clientNames : " + clientNames);
assertEquals(2, serverNames.size());
- assertEquals(2, clientNames.size());
+ assertEquals(2, clientNames.size());
assertTrue(clientNames.contains(clientIds[0]));
assertTrue(clientNames.contains(clientIds[1]));
serverName = serverName.replace(":", "-");
getLogWriter().info("testListClients serverName : " + serverName);
- for(String str : serverNames){
+ for (String str : serverNames) {
assertTrue(str.contains(serverName));
- }
+ }
closeNonDurableClient(Host.getHost(0).getVM(2));
closeCacheServer(Host.getHost(0).getVM(1));
closeCacheServer(Host.getHost(0).getVM(3));
-
-
+
}
@Test
public void testListClientForServers() throws Exception {
setupSystem3();
-
- final VM manager = Host.getHost(0).getVM(0);
-
- String commandString = CliStrings.LIST_CLIENTS ;
- getLogWriter().info("testListClientForServers commandStr="+commandString);
-
-
-
+ final VM manager = Host.getHost(0).getVM(0);
+
+ String commandString = CliStrings.LIST_CLIENTS;
+ System.out.println("testListClientForServers commandStr=" + commandString);
+
final VM server1 = Host.getHost(0).getVM(1);
final VM server2 = Host.getHost(0).getVM(3);
-
+
final DistributedMember serverMember = getMember(server1);
-
- String[] clientIds = (String[]) manager.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
-
- final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0,serverMember);
- CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
- return bean.getClientIds();
-
- }
- });
-
-
- String serverName1 = (String) server1.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- return GemFireCacheImpl.getInstance().getDistributedSystem().getDistributedMember().getId();
-
- }
- });
-
- String serverName2 = (String) server2.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- return GemFireCacheImpl.getInstance().getDistributedSystem().getDistributedMember().getId();
-
- }
+ String[] clientIds = (String[]) manager.invoke("get client Ids", () -> {
+ final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
+ final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0, serverMember);
+ CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
+ return bean.getClientIds();
});
-
+
+ String serverName1 = (String) server1.invoke("get distributed member Id", () ->
+ getDistributedMemberId());
+
+ String serverName2 = (String) server2.invoke("get distributed member Id", () ->
+ getDistributedMemberId());
+
CommandResult commandResult = executeCommand(commandString);
- getLogWriter().info("testListClientForServers commandResult="+commandResult);
-
-
+ System.out.println("testListClientForServers commandResult=" + commandResult);
+
String resultAsString = commandResultToString(commandResult);
- getLogWriter().info("testListClientForServers resultAsString="+resultAsString);
+ System.out.println("testListClientForServers resultAsString=" + resultAsString);
assertTrue(Status.OK.equals(commandResult.getStatus()));
-
-
+
CompositeResultData resultData = (CompositeResultData) commandResult.getResultData();
- SectionResultData section =resultData.retrieveSection("section1");
- assertNotNull(section);
+ SectionResultData section = resultData.retrieveSection("section1");
+ assertNotNull(section);
TabularResultData tableRsultData = section.retrieveTable("TableForClientList");
- assertNotNull(tableRsultData);
-
+ assertNotNull(tableRsultData);
+
List<String> serverNames = tableRsultData.retrieveAllValues(CliStrings.LIST_CLIENT_COLUMN_SERVERS);
List<String> clientNames = tableRsultData.retrieveAllValues(CliStrings.LIST_CLIENT_COLUMN_Clients);
-
+
serverName1 = serverName1.replace(":", "-");
serverName2 = serverName2.replace(":", "-");
-
-
- getLogWriter().info("testListClientForServers serverNames : " + serverNames);
- getLogWriter().info("testListClientForServers serverName1 : " + serverName1);
- getLogWriter().info("testListClientForServers serverName2 : " + serverName2);
- getLogWriter().info("testListClientForServers clientNames : " + clientNames);
-
- for(String client : clientIds){
+
+ System.out.println("testListClientForServers serverNames : " + serverNames);
+ System.out.println("testListClientForServers serverName1 : " + serverName1);
+ System.out.println("testListClientForServers serverName2 : " + serverName2);
+ System.out.println("testListClientForServers clientNames : " + clientNames);
+
+ for (String client : clientIds) {
assertTrue(clientNames.contains(client));
}
-
- for(String server : serverNames){
+
+ for (String server : serverNames) {
assertTrue(server.contains(serverName1) || server.contains(serverName2));
}
-
+
closeNonDurableClient(Host.getHost(0).getVM(2));
closeCacheServer(Host.getHost(0).getVM(1));
closeCacheServer(Host.getHost(0).getVM(3));
-
-
- }
-
- public DistributedMember getMember(final VM vm) {
- SerializableCallable getMember = new SerializableCallable("Get Member") {
- public Object call() {
- GemFireCacheImpl cache = GemFireCacheImpl.getInstance();
- return cache.getDistributedSystem().getDistributedMember();
+ }
- }
- };
- return (DistributedMember) vm.invoke(getMember);
+ private String getDistributedMemberId() {
+ return GemFireCacheImpl.getInstance().getDistributedSystem().getDistributedMember().getId();
}
-
+
+ public DistributedMember getMember(final VM vm) {
+ return (DistributedMember) vm.invoke("Get Member", () -> GemFireCacheImpl.getInstance().getDistributedSystem().getDistributedMember());
+ }
+
private void setupSystemForListClient() throws Exception {
disconnectAllFromDS();
- final int[] port = AvailablePortHelper.getRandomAvailableTCPPorts(3);
createDefaultSetup(getServerProperties());
-
+
final VM server1 = Host.getHost(0).getVM(1);
final VM client1 = Host.getHost(0).getVM(2);
final VM client2 = Host.getHost(0).getVM(3);
-
- startCacheServer(server1, port[0], false, regionName);
- port0 = port[0];
- startNonDurableClient(client1, server1, port[0]);
- startNonDurableClient(client2, server1, port[0]);
-
-
+
+ port0 = startCacheServer(server1, 0, false, regionName);
+ startNonDurableClient(client1, server1, port0);
+ startNonDurableClient(client2, server1, port0);
}
-
-
-
+
private void setupSystem() throws Exception {
disconnectAllFromDS();
- final int[] port = AvailablePortHelper.getRandomAvailableTCPPorts(2);
createDefaultSetup(getServerProperties());
-
+
final VM manager = Host.getHost(0).getVM(0);
final VM server1 = Host.getHost(0).getVM(1);
final VM client1 = Host.getHost(0).getVM(2);
final VM server2 = Host.getHost(0).getVM(3);
-
- port0 = port[0];
-
- startCacheServer(server1, port[0], false, regionName);
- startCacheServer(server2, port[1], false, regionName);
-
- startNonDurableClient(client1, server1, port[0]);
+
+ port0 = startCacheServer(server1, 0, false, regionName);
+ startCacheServer(server2, 0, false, regionName);
+
+ startNonDurableClient(client1, server1, port0);
setupCqsOnVM(client1);
waitForMbean();
-
-
-
- clientId = (String) manager.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- Cache cache = GemFireCacheImpl.getInstance();
- SystemManagementService service = (SystemManagementService) ManagementService.getExistingManagementService(cache);
- DistributedMember serverMember = getMember(server1);
- final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port[0],serverMember);
- CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
- return bean.getClientIds()[0];
- }
+
+ clientId = (String) manager.invoke("get client Id", () -> {
+ Cache cache = GemFireCacheImpl.getInstance();
+ SystemManagementService service = (SystemManagementService) ManagementService.getExistingManagementService(cache);
+ DistributedMember serverMember = getMember(server1);
+ final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0, serverMember);
+ CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
+ return bean.getClientIds()[0];
});
}
-
-
+
private void setupSystem2() throws Exception {
disconnectAllFromDS();
- final int[] port = AvailablePortHelper.getRandomAvailableTCPPorts(3);
createDefaultSetup(getServerProperties());
-
+
final VM manager = Host.getHost(0).getVM(0);
final VM server1 = Host.getHost(0).getVM(1);
final VM client1 = Host.getHost(0).getVM(2);
final VM client2 = Host.getHost(0).getVM(3);
-
- startCacheServer(server1, port[0], false, regionName);
- port0 = port[0];
- startNonDurableClient(client1, server1, port[0]);
- startNonDurableClient(client2, server1, port[0]);
-
+
+ port0 = startCacheServer(server1, 0, false, regionName);
+ startNonDurableClient(client1, server1, port0);
+ startNonDurableClient(client2, server1, port0);
+
setupCqsOnVM(client1);
setupCqsOnVM(client2);
-
+
waitForMbean();
-
- clientId = (String) manager.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- Cache cache = GemFireCacheImpl.getInstance();
- SystemManagementService service = (SystemManagementService) ManagementService.getExistingManagementService(cache);
- DistributedMember serverMember = getMember(server1);
- final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port[0],serverMember);
- CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
- return bean.getClientIds()[0];
- }
+
+ clientId = (String) manager.invoke("get client Id", () -> {
+ Cache cache = GemFireCacheImpl.getInstance();
+ SystemManagementService service = (SystemManagementService) ManagementService.getExistingManagementService(cache);
+ DistributedMember serverMember = getMember(server1);
+ final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0, serverMember);
+ CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
+ return bean.getClientIds()[0];
});
-
-
}
- private void setupSystem3() throws Exception {
+
+ private void setupSystem3() throws Exception {
disconnectAllFromDS();
- final int[] port = AvailablePortHelper.getRandomAvailableTCPPorts(3);
createDefaultSetup(getServerProperties());
-
+
final VM manager = Host.getHost(0).getVM(0);
final VM server1 = Host.getHost(0).getVM(1);
final VM client1 = Host.getHost(0).getVM(2);
final VM server2 = Host.getHost(0).getVM(3);
-
- port0 = port[0];
- port1 = port[1];
-
- String cacheserverport1 = (String) startCacheServer(server1, port[0], false, regionName);
- String cacheserverport2 = (String) startCacheServer(server2, port[1], false, regionName);
- startNonDurableClient(client1, server1, Integer.parseInt(cacheserverport1));
- startNonDurableClient(client1, server2, Integer.parseInt(cacheserverport2));
-
+
+ port0 = startCacheServer(server1, 0, false, regionName);
+ port1 = startCacheServer(server2, 0, false, regionName);
+ startNonDurableClient(client1, server1, port0);
+ startNonDurableClient(client1, server2, port1);
+
setupCqsOnVM(client1);
-
waitForListClientMbean3();
-
-
- clientId = (String) manager.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- Cache cache = GemFireCacheImpl.getInstance();
- SystemManagementService service = (SystemManagementService) ManagementService.getExistingManagementService(cache);
- DistributedMember serverMember = getMember(server1);
- final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port[0],serverMember);
- CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
- return bean.getClientIds()[0];
- }
- });
-
-
- }
-
- private void setupCqs() {
- final VM vm2 = Host.getHost(0).getVM(2);
- vm2.invoke(new SerializableCallable() {
- public Object call() {
- Cache cache = GemFireCacheImpl.getInstance();
- QueryService qs = cache.getQueryService();
- CqAttributesFactory cqAf = new CqAttributesFactory();
- try {
- qs.newCq(cq1, "select * from /" + regionName, cqAf.create(), true).execute();
- qs.newCq(cq2, "select * from /" + regionName + " where id = 1", cqAf.create(), true).execute();
- qs.newCq(cq3, "select * from /" + regionName + " where id > 2", cqAf.create(), true).execute();
- cache.getLogger().info("setupCqs created cqs = " +cache.getQueryService().getCqs().length);
- } catch(Exception e){
- cache.getLogger().info("setupCqs Exception " + CliUtil.stackTraceAsString(e));
- }
- return true;
- }
+ clientId = (String) manager.invoke("get client Id", () -> {
+ Cache cache = GemFireCacheImpl.getInstance();
+ SystemManagementService service = (SystemManagementService) ManagementService.getExistingManagementService(cache);
+ DistributedMember serverMember = getMember(server1);
+ final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0, serverMember);
+ CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
+ return bean.getClientIds()[0];
});
+
}
-
- private void setupCqsOnVM(VM vm) {
- vm.invoke(new SerializableCallable() {
- public Object call() {
- Cache cache = GemFireCacheImpl.getInstance();
- QueryService qs = cache.getQueryService();
- CqAttributesFactory cqAf = new CqAttributesFactory();
- try {
- qs.newCq(cq1, "select * from /" + regionName, cqAf.create(), true).execute();
- qs.newCq(cq2, "select * from /" + regionName + " where id = 1", cqAf.create(), true).execute();
- qs.newCq(cq3, "select * from /" + regionName + " where id > 2", cqAf.create(), true).execute();
- cache.getLogger().info("setupCqs on vm created cqs = " +cache.getQueryService().getCqs().length);
- } catch(Exception e){
- cache.getLogger().info("setupCqs on vm Exception " + CliUtil.stackTraceAsString(e));
- }
- return true;
+
+ private void setupCqsOnVM(VM vm) {
+ vm.invoke("setup CQs", () -> {
+ Cache cache = GemFireCacheImpl.getInstance();
+ QueryService qs = cache.getQueryService();
+ CqAttributesFactory cqAf = new CqAttributesFactory();
+ try {
+ qs.newCq(cq1, "select * from /" + regionName, cqAf.create(), true).execute();
+ qs.newCq(cq2, "select * from /" + regionName + " where id = 1", cqAf.create(), true).execute();
+ qs.newCq(cq3, "select * from /" + regionName + " where id > 2", cqAf.create(), true).execute();
+ cache.getLogger().info("setupCqs on vm created cqs = " + cache.getQueryService().getCqs().length);
+ } catch (Exception e) {
+ cache.getLogger().info("setupCqs on vm Exception " + CliUtil.stackTraceAsString(e));
}
+ return true;
});
}
-
- private String startCacheServer(VM server, final int port,
+
+ private int startCacheServer(VM server, final int port,
final boolean createPR, final String regionName) throws Exception {
- String cacheserverport = (String) server.invoke(new SerializableCallable() {
- public Object call() throws Exception {
- getSystem(getServerProperties());
-
- GemFireCacheImpl cache = (GemFireCacheImpl)getCache();
- AttributesFactory factory = new AttributesFactory();
- if (createPR) {
- PartitionAttributesFactory paf = new PartitionAttributesFactory();
- paf.setRedundantCopies(1);
- paf.setTotalNumBuckets(11);
- factory.setPartitionAttributes(paf.create());
- } else {
- factory.setScope(Scope.DISTRIBUTED_ACK);
- factory.setDataPolicy(DataPolicy.REPLICATE);
- }
- Region region = createRootRegion(regionName, factory.create());
- if (createPR) {
- assertTrue(region instanceof PartitionedRegion);
- } else {
- assertTrue(region instanceof DistributedRegion);
- }
- CacheServer cacheServer = cache.addCacheServer();
- cacheServer.setPort(port);
- cacheServer.start();
- return ""+cacheServer.getPort();
+ return server.invoke("setup CacheServer", () -> {
+ getSystem(getServerProperties());
+
+ GemFireCacheImpl cache = (GemFireCacheImpl) getCache();
+ AttributesFactory factory = new AttributesFactory();
+ if (createPR) {
+ PartitionAttributesFactory paf = new PartitionAttributesFactory();
+ paf.setRedundantCopies(1);
+ paf.setTotalNumBuckets(11);
+ factory.setPartitionAttributes(paf.create());
+ } else {
+ factory.setScope(Scope.DISTRIBUTED_ACK);
+ factory.setDataPolicy(DataPolicy.REPLICATE);
}
+ Region region = createRootRegion(regionName, factory.create());
+ if (createPR) {
+ assertTrue(region instanceof PartitionedRegion);
+ } else {
+ assertTrue(region instanceof DistributedRegion);
+ }
+ CacheServer cacheServer = cache.addCacheServer();
+ cacheServer.setPort(port);
+ cacheServer.start();
+ return cacheServer.getPort();
});
- return cacheserverport;
- }
-
+ }
+
private void startNonDurableClient(VM client, final VM server, final int port) {
- client.invoke(new CacheSerializableRunnable("Start client") {
- public void run2() throws CacheException {
- Cache cache = GemFireCacheImpl.getInstance();
- if(cache == null ){
-
- Properties props = getNonDurableClientProps();
- props.setProperty("log-file", "client_" + OSProcess.getId() + ".log");
- props.setProperty("log-level", "fine");
- props.setProperty("statistic-archive-file", "client_" + OSProcess.getId() + ".gfs");
- props.setProperty("statistic-sampling-enabled", "true");
-
- getSystem(props);
-
- final ClientCacheFactory ccf = new ClientCacheFactory(props);
- ccf.addPoolServer(getServerHostName(server.getHost()), port);
- ccf.setPoolSubscriptionEnabled(true);
- ccf.setPoolPingInterval(1);
- ccf.setPoolStatisticInterval(1);
- ccf.setPoolSubscriptionRedundancy(1);
- ccf.setPoolMinConnections(1);
-
- ClientCache clientCache = (ClientCache)getClientCache(ccf);
- //Create region
- if( clientCache.getRegion(Region.SEPARATOR + regionName) == null && clientCache.getRegion( regionName) == null){
- ClientRegionFactory regionFactory = clientCache.createClientRegionFactory(ClientRegionShortcut.LOCAL).setPoolName(clientCache.getDefaultPool().getName()) ;
- Region dataRegion = regionFactory.create(regionName);
- assertNotNull(dataRegion);
- dataRegion.put("k1", "v1");
- dataRegion.put("k2", "v2");
-
- }
- }else{
- String poolName = "new_pool_" + System.currentTimeMillis();
- try{
- PoolImpl p = (PoolImpl) PoolManager.createFactory().addServer(getServerHostName(server.getHost()), port)
+ client.invoke("start non-durable client", () -> {
+ Cache cache = GemFireCacheImpl.getInstance();
+ if (cache == null) {
+
+ Properties props = getNonDurableClientProps();
+ props.setProperty("log-file", "client_" + OSProcess.getId() + ".log");
+ props.setProperty("log-level", "fine");
+ props.setProperty("statistic-archive-file", "client_" + OSProcess.getId() + ".gfs");
+ props.setProperty("statistic-sampling-enabled", "true");
+
+ getSystem(props);
+
+ final ClientCacheFactory ccf = new ClientCacheFactory(props);
+ ccf.addPoolServer(getServerHostName(server.getHost()), port);
+ ccf.setPoolSubscriptionEnabled(true);
+ ccf.setPoolPingInterval(1);
+ ccf.setPoolStatisticInterval(1);
+ ccf.setPoolSubscriptionRedundancy(1);
+ ccf.setPoolMinConnections(1);
+
+ ClientCache clientCache = (ClientCache) getClientCache(ccf);
+ //Create region
+ if (clientCache.getRegion(Region.SEPARATOR + regionName) == null && clientCache.getRegion(regionName) == null) {
+ ClientRegionFactory regionFactory = clientCache.createClientRegionFactory(ClientRegionShortcut.LOCAL)
+ .setPoolName(clientCache.getDefaultPool().getName());
+ Region dataRegion = regionFactory.create(regionName);
+ assertNotNull(dataRegion);
+ dataRegion.put("k1", "v1");
+ dataRegion.put("k2", "v2");
+
+ }
+ } else {
+ String poolName = "new_pool_" + System.currentTimeMillis();
+ try {
+ PoolImpl p = (PoolImpl) PoolManager.createFactory().addServer(getServerHostName(server.getHost()), port)
.setThreadLocalConnections(true)
.setMinConnections(1)
.setSubscriptionEnabled(true)
.setPingInterval(1)
- .setStatisticInterval(1)
+ .setStatisticInterval(1)
.setMinConnections(1)
.setSubscriptionRedundancy(1)
.create(poolName);
- cache.getLogger().info("Created new pool pool " + poolName );
- assertNotNull(p);
- }catch(Exception eee){
- cache.getLogger().info("Exception in creating pool " + poolName + " Exception ==" + CliUtil.stackTraceAsString(eee));
- }
- }
+ System.out.println("Created new pool pool " + poolName);
+ assertNotNull(p);
+ } catch (Exception eee) {
+ System.err.println("Exception in creating pool " + poolName + " Exception ==" + CliUtil.stackTraceAsString(eee));
+ }
}
});
}
-
-
+
//Closes the non-durable-client from the client side.
- private void closeNonDurableClient(VM vm) {
- final VM client = vm ;
- client.invoke(new CacheSerializableRunnable("Stop client") {
- public void run2() throws CacheException {
- ClientCacheFactory.getAnyInstance().close(true);
- }
- });
+ private void closeNonDurableClient(final VM vm) {
+ vm.invoke("Stop client", () -> ClientCacheFactory.getAnyInstance().close(true));
}
-
- private void closeCacheServer(VM vm) {
- final VM client = vm ;
- client.invoke(new CacheSerializableRunnable("Stop client") {
- public void run2() throws CacheException {
-
- Iterator<CacheServer> it = CacheFactory.getAnyInstance().getCacheServers().iterator();
- while(it.hasNext()){
- CacheServer cacheServer = it.next();
- cacheServer.stop();
- }
- }
- });
- }
-
+
+ private void closeCacheServer(final VM vm) {
+ vm.invoke("Stop client", () -> {
+ Iterator<CacheServer> it = CacheFactory.getAnyInstance().getCacheServers().iterator();
+ while (it.hasNext()) {
+ CacheServer cacheServer = it.next();
+ cacheServer.stop();
+ }
+ });
+ }
+
protected Properties getNonDurableClientProps() {
Properties p = new Properties();
p.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
- p.setProperty(DistributionConfig.LOCATORS_NAME, "");
+ p.setProperty(DistributionConfig.LOCATORS_NAME, "");
return p;
}
protected Properties getServerProperties() {
Properties p = new Properties();
- p.setProperty(DistributionConfig.LOCATORS_NAME, "localhost["+getDUnitLocatorPort()+"]");
+ p.setProperty(DistributionConfig.LOCATORS_NAME, "localhost[" + getDUnitLocatorPort() + "]");
return p;
}
-
-
-
-public void waitForNonSubCliMBean(){
+
+ public void waitForNonSubCliMBean() {
final VM manager = Host.getHost(0).getVM(0);
- final VM server1 = Host.getHost(0).getVM(1);
- final DistributedMember serverMember = getMember(server1);
- assertNotNull(serverMember);
-
- manager.invoke(new SerializableRunnable() {
- @Override
- public void run() {
- final WaitCriterion waitForMaangerMBean = new WaitCriterion() {
- @Override
- public boolean done() {
- try {
- final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
- if (service == null) {
- getLogWriter().info("waitForNonSubScribedClientMBean Still probing for service");
- return false;
- } else {
- getLogWriter().info("waitForNonSubScribedClientMBean 1");
- final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0,serverMember);
- getLogWriter().info("waitForNonSubScribedClientMBean 2 cacheServerMBeanName " + cacheServerMBeanName);
- CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
- getLogWriter().info("waitForNonSubScribedClientMBean 2 bean " + bean);
- if(bean.getClientIds().length > 0){
- return true;
- }
- }
- } catch (Exception e) {
- LogWrapper.getInstance().warning("waitForNonSubScribedClientMBean Exception in waitForMbean ::: " + CliUtil.stackTraceAsString(e));
- }
- return false;
- }
+ final VM server1 = Host.getHost(0).getVM(1);
+ final DistributedMember serverMember = getMember(server1);
+ assertNotNull(serverMember);
- @Override
- public String description() {
- return "waitForNonSubScribedClientMBean Probing for ";
+ manager.invoke(() -> {
+ Awaitility.waitAtMost(5 * 60, TimeUnit.SECONDS).pollDelay(2, TimeUnit.SECONDS).until(() -> {
+ try {
+ final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
+ if (service == null) {
+ getLogWriter().info("waitForNonSubScribedClientMBean Still probing for service");
+ return false;
+ } else {
+ getLogWriter().info("waitForNonSubScribedClientMBean 1");
+ final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0, serverMember);
+ getLogWriter().info("waitForNonSubScribedClientMBean 2 cacheServerMBeanName " + cacheServerMBeanName);
+ CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
+ getLogWriter().info("waitForNonSubScribedClientMBean 2 bean " + bean);
+ if (bean.getClientIds().length > 0) {
+ return true;
+ }
}
- };
- waitForCriterion(waitForMaangerMBean, 5* 60 * 1000, 2000, true);
- }
- });
-
+ } catch (Exception e) {
+ LogWrapper.getInstance().warning("waitForNonSubScribedClientMBean Exception in waitForMbean ::: " + CliUtil.stackTraceAsString(e));
+ }
+ return false;
+ });
+ });
}
-
-
-public void waitForMixedClients(){
-
+
+ public void waitForMixedClients() {
+
final VM manager = Host.getHost(0).getVM(0);
- final VM server1 = Host.getHost(0).getVM(1);
-
+ final VM server1 = Host.getHost(0).getVM(1);
+
final DistributedMember serverMember = getMember(server1);
-
- assertNotNull(serverMember);
-
- manager.invoke(new SerializableRunnable() {
- @Override
- public void run() {
- final WaitCriterion waitForMaangerMBean = new WaitCriterion() {
- @Override
- public boolean done() {
- try {
- final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
- if (service == null) {
- getLogWriter().info("waitForMixedClients Still probing for service");
- return false;
- } else {
- getLogWriter().info("waitForMixedClients 1");
- final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0,serverMember);
- getLogWriter().info("waitForMixedClients 2 cacheServerMBeanName " + cacheServerMBeanName);
- CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
- getLogWriter().info("waitForMixedClients 2 bean " + bean);
- if(bean.getClientIds().length > 1){
- return true;
- }
- }
- } catch (Exception e) {
- LogWrapper.getInstance().warning("waitForMixedClients Exception in waitForMbean ::: " + CliUtil.stackTraceAsString(e));
- }
- return false;
- }
- @Override
- public String description() {
- return "waitForMixedClients Probing for ";
+ assertNotNull(serverMember);
+
+ manager.invoke(() -> {
+ Awaitility.waitAtMost(5 * 60, TimeUnit.SECONDS).pollDelay(2, TimeUnit.SECONDS).until(() -> {
+ try {
+ final SystemManagementService service = (SystemManagementService) ManagementService.getManagementService(getCache());
+ if (service == null) {
+ getLogWriter().info("waitForMixedClients Still probing for service");
+ return false;
+ } else {
+ getLogWriter().info("waitForMixedClients 1");
+ final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0, serverMember);
+ getLogWriter().info("waitForMixedClients 2 cacheServerMBeanName " + cacheServerMBeanName);
+ CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
+ getLogWriter().info("waitForMixedClients 2 bean " + bean);
+ if (bean.getClientIds().length > 1) {
+ return true;
+ }
}
- };
- waitForCriterion(waitForMaangerMBean, 5* 60 * 1000, 2000, true);
- }
- });
-
+ } catch (Exception e) {
+ LogWrapper.getInstance().warning("waitForMixedClients Exception in waitForMbean ::: " + CliUtil.stackTraceAsString(e));
+ }
+ return false;
+ });
+ });
}
@Category(FlakyTest.class) // GEODE-910: random ports, HeadlessGfsh
@Test
public void testDescribeClientForNonSubscribedClient() throws Exception {
setUpNonSubscribedClient();
-
- getLogWriter().info("testDescribeClientForNonSubscribedClient clientId="+clientId);
+
+ getLogWriter().info("testDescribeClientForNonSubscribedClient clientId=" + clientId);
assertNotNull(clientId);
-
- String commandString = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\""+ clientId + "\"" ;
- getLogWriter().info("testDescribeClientForNonSubscribedClient commandStr="+commandString);
-
- final VM server1 = Host.getHost(0).getVM(1);
- String serverName = (String) server1.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- return GemFireCacheImpl.getInstance().getDistributedSystem().getDistributedMember().getId();
-
- }
- });
-
-
+
+ String commandString = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\"" + clientId + "\"";
+ getLogWriter().info("testDescribeClientForNonSubscribedClient commandStr=" + commandString);
+
CommandResult commandResult = executeCommand(commandString);
- getLogWriter().info("testDescribeClientForNonSubscribedClient commandResult="+commandResult);
-
-
+ getLogWriter().info("testDescribeClientForNonSubscribedClient commandResult=" + commandResult);
+
String resultAsString = commandResultToString(commandResult);
- getLogWriter().info("testDescribeClientForNonSubscribedClient resultAsString="+resultAsString);
+ getLogWriter().info("testDescribeClientForNonSubscribedClient resultAsString=" + resultAsString);
assertTrue(Status.OK.equals(commandResult.getStatus()));
-
+
CompositeResultData resultData = (CompositeResultData) commandResult.getResultData();
- SectionResultData section =resultData.retrieveSection("InfoSection");
- assertNotNull(section);
+ SectionResultData section = resultData.retrieveSection("InfoSection");
+ assertNotNull(section);
TabularResultData tableRsultData = section.retrieveTable("Pool Stats For Pool Name = DEFAULT");
assertNotNull(tableRsultData);
-
+
List<String> minConn = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_MIN_CONN);
List<String> maxConn = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_MAX_CONN);
List<String> redudancy = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_REDUDANCY);
-
-
+
assertTrue(minConn.contains("1"));
assertTrue(maxConn.contains("-1"));
assertTrue(redudancy.contains("1"));
-
+
String puts = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PUTS);
- assertTrue(puts.equals("2"));
-
+ assertTrue(puts.equals("2"));
+
String calls = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_LISTNER_CALLS);
assertTrue(calls.equals("1"));
-
+
String primServer = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PRIMARY_SERVERS);
assertTrue(primServer.equals("N.A."));
-
+
String durable = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_DURABLE);
- assertTrue(durable.equals("No"));
-
+ assertTrue(durable.equals("No"));
+
String threads = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_THREADS);
assertTrue(Integer.parseInt(threads) > 0);
-
+
String cpu = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_CPU);
- assertTrue(Integer.parseInt(cpu) > 0);
-
+ assertTrue(Integer.parseInt(cpu) > 0);
+
String upTime = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_UP_TIME);
- assertTrue(Integer.parseInt(upTime) == 0);
-
+ assertTrue(Integer.parseInt(upTime) == 0);
+
String prcTime = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PROCESS_CPU_TIME);
assertTrue(Long.parseLong(prcTime) > 0);
-
-
+
closeNonDurableClient(Host.getHost(0).getVM(2));
closeCacheServer(Host.getHost(0).getVM(1));
closeCacheServer(Host.getHost(0).getVM(3));
-
-
+
}
@Category(FlakyTest.class) // GEODE-1227: HeadlessGFSH, random ports, BindException
@Test
public void testDescribeMixClientWithServers() throws Exception {
- String[] clientIds = setupSystemWithSubAndNonSubClient();
-
+ String[] clientIds = setupSystemWithSubAndNonSubClient();
+
final VM server1 = Host.getHost(0).getVM(1);
- String serverName = (String) server1.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- return GemFireCacheImpl.getInstance().getDistributedSystem().getDistributedMember().getId();
-
- }
- });
-
- String commandString = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\""+ clientIds[0] + "\"" ;
- getLogWriter().info("testDescribeMixClientWithServers commandStr="+commandString);
-
-
- executeAndVerifyResultsForMixedClients(commandString, serverName );
-
- String commandString2 = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\""+ clientIds[1] + "\"" ;
- getLogWriter().info("testDescribeMixClientWithServers commandString2="+commandString2);
-
-
- executeAndVerifyResultsForMixedClients(commandString2,serverName );
-
+ String serverName = (String) server1.invoke("Get DistributedMember Id", () ->
+ getDistributedMemberId());
+
+ String commandString = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\"" + clientIds[0] + "\"";
+ getLogWriter().info("testDescribeMixClientWithServers commandStr=" + commandString);
+
+ executeAndVerifyResultsForMixedClients(commandString, serverName);
+
+ String commandString2 = CliStrings.DESCRIBE_CLIENT + " --" + CliStrings.DESCRIBE_CLIENT__ID + "=\"" + clientIds[1] + "\"";
+ getLogWriter().info("testDescribeMixClientWithServers commandString2=" + commandString2);
+
+ executeAndVerifyResultsForMixedClients(commandString2, serverName);
+
closeNonDurableClient(Host.getHost(0).getVM(2));
closeNonDurableClient(Host.getHost(0).getVM(3));
closeCacheServer(Host.getHost(0).getVM(1));
-
+
}
-
-void executeAndVerifyResultsForMixedClients(String commandString, String serverName){
- CommandResult commandResult = executeCommand(commandString);
- getLogWriter().info("testDescribeMixClientWithServers commandResult="+commandResult);
-
-
- String resultAsString = commandResultToString(commandResult);
- getLogWriter().info("testDescribeMixClientWithServers resultAsString="+resultAsString);
-
-
- assertTrue(Status.OK.equals(commandResult.getStatus()));
-
- CompositeResultData resultData = (CompositeResultData) commandResult.getResultData();
- SectionResultData section =resultData.retrieveSection("InfoSection");
- assertNotNull(section);
- TabularResultData tableRsultData = section.retrieveTable("Pool Stats For Pool Name = DEFAULT");
- assertNotNull(tableRsultData);
-
- List<String> minConn = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_MIN_CONN);
- List<String> maxConn = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_MAX_CONN);
- List<String> redudancy = tableRsultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_REDUDANCY);
-
-
- assertTrue(minConn.contains("1"));
- assertTrue(maxConn.contains("-1"));
- assertTrue(redudancy.contains("1"));
-
- String puts = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PUTS);
- assertTrue(puts.equals("2"));
-
- String calls = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_LISTNER_CALLS);
- assertTrue(calls.equals("1"));
-
- String primServer = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PRIMARY_SERVERS);
- assertTrue(primServer.equals(serverName) || primServer.equals("N.A."));
-
- String durable = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_DURABLE);
- assertTrue(durable.equals("No"));
-
- String threads = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_THREADS);
- assertTrue(Integer.parseInt(threads) > 0);
-
- String cpu = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_CPU);
- assertTrue(Integer.parseInt(cpu) > 0);
-
- String upTime = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_UP_TIME);
- assertTrue(Integer.parseInt(upTime) >= 0);
-
- String prcTime = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PROCESS_CPU_TIME);
- assertTrue(Long.parseLong(prcTime) > 0);
-
-}
-private void setUpNonSubscribedClient() throws Exception {
- disconnectAllFromDS();
- final int[] port = AvailablePortHelper.getRandomAvailableTCPPorts(2);
- createDefaultSetup(getServerProperties());
-
- final VM manager = Host.getHost(0).getVM(0);
- final VM server1 = Host.getHost(0).getVM(1);
- final VM client1 = Host.getHost(0).getVM(2);
- final VM server2 = Host.getHost(0).getVM(3);
-
- port0 = port[0];
-
- startCacheServer(server1, port[0], false, regionName);
- startCacheServer(server2, port[1], false, regionName);
-
- startNonSubscribedClient(client1, server1, port[0]);
- setupCqsOnVM(client1);
- waitForNonSubCliMBean();
-
-
-
- clientId = (String) manager.invoke(new SerializableCallable(){
- @Override
- public Object call() throws Exception {
- Cache cache = GemFireCacheImpl.getInstance();
- SystemManagementService service = (SystemManagementService) ManagementService.getExistingManagementService(cache);
- DistributedMember serverMember = getMember(server1);
- final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port[0],serverMember);
- CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
- return bean.getClientIds()[0];
- }
- });
-}
+ void executeAndVerifyResultsForMixedClients(String commandString, String serverName) {
+ CommandResult commandResult = executeCommand(commandString);
+ getLogWriter().info("testDescribeMixClientWithServers commandResult=" + commandResult);
+
+ String resultAsString = commandResultToString(commandResult);
+ getLogWriter().info("testDescribeMixClientWithServers resultAsString=" + resultAsString);
+ assertTrue(Status.OK.equals(commandResult.getStatus()));
+
+ CompositeResultData resultData = (CompositeResultData) commandResult.getResultData();
+ SectionResultData section = resultData.retrieveSection("InfoSection");
+ assertNotNull(section);
+ TabularResultData tableResultData = section.retrieveTable("Pool Stats For Pool Name = DEFAULT");
+ assertNotNull(tableResultData);
+ List<String> minConn = tableResultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_MIN_CONN);
+ List<String> maxConn = tableResultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_MAX_CONN);
+ List<String> redudancy = tableResultData.retrieveAllValues(CliStrings.DESCRIBE_CLIENT_REDUDANCY);
- private String[] setupSystemWithSubAndNonSubClient() throws Exception {
- String[] cliendIds = new String[2];
+ assertTrue(minConn.contains("1"));
+ assertTrue(maxConn.contains("-1"));
+ assertTrue(redudancy.contains("1"));
+
+ String puts = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PUTS);
+ assertTrue(puts.equals("2"));
+
+ String calls = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_LISTNER_CALLS);
+ assertTrue(calls.equals("1"));
+
+ String primServer = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PRIMARY_SERVERS);
+ assertTrue(primServer.equals(serverName) || primServer.equals("N.A."));
+
+ String durable = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_DURABLE);
+ assertTrue(durable.equals("No"));
+
+ String threads = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_THREADS);
+ assertTrue(Integer.parseInt(threads) > 0);
+
+ String cpu = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_CPU);
+ assertTrue(Integer.parseInt(cpu) > 0);
+
+ String upTime = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_UP_TIME);
+ assertTrue(Integer.parseInt(upTime) >= 0);
+
+ String prcTime = section.retrieveString(CliStrings.DESCRIBE_CLIENT_COLUMN_PROCESS_CPU_TIME);
+ assertTrue(Long.parseLong(prcTime) > 0);
+
+ }
+
+ private void setUpNonSubscribedClient() throws Exception {
disconnectAllFromDS();
- final int[] port = AvailablePortHelper.getRandomAvailableTCPPorts(3);
createDefaultSetup(getServerProperties());
-
+
final VM manager = Host.getHost(0).getVM(0);
final VM server1 = Host.getHost(0).getVM(1);
final VM client1 = Host.getHost(0).getVM(2);
- final VM client2 = Host.getHost(0).getVM(3);
-
- startCacheServer(server1, port[0], false, regionName);
- port0 = port[0];
- startNonDurableClient(client1, server1, port[0]);
- startNonSubscribedClient(client2, server1, port[0]);
-
- waitForMixedClients();
-
- cliendIds = (String[]) manager.invoke(new SerializableCallable(){
+ final VM server2 = Host.getHost(0).getVM(3);
+
+ port0 = startCacheServer(server1, 0, false, regionName);
+ startCacheServer(server2, 0, false, regionName);
+
+ startNonSubscribedClient(client1, server1, port0);
+ setupCqsOnVM(client1);
+ waitForNonSubCliMBean();
+
+ clientId = (String) manager.invoke(new SerializableCallable() {
@Override
public Object call() throws Exception {
- Cache cache = GemFireCacheImpl.getInstance();
+ Cache cache = GemFireCacheImpl.getInstance();
SystemManagementService service = (SystemManagementService) ManagementService.getExistingManagementService(cache);
DistributedMember serverMember = getMember(server1);
- final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port[0],serverMember);
+ final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0, serverMember);
CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
- return bean.getClientIds();
+ return bean.getClientIds()[0];
}
- });
-
+ });
+ }
+
+ private String[] setupSystemWithSubAndNonSubClient() throws Exception {
+ disconnectAllFromDS();
+ createDefaultSetup(getServerProperties());
+
+ final VM manager = Host.getHost(0).getVM(0);
+ final VM server1 = Host.getHost(0).getVM(1);
+ final VM client1 = Host.getHost(0).getVM(2);
+ final VM client2 = Host.getHost(0).getVM(3);
+
+ port0 = startCacheServer(server1, 0, false, regionName);
+ startNonDurableClient(client1, server1, port0);
+ startNonSubscribedClient(client2, server1, port0);
+
+ waitForMixedClients();
+
+ String[] cliendIds = (String[]) manager.invoke("get client Ids", () -> {
+ Cache cache = GemFireCacheImpl.getInstance();
+ SystemManagementService service = (SystemManagementService) ManagementService.getExistingManagementService(cache);
+ DistributedMember serverMember = getMember(server1);
+ final ObjectName cacheServerMBeanName = service.getCacheServerMBeanName(port0, serverMember);
+ CacheServerMXBean bean = service.getMBeanProxy(cacheServerMBeanName, CacheServerMXBean.class);
+ return bean.getClientIds();
+ });
+
return cliendIds;
-
}
- private void startNonSubscribedClient (VM client, final VM server, final int port) {
- client.invoke(new CacheSerializableRunnable("Start client") {
- public void run2() throws CacheException {
- Cache cache = GemFireCacheImpl.getInstance();
- if(cache == null ){
-
- Properties props = getNonDurableClientProps();
- props.setProperty("log-file", "client_" + OSProcess.getId() + ".log");
- props.setProperty("log-level", "fine");
- props.setProperty("statistic-archive-file", "client_" + OSProcess.getId() + ".gfs");
- props.setProperty("statistic-sampling-enabled", "true");
-
- getSystem(props);
-
- final ClientCacheFactory ccf = new ClientCacheFactory(props);
- ccf.addPoolServer(getServerHostName(server.getHost()), port);
- ccf.setPoolSubscriptionEnabled(false);
- ccf.setPoolPingInterval(1);
-
<TRUNCATED>
[2/2] incubator-geode git commit: GEODE-1227: Replaced all port
selections for server with '0' instead of getting the port from the
AvailablePortHelper. Some refactoring introducing Lambdas. Some refactoring
replacing Wait.wait with Awaitility.
Posted by ud...@apache.org.
GEODE-1227: Replaced all port selections for server with '0' instead of getting the port from the AvailablePortHelper.
Some refactoring introducing Lambdas.
Some refactoring replacing Wait.wait with Awaitility.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/b5ff9742
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/b5ff9742
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/b5ff9742
Branch: refs/heads/develop
Commit: b5ff97423508837bd60c3b19d313f4a96764cedb
Parents: 0d0e706
Author: Udo Kohlmeyer <uk...@pivotal.io>
Authored: Thu Apr 21 11:39:55 2016 +1000
Committer: Udo Kohlmeyer <uk...@pivotal.io>
Committed: Fri Apr 22 04:24:57 2016 +1000
----------------------------------------------------------------------
.../cli/commands/CliCommandTestBase.java | 93 +-
.../cli/commands/ClientCommandsDUnitTest.java | 1757 +++++++-----------
2 files changed, 753 insertions(+), 1097 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b5ff9742/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CliCommandTestBase.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CliCommandTestBase.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CliCommandTestBase.java
index 4d651a2..acb07ca 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CliCommandTestBase.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CliCommandTestBase.java
@@ -16,21 +16,6 @@
*/
package com.gemstone.gemfire.management.internal.cli.commands;
-import static com.gemstone.gemfire.test.dunit.Assert.*;
-import static com.gemstone.gemfire.test.dunit.LogWriterUtils.*;
-
-import java.io.IOException;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
import com.gemstone.gemfire.cache.Cache;
import com.gemstone.gemfire.distributed.internal.DistributionConfig;
import com.gemstone.gemfire.internal.AvailablePortHelper;
@@ -43,10 +28,20 @@ import com.gemstone.gemfire.management.internal.cli.result.CommandResult;
import com.gemstone.gemfire.management.internal.cli.shell.Gfsh;
import com.gemstone.gemfire.management.internal.cli.util.CommandStringBuilder;
import com.gemstone.gemfire.test.dunit.Host;
-import com.gemstone.gemfire.test.dunit.SerializableCallable;
-import com.gemstone.gemfire.test.dunit.SerializableRunnable;
import com.gemstone.gemfire.test.dunit.cache.internal.JUnit4CacheTestCase;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.Map;
+import java.util.Properties;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static com.gemstone.gemfire.test.dunit.Assert.*;
+import static com.gemstone.gemfire.test.dunit.LogWriterUtils.getLogWriter;
+
/**
* Base class for all the CLI/gfsh command dunit tests.
*/
@@ -72,7 +67,7 @@ public abstract class CliCommandTestBase extends JUnit4CacheTestCase {
preTearDownCliCommandTestBase();
destroyDefaultSetup();
}
-
+
protected void preTearDownCliCommandTestBase() throws Exception {
}
@@ -89,41 +84,38 @@ public abstract class CliCommandTestBase extends JUnit4CacheTestCase {
*/
@SuppressWarnings("serial")
protected final HeadlessGfsh createDefaultSetup(final Properties props) {
- Object[] result = (Object[]) Host.getHost(0).getVM(0).invoke(new SerializableCallable() {
- public Object call() {
- final Object[] result = new Object[3];
- final Properties localProps = (props != null ? props : new Properties());
-
- try {
- jmxHost = InetAddress.getLocalHost().getHostName();
- } catch (UnknownHostException ignore) {
- jmxHost = "localhost";
- }
-
- if (!localProps.containsKey(DistributionConfig.NAME_NAME)) {
- localProps.setProperty(DistributionConfig.NAME_NAME, "Manager");
- }
+ Object[] result = Host.getHost(0).getVM(0).invoke("create Default setup",() -> {
+ final Object[] returnValue = new Object[3];
+ final Properties localProps = (props != null ? props : new Properties());
+
+ try {
+ jmxHost = InetAddress.getLocalHost().getHostName();
+ } catch (UnknownHostException ignore) {
+ jmxHost = "localhost";
+ }
- final int[] ports = AvailablePortHelper.getRandomAvailableTCPPorts(2);
+ if (!localProps.containsKey(DistributionConfig.NAME_NAME)) {
+ localProps.setProperty(DistributionConfig.NAME_NAME, "Manager");
+ }
+ final int[] ports = AvailablePortHelper.getRandomAvailableTCPPorts(2);
- jmxPort = ports[0];
- httpPort = ports[1];
+ jmxPort = ports[0];
+ httpPort = ports[1];
- localProps.setProperty(DistributionConfig.JMX_MANAGER_NAME, "true");
- localProps.setProperty(DistributionConfig.JMX_MANAGER_START_NAME, "true");
- localProps.setProperty(DistributionConfig.JMX_MANAGER_BIND_ADDRESS_NAME, String.valueOf(jmxHost));
- localProps.setProperty(DistributionConfig.JMX_MANAGER_PORT_NAME, String.valueOf(jmxPort));
- localProps.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(httpPort));
+ localProps.setProperty(DistributionConfig.JMX_MANAGER_NAME, "true");
+ localProps.setProperty(DistributionConfig.JMX_MANAGER_START_NAME, "true");
+ localProps.setProperty(DistributionConfig.JMX_MANAGER_BIND_ADDRESS_NAME, String.valueOf(jmxHost));
+ localProps.setProperty(DistributionConfig.JMX_MANAGER_PORT_NAME, String.valueOf(jmxPort));
+ localProps.setProperty(DistributionConfig.HTTP_SERVICE_PORT_NAME, String.valueOf(httpPort));
- getSystem(localProps);
- verifyManagementServiceStarted(getCache());
+ getSystem(localProps);
+ verifyManagementServiceStarted(getCache());
- result[0] = jmxHost;
- result[1] = jmxPort;
- result[2] = httpPort;
+ returnValue[0] = jmxHost;
+ returnValue[1] = jmxPort;
+ returnValue[2] = httpPort;
- return result;
- }
+ return returnValue;
});
this.jmxHost = (String) result[0];
@@ -150,11 +142,7 @@ public abstract class CliCommandTestBase extends JUnit4CacheTestCase {
disconnectAllFromDS();
- Host.getHost(0).getVM(0).invoke(new SerializableRunnable() {
- public void run() {
- verifyManagementServiceStopped();
- }
- });
+ Host.getHost(0).getVM(0).invoke("verify service stopped", () -> verifyManagementServiceStopped());
}
/**
@@ -176,7 +164,6 @@ public abstract class CliCommandTestBase extends JUnit4CacheTestCase {
try {
manager = CommandManager.getInstance();
Map<String, CommandTarget> commands = manager.getCommands();
- Set set = commands.keySet();
if (commands.size() < 1) {
return false;
}