You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Minh Tran <mi...@winning.com.au> on 2014/02/06 05:39:17 UTC

deleting durable subscriber exception

Hi,

Getting the following exception when attempting to delete the durable subscriber in the admin console. Using 5.9.0. 

2014-02-06 15:25:44,042 | WARN  | /admin/deleteSubscriber.action | org.eclipse.jetty.servlet.ServletHandler | qtp1100010806-60
java.lang.ClassCastException: org.apache.activemq.broker.scheduler.SchedulerBroker cannot be cast to org.apache.activemq.broker.region.RegionBroker
        at org.apache.activemq.advisory.AdvisoryBroker.removeSubscription(AdvisoryBroker.java:280)
        at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
        at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
        at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
        at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
        at org.apache.activemq.broker.MutableBrokerFilter.removeSubscription(MutableBrokerFilter.java:117)
        at org.apache.activemq.broker.jmx.BrokerView.destroyDurableSubscriber(BrokerView.java:430)
        at org.apache.activemq.web.controller.DeleteSubscriber.handleRequest(DeleteSubscriber.java:38)
        at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320)
        at org.apache.activemq.web.AuditFilter.doFilter(AuditFilter.java:59)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
        at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:102)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
        at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
        at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
        at org.eclipse.jetty.server.Server.handle(Server.java:367)
        at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
        at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926)
        at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
        at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
        at java.lang.Thread.run(Thread.java:695)

If I turn off the scheduler in activemq.xml, then this problem goes away so it's related to the scheduler. This is a very nasty bug because without the ability to delete durable subscribers, dormant durables will eventually bring down the server. The offlineDurableSubcriberTimeout doesn't seem to kill the durable subscriber either. Below is a config I use on the broker.

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" offlineDurableSubscriberTimeout="172800000" offlineDurableSubscriberTaskSchedule="3600000" schedulerSupport="true" useJmx="true">


Re: deleting durable subscriber exception

Posted by Minh Tran <mi...@winning.com.au>.
Done

https://issues.apache.org/jira/browse/AMQ-5035

On 08/02/2014, at 11:22 PM, Timothy Bish <ta...@gmail.com> wrote:

> 
> Yup, there's a bug there.  The key is to set isUseJmx(false) in the test Christian created and then the exception will show up.
> 
> Please open an Jira issue for this.
> 
> On 02/08/2014 06:33 AM, Minh Tran wrote:
>> I have tried the nightly snapshot below and the problem still exists there. Here is how you can reproduce it.
>> 
>> 1. Download fresh copy and install
>> 2. Edit conf/activemq.xml and change broker line to
>> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" schedulerSupport="true">
>> 
>> 3. Go to admin console and create a topic, http://localhost:8161/admin/topics.jsp
>> 4. Go to admin console and create durable subscriber to topic above http://localhost:8161/admin/subscribers.jsp
>> 5. Delete the durable subscriber using link on same page and it will fail
>> 
>> Repeat all steps above but this time set schedulerSupport=false. Then it will delete the durable without any errors.
>> 
>> I looked at your unit test and it looks fine, all I can think of is running activemq from the usual way is behaving differently to the unit test somehow.
>> 
>> On 07/02/2014, at 3:41 PM, Christian Posta <ch...@gmail.com> wrote:
>> 
>>> Actually, I cannot reproduce this on trunk:
>>> 
>>> https://github.com/christian-posta/activemq/blob/AMQ-durable-sub-test/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQdurableSubTest.java#L50
>>> 
>>> 
>>> Can you try with a nightly snapshot?
>>> 
>>> https://repository.apache.org/content/repositories/snapshots/org/apache/activemq/apache-activemq/5.10-SNAPSHOT/
>>> 
>>> On Thu, Feb 6, 2014 at 5:21 PM, Christian Posta
>>> <ch...@gmail.com> wrote:
>>>> Looks like a bug..... Can you open a JIRA?
>>>> 
>>>> On Wed, Feb 5, 2014 at 9:39 PM, Minh Tran <mi...@winning.com.au> wrote:
>>>>> Hi,
>>>>> 
>>>>> Getting the following exception when attempting to delete the durable subscriber in the admin console. Using 5.9.0.
>>>>> 
>>>>> 2014-02-06 15:25:44,042 | WARN  | /admin/deleteSubscriber.action | org.eclipse.jetty.servlet.ServletHandler | qtp1100010806-60
>>>>> java.lang.ClassCastException: org.apache.activemq.broker.scheduler.SchedulerBroker cannot be cast to org.apache.activemq.broker.region.RegionBroker
>>>>>        at org.apache.activemq.advisory.AdvisoryBroker.removeSubscription(AdvisoryBroker.java:280)
>>>>>        at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>>>>        at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>>>>        at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>>>>        at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>>>>        at org.apache.activemq.broker.MutableBrokerFilter.removeSubscription(MutableBrokerFilter.java:117)
>>>>>        at org.apache.activemq.broker.jmx.BrokerView.destroyDurableSubscriber(BrokerView.java:430)
>>>>>        at org.apache.activemq.web.controller.DeleteSubscriber.handleRequest(DeleteSubscriber.java:38)
>>>>>        at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>>>>>        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
>>>>>        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
>>>>>        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
>>>>>        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
>>>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>>>>        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
>>>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>>>>        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)
>>>>>        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320)
>>>>>        at org.apache.activemq.web.AuditFilter.doFilter(AuditFilter.java:59)
>>>>>        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>>>>        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
>>>>>        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>>>>>        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>>>>        at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:102)
>>>>>        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>>>>        at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
>>>>>        at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
>>>>>        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>>>>        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443)
>>>>>        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
>>>>>        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
>>>>>        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>>>>        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
>>>>>        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
>>>>>        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
>>>>>        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
>>>>>        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
>>>>>        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>>>>>        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
>>>>>        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>>>>>        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
>>>>>        at org.eclipse.jetty.server.Server.handle(Server.java:367)
>>>>>        at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
>>>>>        at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926)
>>>>>        at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988)
>>>>>        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
>>>>>        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
>>>>>        at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
>>>>>        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
>>>>>        at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
>>>>>        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>>>>>        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>>>>>        at java.lang.Thread.run(Thread.java:695)
>>>>> 
>>>>> If I turn off the scheduler in activemq.xml, then this problem goes away so it's related to the scheduler. This is a very nasty bug because without the ability to delete durable subscribers, dormant durables will eventually bring down the server. The offlineDurableSubcriberTimeout doesn't seem to kill the durable subscriber either. Below is a config I use on the broker.
>>>>> 
>>>>> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" offlineDurableSubscriberTimeout="172800000" offlineDurableSubscriberTaskSchedule="3600000" schedulerSupport="true" useJmx="true">
>>>>> 
>>>> 
>>>> 
>>>> --
>>>> Christian Posta
>>>> http://www.christianposta.com/blog
>>>> twitter: @christianposta
>>> 
>>> 
>>> -- 
>>> Christian Posta
>>> http://www.christianposta.com/blog
>>> twitter: @christianposta
>> 
> 
> 
> -- 
> Tim Bish
> Sr Software Engineer | RedHat Inc.
> tim.bish@redhat.com | www.fusesource.com | www.redhat.com
> skype: tabish121 | twitter: @tabish121
> blog: http://timbish.blogspot.com/
> 


Re: deleting durable subscriber exception

Posted by Timothy Bish <ta...@gmail.com>.
Yup, there's a bug there.  The key is to set isUseJmx(false) in the test 
Christian created and then the exception will show up.

Please open an Jira issue for this.

On 02/08/2014 06:33 AM, Minh Tran wrote:
> I have tried the nightly snapshot below and the problem still exists there. Here is how you can reproduce it.
>
> 1. Download fresh copy and install
> 2. Edit conf/activemq.xml and change broker line to
> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" schedulerSupport="true">
>
> 3. Go to admin console and create a topic, http://localhost:8161/admin/topics.jsp
> 4. Go to admin console and create durable subscriber to topic above http://localhost:8161/admin/subscribers.jsp
> 5. Delete the durable subscriber using link on same page and it will fail
>
> Repeat all steps above but this time set schedulerSupport=false. Then it will delete the durable without any errors.
>
> I looked at your unit test and it looks fine, all I can think of is running activemq from the usual way is behaving differently to the unit test somehow.
>
> On 07/02/2014, at 3:41 PM, Christian Posta <ch...@gmail.com> wrote:
>
>> Actually, I cannot reproduce this on trunk:
>>
>> https://github.com/christian-posta/activemq/blob/AMQ-durable-sub-test/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQdurableSubTest.java#L50
>>
>>
>> Can you try with a nightly snapshot?
>>
>> https://repository.apache.org/content/repositories/snapshots/org/apache/activemq/apache-activemq/5.10-SNAPSHOT/
>>
>> On Thu, Feb 6, 2014 at 5:21 PM, Christian Posta
>> <ch...@gmail.com> wrote:
>>> Looks like a bug..... Can you open a JIRA?
>>>
>>> On Wed, Feb 5, 2014 at 9:39 PM, Minh Tran <mi...@winning.com.au> wrote:
>>>> Hi,
>>>>
>>>> Getting the following exception when attempting to delete the durable subscriber in the admin console. Using 5.9.0.
>>>>
>>>> 2014-02-06 15:25:44,042 | WARN  | /admin/deleteSubscriber.action | org.eclipse.jetty.servlet.ServletHandler | qtp1100010806-60
>>>> java.lang.ClassCastException: org.apache.activemq.broker.scheduler.SchedulerBroker cannot be cast to org.apache.activemq.broker.region.RegionBroker
>>>>         at org.apache.activemq.advisory.AdvisoryBroker.removeSubscription(AdvisoryBroker.java:280)
>>>>         at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>>>         at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>>>         at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>>>         at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>>>         at org.apache.activemq.broker.MutableBrokerFilter.removeSubscription(MutableBrokerFilter.java:117)
>>>>         at org.apache.activemq.broker.jmx.BrokerView.destroyDurableSubscriber(BrokerView.java:430)
>>>>         at org.apache.activemq.web.controller.DeleteSubscriber.handleRequest(DeleteSubscriber.java:38)
>>>>         at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>>>>         at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
>>>>         at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
>>>>         at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
>>>>         at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
>>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>>>         at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
>>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>>>         at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)
>>>>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320)
>>>>         at org.apache.activemq.web.AuditFilter.doFilter(AuditFilter.java:59)
>>>>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>>>         at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
>>>>         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>>>>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>>>         at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:102)
>>>>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>>>         at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
>>>>         at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
>>>>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>>>         at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443)
>>>>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
>>>>         at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
>>>>         at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>>>         at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
>>>>         at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
>>>>         at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
>>>>         at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
>>>>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
>>>>         at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>>>>         at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
>>>>         at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>>>>         at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
>>>>         at org.eclipse.jetty.server.Server.handle(Server.java:367)
>>>>         at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
>>>>         at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926)
>>>>         at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988)
>>>>         at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
>>>>         at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
>>>>         at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
>>>>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
>>>>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
>>>>         at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>>>>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>>>>         at java.lang.Thread.run(Thread.java:695)
>>>>
>>>> If I turn off the scheduler in activemq.xml, then this problem goes away so it's related to the scheduler. This is a very nasty bug because without the ability to delete durable subscribers, dormant durables will eventually bring down the server. The offlineDurableSubcriberTimeout doesn't seem to kill the durable subscriber either. Below is a config I use on the broker.
>>>>
>>>> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" offlineDurableSubscriberTimeout="172800000" offlineDurableSubscriberTaskSchedule="3600000" schedulerSupport="true" useJmx="true">
>>>>
>>>
>>>
>>> --
>>> Christian Posta
>>> http://www.christianposta.com/blog
>>> twitter: @christianposta
>>
>>
>> -- 
>> Christian Posta
>> http://www.christianposta.com/blog
>> twitter: @christianposta
>


-- 
Tim Bish
Sr Software Engineer | RedHat Inc.
tim.bish@redhat.com | www.fusesource.com | www.redhat.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/


Re: deleting durable subscriber exception

Posted by Minh Tran <mi...@winning.com.au>.
I have tried the nightly snapshot below and the problem still exists there. Here is how you can reproduce it.

1. Download fresh copy and install
2. Edit conf/activemq.xml and change broker line to 
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" schedulerSupport="true">

3. Go to admin console and create a topic, http://localhost:8161/admin/topics.jsp
4. Go to admin console and create durable subscriber to topic above http://localhost:8161/admin/subscribers.jsp
5. Delete the durable subscriber using link on same page and it will fail

Repeat all steps above but this time set schedulerSupport=false. Then it will delete the durable without any errors.

I looked at your unit test and it looks fine, all I can think of is running activemq from the usual way is behaving differently to the unit test somehow.

On 07/02/2014, at 3:41 PM, Christian Posta <ch...@gmail.com> wrote:

> Actually, I cannot reproduce this on trunk:
> 
> https://github.com/christian-posta/activemq/blob/AMQ-durable-sub-test/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQdurableSubTest.java#L50
> 
> 
> Can you try with a nightly snapshot?
> 
> https://repository.apache.org/content/repositories/snapshots/org/apache/activemq/apache-activemq/5.10-SNAPSHOT/
> 
> On Thu, Feb 6, 2014 at 5:21 PM, Christian Posta
> <ch...@gmail.com> wrote:
>> Looks like a bug..... Can you open a JIRA?
>> 
>> On Wed, Feb 5, 2014 at 9:39 PM, Minh Tran <mi...@winning.com.au> wrote:
>>> Hi,
>>> 
>>> Getting the following exception when attempting to delete the durable subscriber in the admin console. Using 5.9.0.
>>> 
>>> 2014-02-06 15:25:44,042 | WARN  | /admin/deleteSubscriber.action | org.eclipse.jetty.servlet.ServletHandler | qtp1100010806-60
>>> java.lang.ClassCastException: org.apache.activemq.broker.scheduler.SchedulerBroker cannot be cast to org.apache.activemq.broker.region.RegionBroker
>>>        at org.apache.activemq.advisory.AdvisoryBroker.removeSubscription(AdvisoryBroker.java:280)
>>>        at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>>        at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>>        at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>>        at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>>        at org.apache.activemq.broker.MutableBrokerFilter.removeSubscription(MutableBrokerFilter.java:117)
>>>        at org.apache.activemq.broker.jmx.BrokerView.destroyDurableSubscriber(BrokerView.java:430)
>>>        at org.apache.activemq.web.controller.DeleteSubscriber.handleRequest(DeleteSubscriber.java:38)
>>>        at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>>>        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
>>>        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
>>>        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
>>>        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>>        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>>        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)
>>>        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320)
>>>        at org.apache.activemq.web.AuditFilter.doFilter(AuditFilter.java:59)
>>>        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>>        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
>>>        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>>>        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>>        at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:102)
>>>        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>>        at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
>>>        at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
>>>        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>>        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443)
>>>        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
>>>        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
>>>        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>>        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
>>>        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
>>>        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
>>>        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
>>>        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
>>>        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>>>        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
>>>        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>>>        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
>>>        at org.eclipse.jetty.server.Server.handle(Server.java:367)
>>>        at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
>>>        at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926)
>>>        at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988)
>>>        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
>>>        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
>>>        at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
>>>        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
>>>        at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
>>>        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>>>        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>>>        at java.lang.Thread.run(Thread.java:695)
>>> 
>>> If I turn off the scheduler in activemq.xml, then this problem goes away so it's related to the scheduler. This is a very nasty bug because without the ability to delete durable subscribers, dormant durables will eventually bring down the server. The offlineDurableSubcriberTimeout doesn't seem to kill the durable subscriber either. Below is a config I use on the broker.
>>> 
>>> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" offlineDurableSubscriberTimeout="172800000" offlineDurableSubscriberTaskSchedule="3600000" schedulerSupport="true" useJmx="true">
>>> 
>> 
>> 
>> 
>> --
>> Christian Posta
>> http://www.christianposta.com/blog
>> twitter: @christianposta
> 
> 
> 
> -- 
> Christian Posta
> http://www.christianposta.com/blog
> twitter: @christianposta


Re: deleting durable subscriber exception

Posted by Minh Tran <mi...@winning.com.au>.
Is this with schedulerSupport set to true?

On 08/02/2014, at 9:08 AM, jlindwall <jl...@yahoo.com> wrote:

> A data point: Just today I successfully deleted a durable subscriber using
> the hawtio console in 5.9.0
> 
> 
> 
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/deleting-durable-subscriber-exception-tp4677521p4677646.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: deleting durable subscriber exception

Posted by jlindwall <jl...@yahoo.com>.
A data point: Just today I successfully deleted a durable subscriber using
the hawtio console in 5.9.0



--
View this message in context: http://activemq.2283324.n4.nabble.com/deleting-durable-subscriber-exception-tp4677521p4677646.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: deleting durable subscriber exception

Posted by Christian Posta <ch...@gmail.com>.
Actually, I cannot reproduce this on trunk:

https://github.com/christian-posta/activemq/blob/AMQ-durable-sub-test/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQdurableSubTest.java#L50


Can you try with a nightly snapshot?

https://repository.apache.org/content/repositories/snapshots/org/apache/activemq/apache-activemq/5.10-SNAPSHOT/

On Thu, Feb 6, 2014 at 5:21 PM, Christian Posta
<ch...@gmail.com> wrote:
> Looks like a bug..... Can you open a JIRA?
>
> On Wed, Feb 5, 2014 at 9:39 PM, Minh Tran <mi...@winning.com.au> wrote:
>> Hi,
>>
>> Getting the following exception when attempting to delete the durable subscriber in the admin console. Using 5.9.0.
>>
>> 2014-02-06 15:25:44,042 | WARN  | /admin/deleteSubscriber.action | org.eclipse.jetty.servlet.ServletHandler | qtp1100010806-60
>> java.lang.ClassCastException: org.apache.activemq.broker.scheduler.SchedulerBroker cannot be cast to org.apache.activemq.broker.region.RegionBroker
>>         at org.apache.activemq.advisory.AdvisoryBroker.removeSubscription(AdvisoryBroker.java:280)
>>         at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>         at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>         at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>         at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>>         at org.apache.activemq.broker.MutableBrokerFilter.removeSubscription(MutableBrokerFilter.java:117)
>>         at org.apache.activemq.broker.jmx.BrokerView.destroyDurableSubscriber(BrokerView.java:430)
>>         at org.apache.activemq.web.controller.DeleteSubscriber.handleRequest(DeleteSubscriber.java:38)
>>         at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>>         at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
>>         at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
>>         at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
>>         at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>         at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>         at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)
>>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320)
>>         at org.apache.activemq.web.AuditFilter.doFilter(AuditFilter.java:59)
>>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>         at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
>>         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>         at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:102)
>>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>         at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
>>         at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
>>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>>         at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443)
>>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
>>         at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
>>         at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>         at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
>>         at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
>>         at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
>>         at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
>>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
>>         at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>>         at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
>>         at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>>         at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
>>         at org.eclipse.jetty.server.Server.handle(Server.java:367)
>>         at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
>>         at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926)
>>         at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988)
>>         at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
>>         at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
>>         at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
>>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
>>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
>>         at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>>         at java.lang.Thread.run(Thread.java:695)
>>
>> If I turn off the scheduler in activemq.xml, then this problem goes away so it's related to the scheduler. This is a very nasty bug because without the ability to delete durable subscribers, dormant durables will eventually bring down the server. The offlineDurableSubcriberTimeout doesn't seem to kill the durable subscriber either. Below is a config I use on the broker.
>>
>> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" offlineDurableSubscriberTimeout="172800000" offlineDurableSubscriberTaskSchedule="3600000" schedulerSupport="true" useJmx="true">
>>
>
>
>
> --
> Christian Posta
> http://www.christianposta.com/blog
> twitter: @christianposta



-- 
Christian Posta
http://www.christianposta.com/blog
twitter: @christianposta

Re: deleting durable subscriber exception

Posted by Christian Posta <ch...@gmail.com>.
Looks like a bug..... Can you open a JIRA?

On Wed, Feb 5, 2014 at 9:39 PM, Minh Tran <mi...@winning.com.au> wrote:
> Hi,
>
> Getting the following exception when attempting to delete the durable subscriber in the admin console. Using 5.9.0.
>
> 2014-02-06 15:25:44,042 | WARN  | /admin/deleteSubscriber.action | org.eclipse.jetty.servlet.ServletHandler | qtp1100010806-60
> java.lang.ClassCastException: org.apache.activemq.broker.scheduler.SchedulerBroker cannot be cast to org.apache.activemq.broker.region.RegionBroker
>         at org.apache.activemq.advisory.AdvisoryBroker.removeSubscription(AdvisoryBroker.java:280)
>         at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>         at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>         at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>         at org.apache.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:112)
>         at org.apache.activemq.broker.MutableBrokerFilter.removeSubscription(MutableBrokerFilter.java:117)
>         at org.apache.activemq.broker.jmx.BrokerView.destroyDurableSubscriber(BrokerView.java:430)
>         at org.apache.activemq.web.controller.DeleteSubscriber.handleRequest(DeleteSubscriber.java:38)
>         at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>         at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
>         at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
>         at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
>         at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>         at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>         at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320)
>         at org.apache.activemq.web.AuditFilter.doFilter(AuditFilter.java:59)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>         at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>         at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:102)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>         at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
>         at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>         at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443)
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
>         at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
>         at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>         at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
>         at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
>         at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
>         at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
>         at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>         at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:521)
>         at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>         at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
>         at org.eclipse.jetty.server.Server.handle(Server.java:367)
>         at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
>         at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926)
>         at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988)
>         at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
>         at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
>         at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>         at java.lang.Thread.run(Thread.java:695)
>
> If I turn off the scheduler in activemq.xml, then this problem goes away so it's related to the scheduler. This is a very nasty bug because without the ability to delete durable subscribers, dormant durables will eventually bring down the server. The offlineDurableSubcriberTimeout doesn't seem to kill the durable subscriber either. Below is a config I use on the broker.
>
> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" offlineDurableSubscriberTimeout="172800000" offlineDurableSubscriberTaskSchedule="3600000" schedulerSupport="true" useJmx="true">
>



-- 
Christian Posta
http://www.christianposta.com/blog
twitter: @christianposta