activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "guillaume peron (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-4487) java.lang.OutOfMemoryError: Java heap space
Date Fri, 31 May 2013 16:28:20 GMT

    [ https://issues.apache.org/jira/browse/AMQ-4487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13671623#comment-13671623
] 

guillaume peron commented on AMQ-4487:
--------------------------------------

Simple reproducer (however, I am not sure it happens every time).
1/ I used default server config, except changing producerFlowControl to false
2/ I used activemq 5.3.2 tool to send 100k messages (used JMX to check number of messages)
java -classpath activemq-all-5.3.2.jar org.apache.activemq.benchmark.Producer tcp://localhost:61616
false TEST.FOO false 1
3/ I used activemq 5.3.2 tool to dequeue messages, still 9k messages in the queue (used JMX
to check number of messages)
4/ I used the code below to browse messages - it slowed down over time with the jvm keeping
doing full GC
I stopped after 100k iterations, on a queue with 9k messages...

import java.util.Date;
import java.util.Enumeration;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Queue;
import javax.jms.QueueBrowser;
import javax.jms.Session;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;

public class QBrowse {
	ConnectionFactory connectionFactory;
	Connection connection;
	Session session;

	static public void main(String[] parms) throws JMSException {
		QBrowse qb = new QBrowse();
		qb.initCli();
		qb.oldestMsgInQueue("BENCHMARK.FEED0");
		qb.endCli();
	}

	public void initCli() throws JMSException {
		connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
		connection = connectionFactory.createConnection();
		connection.start();
		session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
	}

	public void endCli() throws JMSException {
		session.close();
		connection.close();
	}

	
	public void oldestMsgInQueue(String qname) throws JMSException{
		Queue q1= new ActiveMQQueue(qname );
		QueueBrowser br = session.createBrowser(q1,null);
		int iter = 0;
		Enumeration e = br.getEnumeration();
		while(e.hasMoreElements()){
			if((iter % 1000) == 0)
				System.out.println(iter);
			iter = iter+1;
			Message m = (Message) e.nextElement();
		}
		br.close();
		}
}

                
> java.lang.OutOfMemoryError: Java heap space
> -------------------------------------------
>
>                 Key: AMQ-4487
>                 URL: https://issues.apache.org/jira/browse/AMQ-4487
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.8.0
>         Environment: OS - Linux 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64
x86_64 x86_64 GNU/Linux
> Activemq - 5.8
>            Reporter: Subathra Jayaraman
>
> Hi,
> When we browse a queue in webconsole we are getting java.lang.OutOfMemoryError: Java
heap space. 
> Memory allocation -----> -Xms512m -Xmx3G
> When we try to click the queue to view the messages below error is occurring. We recently
moved from 5.7 to 5.8 version. We dint face this issue in 5.7 version.
> Kindly help in fixing the issue.
> java.lang.OutOfMemoryError: Java heap space
>         at java.util.Arrays.copyOf(Arrays.java:2882)
>         at java.io.CharArrayWriter.write(CharArrayWriter.java:88)
>         at java.io.PrintWriter.write(PrintWriter.java:382)
>         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:449)
>         at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:462)
>         at org.apache.jsp.browse_jsp$browse_jspHelper.invoke0(org.apache.jsp.browse_jsp:382)
>         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:1329)
>         at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
>         at org.apache.activemq.web.SessionFilter.doFilter(SessionFilter.java:45)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
>         at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:102)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
>         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:1300)
>         at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:445)
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
> Thank you.
> Regards,
> Subathra.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message