Daniel Patterson wrote:
I've turned off persistance "<broker persistance="false">" and that makes this problem go away, but the broker then uses large amounts of memory, seemingly uncapped. I've moved this process to a directory on local disk and re-enabled persistence, and the problem returns.

I've also turned on debug, and it reveals a little bit more information. Just prior to the IOException: Not started
 error, another exception is thrown by the JDBCPersistenceAdapter:

2006-11-22 08:37:24,880 [eckpoint worker] DEBUG JDBCPersistenceAdapter - Commit failed: A truncation error was encountered trying to shrink BLOB 'XX-RESOLVE-XX' to length 1048576., due to: A truncation error was encountered trying to shrink BLOB 'XX-RESOLVE-XX' to length 1048576. ERROR 22001: A truncation error was encountered trying to shrink BLOB 'XX-RESOLVE-XX' to length 1048576. at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.iapi.types.SQLBinary.checkHostVariable(Unknown Source) at org.apache.derby.exe.ac38c30028x010fx1048xc115xffff840419a80.e0(Unknown Source) at org.apache.derby.impl.services.reflect.DirectCall.invoke(Unknown Source) at org.apache.derby.impl.sql.execute.RowResultSet.getNextRowCore(Unknown Source) at org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown Source) at org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(Unknown Source) at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source) at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeBatchElement(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.executeBatch(Unknown Source) at org.apache.activemq.store.jdbc.TransactionContext.executeBatch(TransactionContext.java:96) at org.apache.activemq.store.jdbc.TransactionContext.executeBatch(TransactionContext.java:75) at org.apache.activemq.store.jdbc.TransactionContext.commit(TransactionContext.java:154) at org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.commitTransaction(JDBCPersistenceAdapter.java:363) at org.apache.activemq.store.journal.JournalPersistenceAdapter.commitTransaction(JournalPersistenceAdapter.java:193) at org.apache.activemq.store.journal.JournalMessageStore$3.execute(JournalMessageStore.java:271) at org.apache.activemq.util.TransactionTemplate.run(TransactionTemplate.java:44) at org.apache.activemq.store.journal.JournalMessageStore.checkpoint(JournalMessageStore.java:247) at org.apache.activemq.store.journal.JournalTopicMessageStore.checkpoint(JournalTopicMessageStore.java:162) at org.apache.activemq.store.journal.JournalPersistenceAdapter$5.call(JournalPersistenceAdapter.java:373) at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
       at java.lang.Thread.run(Thread.java:595)
2006-11-22 08:37:24,881 [eckpoint Worker] ERROR JournalPersistenceAdapter - Failed to checkpoint a message store: edu.emory.mathcs.backport.java.util.concurrent.ExecutionException: java.io.IOException: Not started. edu.emory.mathcs.backport.java.util.concurrent.ExecutionException: java.io.IOException: Not started. at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.getResult(FutureTask.java:299) at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.get(FutureTask.java:118) at org.apache.activemq.store.journal.JournalPersistenceAdapter.doCheckpoint(JournalPersistenceAdapter.java:386) at org.apache.activemq.store.journal.JournalPersistenceAdapter$2.iterate(JournalPersistenceAdapter.java:129) at org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:88) at org.apache.activemq.thread.DedicatedTaskRunner.access$000(DedicatedTaskRunner.java:25) at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:39)
Caused by: java.io.IOException: Not started.
at org.apache.activemq.store.jdbc.TransactionContext.rollback(TransactionContext.java:168) at org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.rollbackTransaction(JDBCPersistenceAdapter.java:368) at org.apache.activemq.store.journal.JournalPersistenceAdapter.rollbackTransaction(JournalPersistenceAdapter.java:197) at org.apache.activemq.util.TransactionTemplate.run(TransactionTemplate.java:62) at org.apache.activemq.store.journal.JournalMessageStore.checkpoint(JournalMessageStore.java:247) at org.apache.activemq.store.journal.JournalTopicMessageStore.checkpoint(JournalTopicMessageStore.java:162) at org.apache.activemq.store.journal.JournalPersistenceAdapter$5.call(JournalPersistenceAdapter.java:373) at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)

Looks like a derby bug? I don't have the flexibility ot setup any other JDBC store, what other options are there?

daniel

Reply via email to