which version of activemq ?

On 18 Sep 2008, at 07:51, Sandro Tosi wrote:


Hello,
my filesystem filled up due to ActiveMQ keep writing into nohup.out this
error message:

ERROR JournalPersistenceAdapter - Failed to checkpoint a message store:
java.util.concurrent.ExecutionException: java.io.IOException: Already
started.
java.util.concurrent.ExecutionException: java.io.IOException: Already
started.
       at
java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:205)
       at java.util.concurrent.FutureTask.get(FutureTask.java:80)
       at
org .apache .activemq .store .journal .JournalPersistenceAdapter .doCheckpoint(JournalPersistenceAdapter.java:398)
       at
org.apache.activemq.store.journal.JournalPersistenceAdapter $1.iterate(JournalPersistenceAdapter.java:119)
       at
org .apache .activemq .thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
       at
org.apache.activemq.thread.DedicatedTaskRunner $1.run(DedicatedTaskRunner.java:36)
Caused by: java.io.IOException: Already started.
       at
org .apache .activemq .store.jdbc.TransactionContext.begin(TransactionContext.java:148)
       at
org .apache .activemq .store .jdbc .JDBCPersistenceAdapter.beginTransaction(JDBCPersistenceAdapter.java: 356)
       at
org .apache .activemq .store .journal .JournalPersistenceAdapter .beginTransaction(JournalPersistenceAdapter.java:193)
       at
org .apache .activemq.util.TransactionTemplate.run(TransactionTemplate.java:41)
       at
org .apache .activemq .store .journal.JournalMessageStore.checkpoint(JournalMessageStore.java:258)
       at
org .apache .activemq .store .journal.JournalMessageStore.checkpoint(JournalMessageStore.java:233)
       at
org.apache.activemq.store.journal.JournalPersistenceAdapter $4.call(JournalPersistenceAdapter.java:368)
       at
org.apache.activemq.store.journal.JournalPersistenceAdapter $4.call(JournalPersistenceAdapter.java:367)
       at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
       at java.util.concurrent.FutureTask.run(FutureTask.java:123)
       at
java.util.concurrent.ThreadPoolExecutor $Worker.runTask(ThreadPoolExecutor.java:650)
       at
java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:675)
       at java.lang.Thread.run(Thread.java:595)

This is happening since our database went offline due to backup (last
night). Indeed, when I delete a msg from the web admin console, it's not
purged on the db because in the log I can see:

ERROR DefaultDatabaseLocker          - Failed to update database lock:
java.sql.SQLException: Closed Connection
java.sql.SQLException: Closed Connection
       at
oracle .jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
       at
oracle .jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
       at
oracle .jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227)
       at
oracle.jdbc.driver.OracleStatement.ensureOpen(OracleStatement.java: 3291)
       at
oracle .jdbc .driver .OraclePreparedStatement .executeInternal(OraclePreparedStatement.java:2966)
       at
oracle .jdbc .driver .OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java: 3057)
       at
org .apache .commons .dbcp .DelegatingPreparedStatement .executeUpdate(DelegatingPreparedStatement.java:94)
       at
org .apache .commons .dbcp .DelegatingPreparedStatement .executeUpdate(DelegatingPreparedStatement.java:94)
       at
org .apache .activemq .store .jdbc.DefaultDatabaseLocker.keepAlive(DefaultDatabaseLocker.java:104)
       at
org .apache .activemq .store .jdbc .JDBCPersistenceAdapter .databaseLockKeepAlive(JDBCPersistenceAdapter.java:458)
       at
org.apache.activemq.store.jdbc.JDBCPersistenceAdapter $3.run(JDBCPersistenceAdapter.java:260)
       at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java: 417)
       at
java.util.concurrent.FutureTask $Sync.innerRunAndReset(FutureTask.java:280) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:135)
       at
java.util.concurrent.ScheduledThreadPoolExecutor $ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:65)
       at
java.util.concurrent.ScheduledThreadPoolExecutor $ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:142)
       at
java.util.concurrent.ScheduledThreadPoolExecutor $ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:166)
       at
java.util.concurrent.ThreadPoolExecutor $Worker.runTask(ThreadPoolExecutor.java:650)
       at
java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:675)
       at java.lang.Thread.run(Thread.java:595)
INFO JDBCPersistenceAdapter - No longer able to keep the exclusive
lock so giving up being a master
WARN  JDBCPersistenceAdapter         - Failed to stop broker

Is there something we can do to avoid such situation? To auto- reconnect to (Oracle) db after an offline backup? We are piloting to introduce activemq
in our production env, and this issue is scaring us a bit.

If you need, I can provide the xml config file and any other info required.

Thanks in advance,
Sandro
--
View this message in context: 
http://www.nabble.com/Persistance-on-DB-and-%22Failed-to-checkpoint-a-message-store%22-error-tp19547006p19547006.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Reply via email to