Uploaded image for project: 'ActiveMQ'
  1. ActiveMQ
  2. AMQ-4994

Web Console - java.lang.OutOfMemoryError: Java heap space - while browsing deep queues

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 5.9.0
    • Fix Version/s: 5.9.1, 5.10.0
    • Component/s: Web Console
    • Labels:
      None

      Description

      When browsing a deep queue with large number of messages, broker throws

      java.lang.OutOfMemoryError: Java heap space
      	at java.util.Arrays.copyOf(Arrays.java:2367)
      	at java.io.CharArrayWriter.write(CharArrayWriter.java:105)
      	at java.io.PrintWriter.write(PrintWriter.java:426)
      	at com.opensymphony.module.sitemesh.filter.RoutablePrintWriter.write(RoutablePrintWriter.java:144)
      	at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:181)
      	at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:412)
      	at org.apache.taglibs.standard.tag.common.core.OutSupport.writeEscapedXml(OutSupport.java:239)
      	at org.apache.taglibs.standard.tag.common.core.OutSupport.out(OutSupport.java:208)
      	at org.apache.taglibs.standard.tag.common.core.OutSupport.doStartTag(OutSupport.java:128)
      	at org.apache.jsp.browse_jsp._jspx_meth_c_out_6(org.apache.jsp.browse_jsp:323)
      	at org.apache.jsp.browse_jsp.access$8(org.apache.jsp.browse_jsp:314)
      	at org.apache.jsp.browse_jsp$browse_jspHelper.invoke0(org.apache.jsp.browse_jsp:426)
      	at org.apache.jsp.browse_jsp$browse_jspHelper.invoke(org.apache.jsp.browse_jsp:450)
      	at org.apache.jsp.tag.web.jms.forEachMessage_tag.doTag(org.apache.jsp.tag.web.jms.forEachMessage_tag:89)
      	at org.apache.jsp.browse_jsp._jspx_meth_jms_forEachMessage_0(org.apache.jsp.browse_jsp:170)
      	at org.apache.jsp.browse_jsp._jspService(org.apache.jsp.browse_jsp:100)
      	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
      	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
      	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
      	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
      	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.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.SessionFilter.doFilter(SessionFilter.java:45)
      	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)

      when trying to browse that queue.

      To reproduce it:

      1. Start a broker with default configuration

      2. Send 200k messages with

      ant producer -Dmax=200000 -Ddurable=true -Dsubject=TEST

      3. Try to browse the queue

      http://localhost:8161/admin/browse.jsp?JMSDestination=TEST

      The proper solution to this problem is to implement proper pagination while browsing the messages, so users can browse through all messages showing 100 msgs (or so) at the time and not using all the available memory.

        Attachments

        1. AMQ-4994.patch
          22 kB
          Daniel Kulp

          Activity

            People

            • Assignee:
              hadrian Hadrian Zbarcea
              Reporter:
              dejanb Dejan Bosanac
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: