Hi,
I reran testcase largeCodeGen with both frameworks - embedded and DerbyNetClient.
Embedded
----------------
For embedded, test passed in the following cases:
1. when test was run by passig-Djvmflags="-Xmx1024M -Xms1024M" from command line as follows:
>java -Dverbose=true -Djvmflags="-Xmx1024M -Xms1024M"
org.apache.derbyTesting.functionTests.harness.RunTest lang/largeCodeGen.java
org.apache.derbyTesting.functionTests.harness.RunTest lang/largeCodeGen.java
2. When java/testing/org/apache/derbyTesting/functionTests/tests/lang/largeCodeGen_app.properties was modified and the line jvmflags=-Xmx512M -Xms512M was replaced with jvmflags=-Xmx1024M -Xms1024M
DerbyNetClient
----------------------
With framework DerbyNetClient, there is still same error as given in my message above.
With framework DerbyNetClient, there is still same error as given in my message above.
Note: Please note that there is difference in jvmflags while running with embedded and DerbyNetClient frameworks.
With embedded frameworks -Xmx and -Xms are given for jvmflags
With DerbyNetClient frameworks -mx and -ms are are given for jvmflags.
Thanks,
Ramandeep Kaur
On 5/3/06, Manjula G Kutty <[EMAIL PROTECTED]> wrote:
Ramandeep Kaur wrote:
> Hi,
>
> I ran largeCodeGen as following:
> java -Dverbose=true -Djvmflags="-mx512M -ms512M"
> -Dframework=DerbyNetClient
> org.apache.derbyTesting.functionTests.harness.RunTest
> lang/largeCodeGen.java
> With the above, I did NOT get usual error which was
> *** Start: largeCodeGen jdk1.4.2 largeDataTests:largeDataTests
> 2006-04-29 08:30:04 ***
> 27a28
> > JVMST109: Insufficient space in Javaheap to satisfy allocation request
> Test Failed.
> *** End: largeCodeGen jdk1.4.2 largeDataTests:largeDataTests
> 2006-04-29 08:32:01 ***
>
> Instead, I got another error which is
> < PASS: IN clause with 97000 parameters
> 20 del
> < PASS: PREPARE: IN clause with 98000 parameters
> 21 del
> < PASS: IN clause with 98000 parameters
> 22 del
> < FAILED QUERY: IN clause with 99000 parameters.
> 22a19
> > FAILED QUERY: IN clause with 97000 parameters.
> Test Failed.
>
> Here are the contents of test.txt
>
> *** Start: largeCodeGen jdk1.4.2 DerbyNetClient 2006-05-02 17:06:24 ***
> Initialize for framework: DerbyNetClient
> java -mx512M -ms512M
> - Dderby.system.home=/local0/NightlyBuildResults.2006-05-02/
> ibm142_largeDataTests/DerbyNetClient/largeCodeGen -
> Djava.security.manager -Djava
> .security.policy=/local0/NightlyBuildResults.2006-05-02/ibm142_largeDataTests/de
> rby_tests.policy
> -DderbyTesting.codejar=file:/local1/cloudtst/dev/src/jars/insan
> e/ -DderbyTesting.codedir=/local1/cloudtst/dev/src/jars/insane
> -DderbyTesting.se
> rverhost=localhost - DderbyTesting.clienthost=localhost
> -DderbyTesting.codeclasse
> s=file://unused/ org.apache.derby.drda.NetworkServerControl start
> Attempt to shutdown framework: DerbyNetClient
> 19 del
> < PASS: IN clause with 97000 parameters
> 20 del
> < PASS: PREPARE: IN clause with 98000 parameters
> 21 del
> < PASS: IN clause with 98000 parameters
> 22 del
> < FAILED QUERY: IN clause with 99000 parameters.
> 22a19
> > FAILED QUERY: IN clause with 97000 parameters.
> Test Failed.
> *** End: largeCodeGen jdk1.4.2 DerbyNetClient 2006-05-02 17:08:07 ***
>
> Now it looks like it could be a diff problem. Any idea???
>
> Thanks, Raman
>
>
> On 2/27/06, *John Embretsen* <[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>> wrote:
>
> Kathey Marsden wrote:
>
> > Manjula G Kutty wrote:
> >
> >> I have closed all the statements, prepared statements and
> resultsets
> >> in the largeCodeGen.java file. But still the test passes with
> embedded
> >> but fails with derbyClient. I'm attaching the modified
> >> largeCodeGen.java file
> >>
> > Hi Manjula,
> >
> > Because this test throws a lot of exceptions, the statements and
> > prepared statements would need to be closed in a finally
> block. But
> > I just noticed something that might be causing this and it is
> related to
> > the test harness.
> > When we run the test network server starts and gets the jvmFlags
> > specified for the test in largeCodeGen_app.properties
> > jvmflags=-Xmx512M -Xms512M
> > (Whether that is at all right I don't know since app_properties
> is I
> > think supposed to be for the client).
> >
> > But it also gets these conflicting properties (from the harness
> itself?)
> > -ms16777216 -mx33554432
> >
> > So which is the server really using?
>
> The server is using the latter (-ms16777216 -mx33554432), since these
> override the flags passed from the largeCodeGen_app.properties file. I
> verified this by running the lang/largeCodeGen.java test from
> current trunk
> with Sun JDK 1.5 and -Dframework=DerbyNetClient.
>
> By the way, in my environment the above test run hangs (using
> DerbyNetClient). I have not investigated this further, but the
> heap does look
> full.
>
> I used the jinfo and jmap tools that come with the JDK to observe
> the flags
> received by the server JVM and the actual heap configuration used
> by the
> server while running the test (I got the VMIDs using the jps tool).
>
> By running "jinfo -flags" I got (extract):
>
> VM Flags:
> -Xmx512M -Xms512M -Xms16777216 -Xmx33554432
> -Dderby.system.home=/home/je159969/apache/Derby/clean/tests/largeCodeGen2/DerbyNetClient/largeCodeGen
>
> -Djava.security.manager
> -Djava.security.policy=/home/je159969/apache/Derby/clean/tests/largeCodeGen2/derby_tests.policy
>
>
> -DderbyTesting.codejar=file:/home/je159969/apache/Derby/clean/trunk/jars/sane/
> -DderbyTesting.codedir=/home/je159969/apache/Derby/clean/trunk/jars/sane
> -DderbyTesting.serverhost=localhost
> -DderbyTesting.clienthost=localhost
> -DderbyTesting.codeclasses=file://unused/
>
> By running "jmap -heap" I got (extract):
>
> Heap Configuration:
> MinHeapFreeRatio = 40
> MaxHeapFreeRatio = 70
> MaxHeapSize = 33554432 ( 32.0MB)
> NewSize = 655360 (0.625MB)
> MaxNewSize = 4294901760 (4095.9375MB)
> OldSize = 1441792 ( 1.375MB)
> NewRatio = 12
> SurvivorRatio = 32
> PermSize = 8388608 ( 8.0MB)
> MaxPermSize = 67108864 (64.0MB)
>
>
> I.e., jmap reports the max heap size as 32 MB, not 512 MB.
>
> The extra (overriding) jvm heap size flags are set in
> NetServer.java in the
> harness package, which is used by RunTest.java (line 286) to start the
> network server. This code seems to be old (and buggy), since it
> looks for flags
> starting with "-ms" or "-mx", not "-Xms" or "-Xmx". Here's the
> code that is
> producing the flags:
>
> if (!jvmName.equals("jview"))
> {
> if (setJvmFlags && (jvmflags.indexOf("-ms") == -1))
> // only setMs if no starting memory was given
> jvm.setMs (16*1024*1024); // -ms16m
> if (setJvmFlags && ( jvmflags.indexOf("-mx") == -1))
> // only setMx if no max memory was given
> jvm.setMx(32*1024*1024); // -mx32m
> jvm.setNoasyncgc(true); // -noasyncgc
> }
>
> The class level comment in jvm.java lists the "valid" jvm options,
> supposedly
> from "java -help". This list does not look anything like the
> option lists I
> get from Sun's JDKs 1.3 through 1.6, so I guess it is a few years
> old...
>
>
> --
> John
>
>
>
>
>
>
>
>
> --
> Ramandeep Kaur
> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
Hi Raman,
I would suggest you to run the entire suite (largedata) and then get the
diff for both embedded and DerbynetClient. That way we can know whether
it is a mere master update or a problem. Please let me know the result
after running the entire suite
Thanks
Manjula
--
Ramandeep Kaur
[EMAIL PROTECTED]
