You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Klaus Alfert (JIRA)" <ji...@apache.org> on 2006/08/24 17:33:23 UTC

[jira] Created: (SM-555) Improving reliability of servicemix-jms - servicemix looses messages when crashing

Improving reliability of servicemix-jms  - servicemix looses messages when crashing
-----------------------------------------------------------------------------------

                 Key: SM-555
                 URL: https://issues.apache.org/activemq/browse/SM-555
             Project: ServiceMix
          Issue Type: Improvement
          Components: servicemix-jms
    Affects Versions: 3.0
            Reporter: Klaus Alfert
            Priority: Critical


ServiceMix can loose (incoming) messages during a crashing. 

The test-setup is simple: one process populates a queue, servicemix reads this queue and writes each message in a second queue, which is consumed by a second process. During this test servicemix is killed and restarted.

My test results showed that some times some messages are lost. Looking in the source code reveals that reading from the queue is done with an AUTO_ACKNOWLEDGE, which implies that there is no dependency between doing an (implicit) commit on the queue and successful sending of a message to another JBI endpoint. Apparently, this can result in lost messages if servicemix crashes. I could possibly use the JCAProcessor, but then I need an external transaction manager.

I suggest to extend the servicemix-jms binding component with the (configurable) ability to make the read of an input queue dependent on the successful NMR send. This would add more realiability to servicemix, if needed, payed with a (small) loss of effeciency for wating on receiving a DONE as MessageExchange status.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Resolved: (SM-555) Improving reliability of servicemix-jms - servicemix looses messages when crashing

Posted by "Bruce Snyder (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bruce Snyder resolved SM-555.
-----------------------------

       Resolution: Fixed
    Fix Version/s: 3.2
         Assignee: Guillaume Nodet

Fixed in SM-537 via the {{JmsConsumerEndpoint.setSessionAcknowledgeMode()}} method. 

> Improving reliability of servicemix-jms  - servicemix looses messages when crashing
> -----------------------------------------------------------------------------------
>
>                 Key: SM-555
>                 URL: https://issues.apache.org/activemq/browse/SM-555
>             Project: ServiceMix
>          Issue Type: Improvement
>          Components: servicemix-jms
>    Affects Versions: 3.0.1
>            Reporter: Klaus Alfert
>            Assignee: Guillaume Nodet
>            Priority: Critical
>             Fix For: 3.2
>
>
> ServiceMix can loose (incoming) messages during a crashing. 
> The test-setup is simple: one process populates a queue, servicemix reads this queue and writes each message in a second queue, which is consumed by a second process. During this test servicemix is killed and restarted.
> My test results showed that some times some messages are lost. Looking in the source code reveals that reading from the queue is done with an AUTO_ACKNOWLEDGE, which implies that there is no dependency between doing an (implicit) commit on the queue and successful sending of a message to another JBI endpoint. Apparently, this can result in lost messages if servicemix crashes. I could possibly use the JCAProcessor, but then I need an external transaction manager.
> I suggest to extend the servicemix-jms binding component with the (configurable) ability to make the read of an input queue dependent on the successful NMR send. This would add more realiability to servicemix, if needed, payed with a (small) loss of effeciency for wating on receiving a DONE as MessageExchange status.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (SM-555) Improving reliability of servicemix-jms - servicemix looses messages when crashing

Posted by "Bruce Snyder (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SM-555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bruce Snyder closed SM-555.
---------------------------


> Improving reliability of servicemix-jms  - servicemix looses messages when crashing
> -----------------------------------------------------------------------------------
>
>                 Key: SM-555
>                 URL: https://issues.apache.org/activemq/browse/SM-555
>             Project: ServiceMix
>          Issue Type: Improvement
>          Components: servicemix-jms
>    Affects Versions: 3.0.1
>            Reporter: Klaus Alfert
>            Assignee: Guillaume Nodet
>            Priority: Critical
>             Fix For: 3.2
>
>
> ServiceMix can loose (incoming) messages during a crashing. 
> The test-setup is simple: one process populates a queue, servicemix reads this queue and writes each message in a second queue, which is consumed by a second process. During this test servicemix is killed and restarted.
> My test results showed that some times some messages are lost. Looking in the source code reveals that reading from the queue is done with an AUTO_ACKNOWLEDGE, which implies that there is no dependency between doing an (implicit) commit on the queue and successful sending of a message to another JBI endpoint. Apparently, this can result in lost messages if servicemix crashes. I could possibly use the JCAProcessor, but then I need an external transaction manager.
> I suggest to extend the servicemix-jms binding component with the (configurable) ability to make the read of an input queue dependent on the successful NMR send. This would add more realiability to servicemix, if needed, payed with a (small) loss of effeciency for wating on receiving a DONE as MessageExchange status.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.