[
https://issues.apache.org/activemq/browse/AMQ-2935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=62355#action_62355
]
Andy commented on AMQ-2935:
---------------------------
Eric,
Only using "schedulerSupport=false" does NOT resolve this issue. The problem is
specifically a KahaDB problem (the default persistence store is KahaDB).
Swapping out the persistence store is currently the only option. If you need
'any' persistence then I would suggest the jdbcPersistenceAdapter (the default
uses a Derby Database, but many can be used).
This is substantially slower than KahaDB, but not enough to worry about if you
are only pushing say several thousand messages a minute (you'd have to run your
own tests). I am in fact happy enough with the performance that I am likely to
stick with it for stabilities sake even if this issue is resolved.
<broker xmlns="http://activemq.apache.org/schema/core"
useJmx="false"
brokerName="YourName"
useShutdownHook="false"
persistent="true"
start="false"
schedulerSupport="false"
enableStatistics="false">
<persistenceAdapter>
<jdbcPersistenceAdapter dataDirectory="activemq-data/jdbc"/>
</persistenceAdapter>
.....
Note: If schedulerSupport is enabled then the error will still persist (excuse
the pun) due to the fact that the scheduler uses KahaDB irrelevant of the
persistenceAdapter - So if you want scheduler support then there is currently
no option (unless someone knows how to configure the scheduler to use another
store?).
Gary,
I should have mentioned that my configuration is for an OpenEJB RA, whereby the
RA is responsible for starting and stopping ActiveMQ (which is does, and still
produces a corrupt KahaDB) - The default OpenEJB RA config uses a memory store,
but I require persistence for my project. A standalone application (basically
as Krzysztof writes) which loops through start/stop will still produce the same
stacktrace virtually every time.
> java.io.EOFException: Chunk stream does not exist at page on broker start
> -------------------------------------------------------------------------
>
> Key: AMQ-2935
> URL: https://issues.apache.org/activemq/browse/AMQ-2935
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.4.0, 5.4.1, 5.5.0
> Environment: Win7 32bit, JDK 1.6_20
> Reporter: Andy
> Assignee: Gary Tully
> Priority: Blocker
> Attachments: activemq-data.zip, activemq.xml, stacktraces.txt
>
>
> I am seeing this regularly upon restarts in all versions from 5.4.x - I
> cannot downgrade due to breaking issues in previous versions.
> The broker was shutdown cleanly with no logged issues.
> Deleting the activemq-data directory seems to be the only recovery solution
> (which is not an option in production)
> 2010-09-23 13:54:30,997 [Starting ActiveMQ Broker] ERROR
> org.apache.activemq.broker.BrokerService - Failed to start ActiveMQ JMS
> Message Broker. Reason: java.io.EOFException: Chunk stream does not exist at
> page: 0
> java.io.EOFException: Chunk stream does not exist at page: 0
> at org.apache.kahadb.page.Transaction$2.readPage(Transaction.java:454)
> at org.apache.kahadb.page.Transaction$2.<init>(Transaction.java:431)
> at
> org.apache.kahadb.page.Transaction.openInputStream(Transaction.java:428)
> at org.apache.kahadb.page.Transaction.load(Transaction.java:404)
> at org.apache.kahadb.page.Transaction.load(Transaction.java:361)
> at
> org.apache.activemq.broker.scheduler.JobSchedulerStore$3.execute(JobSchedulerStore.java:250)
> at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
> at
> org.apache.activemq.broker.scheduler.JobSchedulerStore.doStart(JobSchedulerStore.java:239)
> at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:53)
> at
> org.apache.activemq.broker.scheduler.SchedulerBroker.getStore(SchedulerBroker.java:198)
> at
> org.apache.activemq.broker.scheduler.SchedulerBroker.getInternalScheduler(SchedulerBroker.java:185)
> at
> org.apache.activemq.broker.scheduler.SchedulerBroker.start(SchedulerBroker.java:85)
> at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:157)
> at org.apache.activemq.broker.BrokerFilter.start(BrokerFilter.java:157)
> at
> org.apache.activemq.broker.TransactionBroker.start(TransactionBroker.java:112)
> at
> org.apache.activemq.broker.BrokerService$3.start(BrokerService.java:1786)
> at
> org.apache.activemq.broker.BrokerService.start(BrokerService.java:496)
> at
> org.apache.activemq.ra.ActiveMQResourceAdapter$1.run(ActiveMQResourceAdapter.java:85)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.