[ 
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.

Reply via email to