[
http://issues.apache.org/jira/browse/DERBY-1614?page=comments#action_12425396 ]
Andrew McIntyre commented on DERBY-1614:
----------------------------------------
This looks good to me as well. My only comment is that the
!jvmName.equals("jview") can be removed. I don't think we need to be worrying
about whether or not the test harness runs with jview anymore. :-)
> Test harness overrides heap size settings when starting Network Server
> ----------------------------------------------------------------------
>
> Key: DERBY-1614
> URL: http://issues.apache.org/jira/browse/DERBY-1614
> Project: Derby
> Issue Type: Bug
> Components: Test
> Affects Versions: 10.2.0.0
> Environment: Test frameworks DerbyNet and DerbyNetClient
> Reporter: John H. Embretsen
> Assigned To: John H. Embretsen
> Fix For: 10.2.0.0
>
> Attachments: DERBY-1614_v1.diff
>
>
> Test specific heap size settings can be passed to the test harness using the
> jvmflags system property, for example in a <testname>_app.properties file or
> at the command line when starting a test, e.g "-Djvmflags=-Xms32m^-Xmx32m".
> The test harness almost always overrides such settings when starting a new
> Network Server using the
> org.apache.derbyTesting.functionTests.harness.NetServer class of the test
> harness. Currently, if _either_ -ms _or_ -Xms is missing from the jvmflags,
> NetServer.start() adds -ms16777216. Also, if _either_ -mx _or_ -Xmx is
> missing from the jvmflags, NetServer.start() adds -ms33554432. This has been
> the case since SVN revision 420048 (July 8, 2006).
> Earlier revisions did not override the heap settings unless the newer -Xms or
> -Xmx flags were used instead of the -ms and -mx flags. A patch for DERBY-1091
> attempted (among other things) to make the harness recognize the newer flags
> as well as the older flags, but the resulting behavior is (most likely) not
> as intended.
> If a test is run in either the DerbyNet framework or the DerbyNetClient
> framework, the test-specific JVM flags should (probably) be used for the
> Network Server JVM as well as the test JVM. Currently, even if non-default
> heap size flags are passed to the harness, the server JVM will ignore these
> settings since the harness adds -ms and/or -mx flags _after_ all other heap
> flags. The exception is if both new and old versions of heap flags are passed
> to the harness, e.g:
> jvmflags=-ms32m^-Xms32m^-mx128m^-Xmx128m
> Here is the code causing this behaviour:
> if (setJvmFlags && ((jvmflags.indexOf("-ms") == -1) ||
> (jvmflags.indexOf("-Xms") == -1)))
> // only setMs if no starting memory was given
> jvm.setMs(16*1024*1024); // -ms16m
> if (setJvmFlags && ((jvmflags.indexOf("-mx") == -1) ||
> (jvmflags.indexOf("-Xmx") == -1)))
> // only setMx if no max memory was given
> jvm.setMx(32*1024*1024); // -mx32m
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira