You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bs...@apache.org on 2015/09/09 20:45:58 UTC
[1/3] incubator-geode git commit: GEODE-77 changed a few tests to
stop using multicast discovery
Repository: incubator-geode
Updated Branches:
refs/heads/feature/GEODE-77 fcc0f34fb -> 299966d7a
GEODE-77 changed a few tests to stop using multicast discovery
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/ea9a739e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/ea9a739e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/ea9a739e
Branch: refs/heads/feature/GEODE-77
Commit: ea9a739e2657214756f84f0a58dab2db73fa08f6
Parents: fcc0f34
Author: Bruce Schuchardt <bs...@pivotal.io>
Authored: Wed Sep 9 11:41:20 2015 -0700
Committer: Bruce Schuchardt <bs...@pivotal.io>
Committed: Wed Sep 9 11:41:20 2015 -0700
----------------------------------------------------------------------
.../test/java/com/gemstone/gemfire/cache/Bug42039JUnitTest.java | 4 +++-
.../cache/query/internal/index/PdxCopyOnReadQueryJUnitTest.java | 1 +
.../distributed/internal/InternalDistributedSystemJUnitTest.java | 1 +
.../cache/ClientMessagesRegionCreationAndDestroyJUnitTest.java | 4 +++-
.../com/gemstone/gemfire/memcached/IntegrationJUnitTest.java | 1 +
5 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ea9a739e/gemfire-core/src/test/java/com/gemstone/gemfire/cache/Bug42039JUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/Bug42039JUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/Bug42039JUnitTest.java
index da7d8aa..5be0c8f 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/Bug42039JUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/Bug42039JUnitTest.java
@@ -19,6 +19,7 @@ import org.junit.experimental.categories.Category;
import com.gemstone.gemfire.distributed.DistributedSystem;
import com.gemstone.gemfire.distributed.internal.DistributionConfig;
+import com.gemstone.gemfire.internal.AvailablePortHelper;
import com.gemstone.gemfire.internal.OSProcess;
import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
@@ -43,7 +44,8 @@ public class Bug42039JUnitTest {
public void testBug42039() throws Exception {
Properties p = new Properties();
p.setProperty("mcast-port", "0");
- p.setProperty("locators", "localhost[6666]");
+ int port = AvailablePortHelper.getRandomAvailableTCPPort();
+ p.setProperty("locators", "localhost["+port+"]");
p.setProperty(DistributionConfig.MEMBER_TIMEOUT_NAME, "1000");
ThreadMXBean threadBean = ManagementFactory.getThreadMXBean();
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ea9a739e/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/PdxCopyOnReadQueryJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/PdxCopyOnReadQueryJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/PdxCopyOnReadQueryJUnitTest.java
index 0c0719b..314fdfe 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/PdxCopyOnReadQueryJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/PdxCopyOnReadQueryJUnitTest.java
@@ -37,6 +37,7 @@ public class PdxCopyOnReadQueryJUnitTest {
CacheFactory cf = new CacheFactory();
cf.setPdxSerializer(serializer);
cf.setPdxReadSerialized(false);
+ cf.set("mcast-port", "0");
cache = cf.create();
cache.setCopyOnRead(true);
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ea9a739e/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/InternalDistributedSystemJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/InternalDistributedSystemJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/InternalDistributedSystemJUnitTest.java
index 13a8122..4e972ac 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/InternalDistributedSystemJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/InternalDistributedSystemJUnitTest.java
@@ -172,6 +172,7 @@ public class InternalDistributedSystemJUnitTest
Properties props = new Properties();
int memberTimeout = 100;
props.put("member-timeout", String.valueOf(memberTimeout));
+ props.put("mcast-port", "0");
DistributionConfig config = createSystem(props).getOriginalConfig();
assertEquals(memberTimeout, config.getMemberTimeout());
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ea9a739e/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientMessagesRegionCreationAndDestroyJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientMessagesRegionCreationAndDestroyJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientMessagesRegionCreationAndDestroyJUnitTest.java
index 21c1a5b..fe3e10c 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientMessagesRegionCreationAndDestroyJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientMessagesRegionCreationAndDestroyJUnitTest.java
@@ -156,7 +156,9 @@ public class ClientMessagesRegionCreationAndDestroyJUnitTest {
*/
private Cache createCache() throws CacheException
{
- return CacheFactory.create(DistributedSystem.connect(new Properties()));
+ Properties p = new Properties();
+ p.put("mcast-port", "0");
+ return CacheFactory.create(DistributedSystem.connect(p));
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ea9a739e/gemfire-core/src/test/java/com/gemstone/gemfire/memcached/IntegrationJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/memcached/IntegrationJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/memcached/IntegrationJUnitTest.java
index 9d5f39e..0a19abc 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/memcached/IntegrationJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/memcached/IntegrationJUnitTest.java
@@ -42,6 +42,7 @@ public class IntegrationJUnitTest {
Properties props = new Properties();
final int port = AvailablePortHelper.getRandomAvailableTCPPort();
props.setProperty("memcached-port", port+"");
+ props.setProperty("mcast-port", "0");
CacheFactory cf = new CacheFactory(props);
Cache cache = cf.create();
[3/3] incubator-geode git commit: GEODE-77 modified two tests to
account for background thread timed-wait,
and modified a second to create temp files in /etc on non-Windows machines
Posted by bs...@apache.org.
GEODE-77 modified two tests to account for background thread timed-wait,
and modified a second to create temp files in /etc on non-Windows machines
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/299966d7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/299966d7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/299966d7
Branch: refs/heads/feature/GEODE-77
Commit: 299966d7af04838dfa0651adda22e63100b92281
Parents: ae43aca
Author: Bruce Schuchardt <bs...@pivotal.io>
Authored: Wed Sep 9 11:43:44 2015 -0700
Committer: Bruce Schuchardt <bs...@pivotal.io>
Committed: Wed Sep 9 11:44:29 2015 -0700
----------------------------------------------------------------------
.../internal/membership/gms/fd/GMSHealthMonitor.java | 2 +-
.../internal/membership/gms/locator/GMSLocator.java | 6 +++++-
.../membership/gms/membership/GMSJoinLeave.java | 2 +-
.../membership/gms/locator/GMSLocatorJUnitTest.java | 14 +++++++++++++-
.../gms/membership/GMSHealthMonitorJUnitTest.java | 9 +++------
.../gms/membership/GMSJoinLeaveJUnitTest.java | 1 +
6 files changed, 24 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/299966d7/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
index 613299a..c6f1e02 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
@@ -79,7 +79,7 @@ public class GMSHealthMonitor implements HealthMonitor, MessageHandler {
"geode.logical-message-received-interval", 10) : 10;
/** stall time to wait for members leaving concurrently */
- private static final long MEMBER_SUSPECT_COLLECTION_INTERVAL = Long.getLong("geode.suspect-member-collection-interval", 200);
+ public static final long MEMBER_SUSPECT_COLLECTION_INTERVAL = Long.getLong("geode.suspect-member-collection-interval", 200);
/**
* If member don't see any activity from particular member then it sends check request
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/299966d7/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocator.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocator.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocator.java
index 66aa0a9..3296b80 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocator.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocator.java
@@ -305,7 +305,11 @@ public class GMSLocator implements Locator, NetLocator {
ois2 = new VersionedObjectInput(ois2, geodeVersion);
}
- this.view = DataSerializer.readObject(ois2);
+ Object o = DataSerializer.readObject(ois2);
+ if (!(o instanceof NetView)) {
+ return false;
+ }
+ this.view = (NetView)o;
logger.info("Peer locator initial membership is " + view);
return true;
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/299966d7/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
index 8844b23..b248f1b 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
@@ -78,7 +78,7 @@ public class GMSJoinLeave implements JoinLeave, MessageHandler {
private static final int VIEW_INSTALLATION_TIMEOUT = Integer.getInteger("gemfire.view-ack-timeout", 12500);
/** stall time to wait for concurrent join/leave/remove requests to be received */
- private static final long MEMBER_REQUEST_COLLECTION_INTERVAL = Long.getLong("gemfire.member-request-collection-interval", 2000);
+ public static final long MEMBER_REQUEST_COLLECTION_INTERVAL = Long.getLong("gemfire.member-request-collection-interval", 2000);
/** time to wait for a leave request to be transmitted by jgroups */
private static final long LEAVE_MESSAGE_SLEEP_TIME = Long.getLong("gemfire.leave-message-sleep-time", 4000);
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/299966d7/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocatorJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocatorJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocatorJUnitTest.java
index 048dd65..35a6e13 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocatorJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocatorJUnitTest.java
@@ -14,6 +14,7 @@ import com.gemstone.gemfire.distributed.internal.membership.MemberFactory;
import com.gemstone.gemfire.distributed.internal.membership.MembershipManager;
import com.gemstone.gemfire.distributed.internal.membership.NetView;
import com.gemstone.gemfire.internal.AvailablePortHelper;
+import com.gemstone.gemfire.internal.OSProcess;
import com.gemstone.gemfire.internal.SocketCreator;
import com.gemstone.gemfire.internal.Version;
import com.gemstone.gemfire.internal.admin.remote.RemoteTransportConfig;
@@ -42,7 +43,18 @@ public class GMSLocatorJUnitTest {
@Before
public void setUp() throws Exception {
- tempStateFile = File.createTempFile("tempLocator-", ".dat", new File(""));
+ String directory = "";
+ boolean isWindows = false;
+ String os = System.getProperty("os.name");
+ if (os != null) {
+ if (os.indexOf("Windows") != -1) {
+ isWindows = true;
+ }
+ }
+ if (!isWindows) {
+ directory = "/etc/";
+ }
+ tempStateFile = File.createTempFile(directory+"tempLocator-", ".dat", new File(""));
locator = new GMSLocator(null, tempStateFile, null, false, false, new LocatorStats());
// System.out.println("temp state file: " + tempStateFile);
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/299966d7/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSHealthMonitorJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSHealthMonitorJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSHealthMonitorJUnitTest.java
index e7962a3..079bbb7 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSHealthMonitorJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSHealthMonitorJUnitTest.java
@@ -225,7 +225,7 @@ public class GMSHealthMonitorJUnitTest {
* Checks whether suspect thread sends suspectMembers message
*/
@Test
- public void testSuspectMembersCalledThroughSuspectThread() {
+ public void testSuspectMembersCalledThroughSuspectThread() throws Exception {
NetView v = new NetView(mockMembers.get(0), 2, mockMembers, new ArrayList<InternalDistributedMember>(), new ArrayList<InternalDistributedMember>());
MethodExecuted messageSent = new MethodExecuted();
@@ -238,11 +238,8 @@ public class GMSHealthMonitorJUnitTest {
when(messenger.send(any(SuspectMembersMessage.class))).thenAnswer(messageSent);
- try {
- // suspect thread timeout is 200 ms
- Thread.sleep(300l);
- } catch (InterruptedException e) {
- }
+ Thread.sleep(GMSHealthMonitor.MEMBER_SUSPECT_COLLECTION_INTERVAL + 1000);
+
Assert.assertTrue("SuspectMembersMessage should have sent", messageSent.isMethodExecuted());
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/299966d7/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java
index 822e074..bb5abe7 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java
@@ -177,6 +177,7 @@ public class GMSJoinLeaveJUnitTest {
MethodExecuted removeMessageSent = new MethodExecuted();
when(messenger.send(any(RemoveMemberMessage.class))).thenAnswer(removeMessageSent);
gmsJoinLeave.remove(mockMembers[1], "removing for test");
+ Thread.sleep(GMSJoinLeave.MEMBER_REQUEST_COLLECTION_INTERVAL*2);
assert removeMessageSent.methodExecuted;
}
[2/3] incubator-geode git commit: GEODE-77 fixed a problem with
creating member IDs for a test
Posted by bs...@apache.org.
GEODE-77 fixed a problem with creating member IDs for a test
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/ae43acaa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/ae43acaa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/ae43acaa
Branch: refs/heads/feature/GEODE-77
Commit: ae43acaa40734cd8004bca9c7e98a5098de8d354
Parents: ea9a739
Author: Bruce Schuchardt <bs...@pivotal.io>
Authored: Wed Sep 9 11:42:45 2015 -0700
Committer: Bruce Schuchardt <bs...@pivotal.io>
Committed: Wed Sep 9 11:42:45 2015 -0700
----------------------------------------------------------------------
.../membership/gms/GMSMemberFactory.java | 13 +-
.../BindDistributedSystemJUnitTest.java | 146 +------------------
2 files changed, 11 insertions(+), 148 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ae43acaa/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/GMSMemberFactory.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/GMSMemberFactory.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/GMSMemberFactory.java
index 268384e..8b6be83 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/GMSMemberFactory.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/GMSMemberFactory.java
@@ -23,6 +23,7 @@ import com.gemstone.gemfire.distributed.internal.membership.MemberServices;
import com.gemstone.gemfire.distributed.internal.membership.MembershipManager;
import com.gemstone.gemfire.distributed.internal.membership.NetMember;
import com.gemstone.gemfire.distributed.internal.membership.gms.locator.GMSLocator;
+import com.gemstone.gemfire.internal.SocketCreator;
import com.gemstone.gemfire.internal.Version;
import com.gemstone.gemfire.internal.admin.remote.RemoteTransportConfig;
import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
@@ -65,18 +66,20 @@ public class GMSMemberFactory implements MemberServices {
}
/**
- * Return a new NetMember representing current host
+ * Return a new NetMember representing current host. This
+ * is used for testing, so we ignore host-name lookup
+ * localhost inetAddress
*
- * @param s a String referring to the current host
+ * @param s a String referring to a host - ignored
* @param p the membership port being used
* @return the new member
*/
public NetMember newNetMember(String s, int p) {
InetAddress inetAddr = null;
try {
- inetAddr=InetAddress.getByName(s);
- } catch (UnknownHostException e) {
- throw new RuntimeException("Unable to create an identifier for testing for " + s, e);
+ inetAddr=SocketCreator.getLocalHost();
+ } catch (UnknownHostException e2) {
+ throw new RuntimeException("Unable to create an identifier for testing for " + s, e2);
}
return newNetMember(inetAddr, p);
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ae43acaa/gemfire-core/src/test/java/com/gemstone/gemfire/admin/internal/BindDistributedSystemJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/admin/internal/BindDistributedSystemJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/admin/internal/BindDistributedSystemJUnitTest.java
index c8cf74b..a585726 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/admin/internal/BindDistributedSystemJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/admin/internal/BindDistributedSystemJUnitTest.java
@@ -25,6 +25,7 @@ import com.gemstone.gemfire.distributed.DistributedSystem;
import com.gemstone.gemfire.distributed.internal.DistributionConfig;
import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
import com.gemstone.gemfire.internal.AvailablePort;
+import com.gemstone.gemfire.internal.AvailablePortHelper;
import com.gemstone.gemfire.internal.util.StopWatch;
import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
@@ -70,159 +71,18 @@ public class BindDistributedSystemJUnitTest {
Properties props = new Properties();
props.setProperty(DistributionConfig.BIND_ADDRESS_NAME, bindTo);
- props.setProperty(DistributionConfig.MCAST_PORT_NAME,
- String.valueOf(AvailablePort.getRandomAvailablePort(AvailablePort.JGROUPS)));
+ props.setProperty(DistributionConfig.START_LOCATOR_NAME,
+ "localhost["+AvailablePortHelper.getRandomAvailableTCPPort()+"]");
this.system = com.gemstone.gemfire.distributed.DistributedSystem.connect(
props);
assertEquals(true, this.system.isConnected());
- // analyze the system's config...
- DistributionConfig distConfig =
- ((InternalDistributedSystem) this.system).getConfig();
-
- // create a loner distributed system and make sure it is connected...
- String locators = distConfig.getLocators();
- String mcastAddress = InetAddressUtil.toString(distConfig.getMcastAddress());
- int mcastPort = distConfig.getMcastPort();
-
// Because of fix for bug 31409
this.system.disconnect();
- checkAdminAPI(bindTo, locators, mcastAddress, mcastPort);
- }
-
- private void checkAdminAPI(String bindTo,
- String locators,
- String mcastAddress,
- int mcastPort) throws Exception {
-
- // build the config that defines the system...
- com.gemstone.gemfire.admin.DistributedSystemConfig config =
- AdminDistributedSystemFactory.defineDistributedSystem();
- config.setBindAddress(bindTo);
- config.setLocators(locators);
- config.setMcastAddress(mcastAddress);
- config.setMcastPort(mcastPort);
- config.setRemoteCommand(com.gemstone.gemfire.admin.DistributedSystemConfig.DEFAULT_REMOTE_COMMAND);
- assertNotNull(config);
-
- AdminDistributedSystem distSys =
- AdminDistributedSystemFactory.getDistributedSystem(config);
- assertNotNull(distSys);
-
- // connect to the system...
- distSys.connect();
- try {
- checkSystemIsRunning(distSys);
-
-// DistributionManager dm =
-// ((AdminDistributedSystemImpl) distSys).getDistributionManager();
-// checkDistributionPorts(dm, bindTo);
-
- }
- finally {
- distSys.disconnect();
- }
- }
-
- private void checkSystemIsRunning(final AdminDistributedSystem distSys) throws Exception {
-// WaitCriterion ev = new WaitCriterion() {
-// public boolean done() {
-// return distSys.isConnected() || distSys.isRunning();
-// }
-// public String description() {
-// return "distributed system is either connected or running: " + distSys;
-// }
-// };
-// DistributedTestCase.waitForCriterion(ev, 120 * 1000, 200, true);
- boolean done = false;
- try {
- for (StopWatch time = new StopWatch(true); !done && time.elapsedTimeMillis() < 120 * 1000; done = (distSys.isConnected() || distSys.isRunning())) {
- Thread.sleep(200);
- }
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- }
- assertTrue("waiting for distributed system is either connected or running: " + distSys, done);
- assertTrue(distSys.isConnected());
}
-// protected void checkDistributionPorts(DistributionManager dm,
-// String bindToAddress) throws Exception {
-// assertNotNull(dm);
-// DistributionChannel distChannel = dm.getDistributionChannel();
-//
-// // now query the Channel...
-// DirectChannel dc = distChannel.getDirectChannel();
-//// MembershipManager jc = distChannel.getMembershipManager();
-//
-// // get Jgroups IpAddress and retrieve its ports...
-// DistributedMember ipAddress = dc.getLocalAddress();
-// InetAddress jgAddr = ipAddress.getIpAddress();
-//// int mcastPort = ipAddress.getPort();
-// int directPort = ipAddress.getDirectChannelPort();
-// int[] portsToCheck = new int[]{directPort};
-//
-// // check the loopback first...
-// assertEquals(InetAddress.getByName(bindToAddress), jgAddr);
-// checkInetAddress(jgAddr, portsToCheck, true);
-//
-// // check all non-loopback (127.0.0.1) interfaces...
-// // note: if this fails then this machine probably lacks a NIC
-// InetAddress host = InetAddress.getLocalHost();
-// assertEquals(false, InetAddressUtil.isLoopback(host));
-// InetAddress[] hostAddrs = InetAddress.getAllByName(host.getHostName());
-// for (int i = 0; i < hostAddrs.length; i++) {
-// if (!InetAddressUtil.isLoopback(hostAddrs[i])) {
-// // make sure sure non-loopback is not listening to ports...
-// checkInetAddress(hostAddrs[i], portsToCheck, false);
-// }
-// }
-// }
-
- private static void checkInetAddress(InetAddress addr,
- int[] ports,
- boolean isListening) throws Exception {
- for (int i = 0; i < ports.length; i++) {
- System.out.println("addr = " + addr);
- System.out.println("ports[i] = " + ports[i]);
- System.out.println("isListening = " + isListening);
- assertEquals(isListening, isPortListening(addr, ports[i]));
- }
- }
-
- /**
- * Gets the portListening attribute of the BindDistributedSystemJUnitTest class
- *
- * @param addr Description of the Parameter
- * @param port Description of the Parameter
- * @return The portListening value
- * @exception Exception Description of the Exception
- */
- private static boolean isPortListening(InetAddress addr, int port) throws Exception {
- // Try to create a Socket
- Socket client = null;
- try {
- client = new Socket(addr, port);
- return true;
- }
- catch (Exception e) {
- return false;
- }
- finally {
- if (client != null) {
- try {
- client.close();
- }
- catch (Exception e) {
- /*
- * ignore
- */
- }
- }
- }
- }
}