You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "A B (JIRA)" <de...@db.apache.org> on 2006/09/06 23:44:24 UTC

[jira] Resolved: (DERBY-1315) Statement optimization/compilation fails with OutOfMemoryException in largeCodeGen test with embedded and framework DerbyNetClient

     [ http://issues.apache.org/jira/browse/DERBY-1315?page=all ]

A B resolved DERBY-1315.
------------------------

    Fix Version/s: 10.2.2.0
                       (was: 10.2.1.0)
       Resolution: Fixed

A fix for this issue has been checked into 10.3 and ported to 10.2 (thanks Dan and Rick).  The remaining work is to update largeCodeGen to run with 10,000 unions and to investigate related issues.  I''ve filed DERBY-1818 for tracking of that test work and am thus resolving this issue.

> Statement optimization/compilation fails with OutOfMemoryException in largeCodeGen test  with embedded and framework DerbyNetClient
> -----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1315
>                 URL: http://issues.apache.org/jira/browse/DERBY-1315
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL, Regression Test Failure
>    Affects Versions: 10.2.1.0
>         Environment: Linux - Suse 2.6.5-7.252
>            Reporter: Ramandeep Kaur
>         Assigned To: A B
>             Fix For: 10.2.2.0, 10.3.0.0
>
>         Attachments: 1315-comparison.html, d1315_v1.patch, largeCodeGen.java, largeCodeGen.out, largeCodeGen.sql, largeCodeGen.tmp, largeCodeGen.tmpmstr
>
>
> The test case lang/largeCodeGen.java was run as is without giving any -Djvmflags="-mx512M -ms512M" and gave the following error:
> *** 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 ***
>  
> Then the test case lang/largeCodeGen.java was run with -Djvmflags="-mx512M -ms512M", and it gave the following error:
> < 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.
> Then I modified test case lang/largeCodeGen.java to set PRINT_FAILURE_EXCEPTION  to true and ran the test again. This time I got the following error and stack trace:
> MasterFileName = master/largeCodeGen.out
> 15a16,18
> > java.sql.SQLException: Statement too complex. Try rewriting the query to remove 
> complexity. Eliminating many duplicate expressions or breaking up the query and 
> storing interim results in a temporary table can often help resolve this error
> . SQLSTATE: XBCM4: Java class file format limit(s) exceeded: method:e1 code_leng
> th (65577 > 65535) in generated class org.apache.derby.exe.ac46a08075x010bx203ax 
> d010x000050a9065e9.
> > Caused by: org.apache.derby.client.am.SqlException: Statement too complex. Try
>  rewriting the query to remove complexity. Eliminating many duplicate expression
> s or breaking up the query and storing interim results in a temporary table can 
> often help resolve this error. SQLSTATE: XBCM4: Java class file format limit(s)
> exceeded: method:e1 code_length (65577 > 65535) in generated class 
> org.apache.derby.exe.ac46a08075x010bx203axd010x000050a9065e9 .
> >       ... 4 more
> 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. 
> 22a22,29
> > FAILED QUERY: IN clause with 97000 parameters.
> > java.sql.SQLException: The parameter position '31,465' is out of range.  The 
> number of parameters for this prepared  statement is '31,464'.
> >       at org.apache.derby.client.am.PreparedStatement.setInt(PreparedStatement
> .java(Compiled Code))
> > Caused by: org.apache.derby.client.am.SqlException: The parameter position '31
> ,465' is out of range.  The number of parameters for this prepared  statement is 
>  '31,464'.
> >       at org.apache.derby.client.am.PreparedStatement.checkForValidParameterIn
> dex(PreparedStatement.java(Compiled Code))
> >       at org.apache.derby.client.am.PreparedStatement.checkSetterPreconditions 
> (PreparedStatement.java(Inlined Compiled Code))
> >       at org.apache.derby.client.am.PreparedStatement.setIntX(PreparedStatemen
> t.java(Inlined Compiled Code))
> >       ... 5 more
> 27a35,37
> > java.sql.SQLException : Statement too complex. Try rewriting the query to remove 
> complexity. Eliminating many duplicate expressions or breaking up the query and 
> storing interim results in a temporary table can often help resolve this error 
> . SQLSTATE: XBCM4: Java class file format limit(s) exceeded: method:fillResultSe
> t code_length (69127 > 65535) in generated class 
> org.apache.derby.exe.ac46a08075x010bx203axd010x000050a9065e11.
> > Caused by: org.apache.derby.client.am.SqlException: Statement too complex. Try
>  rewriting the query to remove complexity. Eliminating many duplicate expression
> s or breaking up the query and storing interim results in a temporary table can 
> often help resolve this error. SQLSTATE: XBCM4: Java class file format limit(s)
> exceeded: method:fillResultSet code_length (69127 > 65535) in generated class 
> org.apache.derby.exe.ac46a08075x010bx203axd010x000050a9065e11 .
> >       ... 3 more
> 28 add
> > java.sql.SQLException: Java exception: ': java.lang.OutOfMemoryError'.
> > Caused by: org.apache.derby.client.am.SqlException: Java exception: ': 
> java.lang.OutOfMemoryError '.
> >       ... 3 more
> Test Failed.

-- 
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