[ 
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

        

Reply via email to