[
https://issues.apache.org/jira/browse/GEODE-3914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16220854#comment-16220854
]
ASF GitHub Bot commented on GEODE-3914:
---------------------------------------
jdeppe-pivotal closed pull request #982: GEODE-3914: Allow gfsh test rules to
use more than 4 VMs
URL: https://github.com/apache/geode/pull/982
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git
a/geode-core/src/test/java/org/apache/geode/test/dunit/rules/LocatorServerStartupRule.java
b/geode-core/src/test/java/org/apache/geode/test/dunit/rules/LocatorServerStartupRule.java
index 0a8d4ec053..45184be330 100644
---
a/geode-core/src/test/java/org/apache/geode/test/dunit/rules/LocatorServerStartupRule.java
+++
b/geode-core/src/test/java/org/apache/geode/test/dunit/rules/LocatorServerStartupRule.java
@@ -23,6 +23,7 @@
import java.io.File;
import java.io.IOException;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.Properties;
import java.util.stream.IntStream;
@@ -62,7 +63,7 @@
new DistributedRestoreSystemProperties();
private TemporaryFolder tempWorkingDir;
- private MemberVM[] members;
+ private ArrayList<MemberVM> members;
private boolean logFile = false;
@@ -102,7 +103,7 @@ protected void before() throws Throwable {
if (useTempWorkingDir()) {
tempWorkingDir.create();
}
- members = new MemberVM[DUnitLauncher.NUM_VMS];
+ members = new ArrayList<>();
}
@Override
@@ -111,7 +112,7 @@ protected void after() {
DUnitLauncher.closeAndCheckForSuspects();
} finally {
MemberStarterRule.disconnectDSIfAny();
- IntStream.range(0, DUnitLauncher.NUM_VMS).forEach(this::stopVM);
+ IntStream.range(0, members.size()).forEach(this::stopVM);
if (useTempWorkingDir()) {
tempWorkingDir.delete();
@@ -152,8 +153,16 @@ public MemberVM startLocatorVM(int index, Properties
specifiedProperties) throws
locatorStarter.before();
return locatorStarter;
});
- members[index] = new MemberVM(locator, locatorVM, useTempWorkingDir());
- return members[index];
+
+ return setMember(index, new MemberVM(locator, locatorVM,
useTempWorkingDir()));
+ }
+
+ private MemberVM setMember(int index, MemberVM element) {
+ while (members.size() <= index) {
+ members.add(null);
+ }
+ members.set(index, element);
+ return members.get(index);
}
public MemberVM startServerVM(int index) throws IOException {
@@ -194,8 +203,7 @@ public MemberVM startServerVM(int index, Properties
specifiedProperties, int loc
serverStarter.before();
return serverStarter;
});
- members[index] = new MemberVM(server, serverVM, useTempWorkingDir());
- return members[index];
+ return setMember(index, new MemberVM(server, serverVM,
useTempWorkingDir()));
}
public MemberVM startServerAsJmxManager(int index) throws IOException {
@@ -235,12 +243,11 @@ public MemberVM startServerAsEmbededLocator(int index,
Properties properties) th
serverStarter.before();
return serverStarter;
});
- members[index] = new MemberVM(server, serverVM, useTempWorkingDir());
- return members[index];
+ return setMember(index, new MemberVM(server, serverVM,
useTempWorkingDir()));
}
public void stopVM(int index) {
- MemberVM member = members[index];
+ MemberVM member = members.get(index);
// user has started a server/locator in this VM
if (member != null) {
member.stopMember();
@@ -255,7 +262,7 @@ public void stopVM(int index) {
* Returns the {@link Member} running inside the VM with the specified
{@code index}
*/
public MemberVM getMember(int index) {
- return members[index];
+ return members.get(index);
}
public VM getVM(int index) {
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Allow gfsh test rules to use more than 4 VMs
> --------------------------------------------
>
> Key: GEODE-3914
> URL: https://issues.apache.org/jira/browse/GEODE-3914
> Project: Geode
> Issue Type: Improvement
> Components: tests
> Reporter: Jens Deppe
> Assignee: Jens Deppe
>
> We're currently capping the test rules at using 4 VMs although the underlying
> dunit machinery caters for an an arbitrary number.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)