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

Mike Matrigali updated DERBY-1693:
----------------------------------


I agree, my guess is that we are trying to print out the whole blob/clob in the 
log statement text. This is 
very unlikely what the user wants.   And in the current architecture anytime 
you try to do 2 different things
with streamed blob/clob then the blob/clob is going to get instantiated in 
memory.  So for instance on 
an insert we can stream the blob to the store, but if we need to print it to 
the log first we are going to call
toString and end up with it in memory (of course you could stream to disk and 
back but doesn't seem 
worth it for logstatement text).  

My question is what should log statement text do.  The easiest is just not 
print values for the blob/clob.  Is
that ok?  

> Out of Memory Error with derby.language.logStatementText=true
> -------------------------------------------------------------
>
>                 Key: DERBY-1693
>                 URL: http://issues.apache.org/jira/browse/DERBY-1693
>             Project: Derby
>          Issue Type: Bug
>    Affects Versions: 10.2.0.0
>         Environment: JVM INFO :
> java version "1.5.0_02"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_02-b09)
> Java HotSpot(TM) Client VM (build 1.5.0_02-b09, mixed mode)
> OS : Windows XP Professional
>            Reporter: Manjula Kutty
>            Priority: Minor
>
> While running a test with blobs and clobs of random size but not exceeding 
> more than 5MB , with derby.language.logStatementText=true , The inserts are 
> faling with out of memory error. Once that error occurs then the test loses 
> all connections to the database. If I take off the 
> derby.language.logStatementText=true property from derby.properties, the test 
> runs fine. Here is the stack Trace
> java.lang.OutOfMemoryError: Java heap space
> ---SQLException Caught---
> SQLState:   XJ001
> Severity: 0
> Message:  Java exception: 'Java heap space: java.lang.OutOfMemoryError'.
> java.lang.OutOfMemoryError: Java heap space
> java.sql.SQLException: No current connection.
>         at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExc
> eptionFactory.java:45)
>         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:89)
>         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:105)
>         at org.apache.derby.impl.jdbc.Util.noCurrentConnection(Util.java:209)
>         at 
> org.apache.derby.impl.jdbc.EmbedConnection.checkIfClosed(EmbedConnect
> ion.java:1351)
>         at 
> org.apache.derby.impl.jdbc.EmbedConnection.setupContextStack(EmbedCon
> nection.java:1529)
>         at 
> org.apache.derby.impl.jdbc.EmbedConnection.rollback(EmbedConnection.j
> ava:946)
>         at 
> com.ibm.db2j.tests.scenario.utils.DbTasks.insertMail(DbTasks.java:400
> )
>         at 
> com.ibm.db2j.tests.scenario.tasks.Refresh.insertMail(Refresh.java:62)
>         at com.ibm.db2j.tests.scenario.tasks.Refresh.doWork(Refresh.java:43)
>         at com.ibm.db2j.tests.scenario.tasks.Refresh.run(Refresh.java:21)

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

        

Reply via email to