activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Posta <christian.po...@gmail.com>
Subject Re: deleting durable subscriber exception
Date Fri, 07 Feb 2014 00:21:54 GMT
Looks like a bug..... Can you open a JIRA?

On Wed, Feb 5, 2014 at 9:39 PM, Minh Tran <minh.tran@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

Mime
View raw message