activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Davies <rajdav...@gmail.com>
Subject Re: Persistance on DB and "Failed to checkpoint a message store" error
Date Thu, 18 Sep 2008 10:19:25 GMT
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.
>


Mime
View raw message