[
https://issues.apache.org/jira/browse/APLO-342?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
tiansong xia updated APLO-342:
------------------------------
Description:
The consumer consumes large quantities of messages by using transactional
session,After a period of time, java heap memory is high.
Consumer code like this:
Session session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
MessageConsumer receiver = connection.createConsumer("test topic");
receiver.setMessageListener(new MessageListener() {
//DB operations
session.commit();});
apollo.xml:
<queue id="com.zqgame.activeMQ.visitRecords" dlq="dlq.*" nak_limit="1"
swap_range_size="2000" auto_delete_after="0" />
<leveldb_store directory="${apollo.base}/data" read_threads="5"
index_block_size="2048" index_cache_size="134217728"
index_write_buffer_size="2097152" />
<connector id="tcp-max" bind="tcp://0.0.0.0:61614" connection_limit="100"
protocol="openwire" send_buffer_size="4096" receive_buffer_size="4096"/>
About 30 connections(one consumer per one connection) consume 500-600 message
per second.
GC infomation:
num #instances #bytes class name
----------------------------------------------
1: 623730 24949200
org.apache.activemq.apollo.openwire.command.MessageId
2: 311865 17464440
org.apache.activemq.apollo.openwire.command.MessageAck
3: 653593 15686232
org.apache.activemq.apollo.broker.Broker$PeriodStat
4: 624643 14991432 scala.collection.mutable.DefaultEntry
5: 76311 10419944 <constMethodKlass>
6: 76311 10389144 <methodKlass>
7: 312041 9985312 scala.collection.mutable.ListBuffer
8: 311865 9979680
org.apache.activemq.apollo.openwire.command.LocalTransactionId
9: 311865 9979680
org.apache.activemq.apollo.openwire.OpenwireProtocolHandler$TransactionContext
10: 7478 7530920 <constantPoolKlass>
11: 312847 7508328 scala.collection.immutable.$colon$colon
12: 311865 7484760
org.apache.activemq.apollo.openwire.OpenwireProtocolHandler$$anonfun$on_message_ack$1
Configuration and gc logs can see attachments.
was:
The consumer consumes large quantities of messages by using transactional
session,After a period of time, java heap memory is high.
Consumer code like this:
Session session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
MessageConsumer receiver = connection.createConsumer("test topic");
receiver.setMessageListener(new MessageListener() {session.commit();});
apollo.xml:
<queue id="com.zqgame.activeMQ.visitRecords" dlq="dlq.*" nak_limit="1"
swap_range_size="2000" auto_delete_after="0" />
<leveldb_store directory="${apollo.base}/data" read_threads="5"
index_block_size="2048" index_cache_size="134217728"
index_write_buffer_size="2097152" />
<connector id="tcp-max" bind="tcp://0.0.0.0:61614" connection_limit="100"
protocol="openwire" send_buffer_size="4096" receive_buffer_size="4096"/>
About 30 connections(one consumer per one connection) consume 500-600 message
per second.
GC infomation:
num #instances #bytes class name
----------------------------------------------
1: 623730 24949200
org.apache.activemq.apollo.openwire.command.MessageId
2: 311865 17464440
org.apache.activemq.apollo.openwire.command.MessageAck
3: 653593 15686232
org.apache.activemq.apollo.broker.Broker$PeriodStat
4: 624643 14991432 scala.collection.mutable.DefaultEntry
5: 76311 10419944 <constMethodKlass>
6: 76311 10389144 <methodKlass>
7: 312041 9985312 scala.collection.mutable.ListBuffer
8: 311865 9979680
org.apache.activemq.apollo.openwire.command.LocalTransactionId
9: 311865 9979680
org.apache.activemq.apollo.openwire.OpenwireProtocolHandler$TransactionContext
10: 7478 7530920 <constantPoolKlass>
11: 312847 7508328 scala.collection.immutable.$colon$colon
12: 311865 7484760
org.apache.activemq.apollo.openwire.OpenwireProtocolHandler$$anonfun$on_message_ack$1
Configuration and gc logs can see attachments.
> apollo becomes high heap memory after consuming large quantities of
> messages.what shall i do?
> -----------------------------------------------------------------------------------------------
>
> Key: APLO-342
> URL: https://issues.apache.org/jira/browse/APLO-342
> Project: ActiveMQ Apollo
> Issue Type: Question
> Components: apollo-broker, apollo-openwire
> Affects Versions: 1.6
> Reporter: tiansong xia
> Labels: test
> Attachments: apollo.xml, gcloh.txt
>
>
> The consumer consumes large quantities of messages by using transactional
> session,After a period of time, java heap memory is high.
> Consumer code like this:
> Session session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
> MessageConsumer receiver = connection.createConsumer("test topic");
> receiver.setMessageListener(new MessageListener() {
> //DB operations
> session.commit();});
> apollo.xml:
> <queue id="com.zqgame.activeMQ.visitRecords" dlq="dlq.*" nak_limit="1"
> swap_range_size="2000" auto_delete_after="0" />
> <leveldb_store directory="${apollo.base}/data" read_threads="5"
> index_block_size="2048" index_cache_size="134217728"
> index_write_buffer_size="2097152" />
> <connector id="tcp-max" bind="tcp://0.0.0.0:61614" connection_limit="100"
> protocol="openwire" send_buffer_size="4096" receive_buffer_size="4096"/>
> About 30 connections(one consumer per one connection) consume 500-600
> message per second.
> GC infomation:
> num #instances #bytes class name
> ----------------------------------------------
> 1: 623730 24949200
> org.apache.activemq.apollo.openwire.command.MessageId
> 2: 311865 17464440
> org.apache.activemq.apollo.openwire.command.MessageAck
> 3: 653593 15686232
> org.apache.activemq.apollo.broker.Broker$PeriodStat
> 4: 624643 14991432 scala.collection.mutable.DefaultEntry
> 5: 76311 10419944 <constMethodKlass>
> 6: 76311 10389144 <methodKlass>
> 7: 312041 9985312 scala.collection.mutable.ListBuffer
> 8: 311865 9979680
> org.apache.activemq.apollo.openwire.command.LocalTransactionId
> 9: 311865 9979680
> org.apache.activemq.apollo.openwire.OpenwireProtocolHandler$TransactionContext
> 10: 7478 7530920 <constantPoolKlass>
> 11: 312847 7508328 scala.collection.immutable.$colon$colon
> 12: 311865 7484760
> org.apache.activemq.apollo.openwire.OpenwireProtocolHandler$$anonfun$on_message_ack$1
> Configuration and gc logs can see attachments.
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)