Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 44055 invoked from network); 15 Aug 2006 17:12:10 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 15 Aug 2006 17:12:10 -0000 Received: (qmail 43530 invoked by uid 500); 15 Aug 2006 17:12:09 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 43317 invoked by uid 500); 15 Aug 2006 17:12:09 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 43308 invoked by uid 99); 15 Aug 2006 17:12:08 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 15 Aug 2006 10:12:08 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [209.237.227.198] (HELO brutus.apache.org) (209.237.227.198) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 15 Aug 2006 10:12:08 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 52FFD41001E for ; Tue, 15 Aug 2006 17:09:14 +0000 (GMT) Message-ID: <19239506.1155661754322.JavaMail.jira@brutus> Date: Tue, 15 Aug 2006 10:09:14 -0700 (PDT) From: "Mike Matrigali (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Updated: (DERBY-1693) Out of Memory Error with derby.language.logStatementText=true In-Reply-To: <27150259.1155598093823.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ 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