activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] [Reopened] (AMQ-1063) Journaled JDBC checkpoint fails with java.io.IOException: Already started.
Date Mon, 09 Dec 2013 16:40:10 GMT

     [ https://issues.apache.org/jira/browse/AMQ-1063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gary Tully reopened AMQ-1063:
-----------------------------


there is indeed a problem with this fix as pointed out above.

getConnection depends on the inTx flag.

maybe the correct fix is to clear the inTx flag in TransactionContext.getConnection() before
we throw the ioe.

> Journaled JDBC checkpoint fails with java.io.IOException: Already started.
> --------------------------------------------------------------------------
>
>                 Key: AMQ-1063
>                 URL: https://issues.apache.org/jira/browse/AMQ-1063
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.0.0
>         Environment: Windows XP Professional, JVM 1.5.0_09, MySQL 5.0.27
>            Reporter: jk@penguinsfan.com
>            Assignee: Claus Ibsen
>             Fix For: 5.10.0
>
>         Attachments: activemq.log.zip
>
>
> I am running trunk using JDBC against MySQL 5.0.27.  I am seeing the above mentioned
IOException.  Do not have specific instructions on how to reproduce at the current time, but
I was using durable subscriptions with the store durable cursor if that helps.  (I'll post
if I find out more information.)
>       <persistenceAdapter>
>    
>       <journaledJDBC journalLogFiles="5" dataDirectory="../activemq-data" dataSource="#mysql-ds"/>
>     </persistenceAdapter>
>   <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
>     <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
>     <property name="url" value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/>
>     <property name="username" value="*** OMITTED ***"/>
>     <property name="password" value="*** OMITTED *** "/>
>     <property name="poolPreparedStatements" value="true"/>
>   </bean>  
> Log trace:
> 2006-11-19 19:19:48,078 [/127.0.0.1:4898] DEBUG JournalPersistenceAdapter      - Waking
for checkpoint to complete.
> 2006-11-19 19:19:48,078 [eckpoint Worker] DEBUG JournalPersistenceAdapter      - Checkpoint
started.
> 2006-11-19 19:19:48,078 [eckpoint Worker] 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: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$0(DedicatedTaskRunner.java:76)
> 	at org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:39)
> Caused by: java.io.IOException: Already started.
> 	at org.apache.activemq.store.jdbc.TransactionContext.begin(TransactionContext.java:145)
> 	at org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.beginTransaction(JDBCPersistenceAdapter.java:358)
> 	at org.apache.activemq.store.journal.JournalPersistenceAdapter.beginTransaction(JournalPersistenceAdapter.java:189)
> 	at org.apache.activemq.util.TransactionTemplate.run(TransactionTemplate.java:41)
> 	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 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)
> 2006-11-19 19:19:48,109 [eckpoint Worker] DEBUG JournalPersistenceAdapter      - Checkpoint
done.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Mime
View raw message