[
https://issues.apache.org/activemq/browse/AMQ-1842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rob Davies resolved AMQ-1842.
-----------------------------
Resolution: Fixed
Fixed by SVN revision 729939, 729940, 729942
> HashIndex leaks file handles when destination is removed
> --------------------------------------------------------
>
> Key: AMQ-1842
> URL: https://issues.apache.org/activemq/browse/AMQ-1842
> Project: ActiveMQ
> Issue Type: Bug
> Components: Message Store
> Affects Versions: 5.2.0
> Reporter: Scott Stanton
> Assignee: Rob Davies
> Priority: Critical
> Fix For: 5.3.0
>
> Attachments: patches
>
>
> When a destination is removed, all open file handles inside HashIndex will be
> leaked because HashIndex.clear() closes the index, deletes the backing store
> files, then reopens the files. There is no provision for closing the
> HashIndex without reopening the files. Eventually the broker runs out of
> file handles and hangs.
> For reference, here is the stack trace down to HashIndex.clear from the
> removeDestination call:
> {code}
> at
> org.apache.activemq.kaha.impl.index.hash.HashIndex.clear(HashIndex.java:313)
> at
> org.apache.activemq.kaha.impl.container.MapContainerImpl.clear(MapContainerImpl.java:385)
> at
> org.apache.activemq.store.kahadaptor.KahaReferenceStore.removeAllMessages(KahaReferenceStore.java:201)
> at
> org.apache.activemq.store.kahadaptor.KahaTopicReferenceStore.removeAllMessages(KahaTopicReferenceStore.java:320)
> at
> org.apache.activemq.store.amq.AMQMessageStore.removeAllMessages(AMQMessageStore.java:503)
> at org.apache.activemq.broker.region.Topic.dispose(Topic.java:452)
> at
> org.apache.activemq.broker.region.AbstractRegion.dispose(AbstractRegion.java:469)
> at
> org.apache.activemq.broker.region.AbstractRegion.removeDestination(AbstractRegion.java:185)
> at
> org.apache.activemq.broker.region.RegionBroker.removeDestination(RegionBroker.java:289)
> at
> org.apache.activemq.broker.BrokerFilter.removeDestination(BrokerFilter.java:146)
> at
> org.apache.activemq.broker.BrokerFilter.removeDestination(BrokerFilter.java:146)
> at
> org.apache.activemq.advisory.AdvisoryBroker.removeDestination(AdvisoryBroker.java:173)
> at
> org.apache.activemq.broker.BrokerFilter.removeDestination(BrokerFilter.java:146)
> at
> org.apache.activemq.broker.MutableBrokerFilter.removeDestination(MutableBrokerFilter.java:153)
> at
> org.apache.activemq.broker.BrokerFilter.removeDestination(BrokerFilter.java:146)
> at
> org.apache.activemq.broker.MutableBrokerFilter.removeDestination(MutableBrokerFilter.java:153)
> ...
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.