activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ali Reza.T (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-3911) Messages are not acknowelge and inflight count goes up till max memory is reached for topic
Date Tue, 03 Jul 2012 13:23:19 GMT

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

Ali Reza.T commented on AMQ-3911:
---------------------------------

We had further investigations and we found this happens when the CPU usage goes up due to
some other process in server (it reaches around 50%. We have an Sun V880 server with four
1.2 GHz CPUs with 8MB cache). We hadn't tried new versions due to hard update procedure. Is
it possible that this problem is solved in newer versions?
                
> Messages are not acknowelge and inflight count goes up till max memory is reached for
topic
> -------------------------------------------------------------------------------------------
>
>                 Key: AMQ-3911
>                 URL: https://issues.apache.org/jira/browse/AMQ-3911
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker, JMS client
>    Affects Versions: 5.4.2
>         Environment: OS: Solaris 10
> Java Version: 1.6
>            Reporter: Ali Reza.T
>            Priority: Blocker
>
> We have 1 topic, 100 producer and  1 consumer. We use non-transacted sessions, NON_PERSISTENT
messages and CLIENT_ACKNOWLEDGE mode. The problem is that after a while (1 day or more) some
messages are not acknowledged and inflight count goes up till maximum memory of the topic
is reach. Consumer code is something like this:
> {code}
> Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
> 		MessageConsumer consumer = session.createConsumer(JMSProviderUtil.getTopic(AGENT_STATUS_TOPIC));
> 		consumer.setMessageListener(new MessageListener() {
> 			public void onMessage(Message message) {
> 				try {
> 					if (message instanceof TextMessage && message.getJMSRedelivered() == false)
{
> 						TextMessage textMessage = (TextMessage) message;
> 						String host = textMessage.getText();
> 						String switchId = host2idMap.get(host);
> 						if (switchId != null) {
> 							id2lastHeartbeatMap.put(switchId, System.currentTimeMillis());
> 						}
> 					}
> 				} catch (JMSException e) {
> 					GeneralLogger.LOGGER.logError(e.getMessage(), e);
> 				} finally {
> 					try {
> 						message.acknowledge();
> 					} catch (JMSException e) {
> 						GeneralLogger.LOGGER.logError(e.getMessage(), e);
> 					}
> 				}
> 			}
> 		});
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message