[jboss-jira] [JBoss JIRA] Commented: (JBMESSAGING-1219) Messages are not redelivered after reconnection of message bridge

Jeff Mesnil (JIRA) jira-events at lists.jboss.org
Fri Jan 18 04:25:34 EST 2008


    [ http://jira.jboss.com/jira/browse/JBMESSAGING-1219?page=comments#action_12395600 ] 
            
Jeff Mesnil commented on JBMESSAGING-1219:
------------------------------------------

The root cause of this issue is JBREM-888.

When the network fails, the bridge is not notified that its source is no longer reachable.
On the other side, the messaging instance hosting the source will see the network failure and close its resources associated to the bridge

If the bridge was active during the network failure, it will have accumulate messages and acknowledge them before delivering them by batch to the target.
The ack sent to the source will block (until the tcp timeout occurs)... and fails when the network is up again (because the source has closed its resources). The bridge will catch the exception, reconnect to the source and all the messages will be delivered.

The bridge which is idle will never know that its associated resources have been closed on the source side and will wait forever messages which will never be sent. The only way to receive them will be to restart the bridge.



> Messages are not redelivered after reconnection of message bridge
> -----------------------------------------------------------------
>
>                 Key: JBMESSAGING-1219
>                 URL: http://jira.jboss.com/jira/browse/JBMESSAGING-1219
>             Project: JBoss Messaging
>          Issue Type: Bug
>          Components: Messaging Core
>    Affects Versions: 1.4.0.SP3
>         Environment: JBoss-EAP-4.2_CP1 , JBM-1.4.0-SP3, RHEL5
>            Reporter: Tyronne Wickramarathne
>         Assigned To: Tim Fox
>             Fix For: Stable branch
>
>         Attachments: configuration.zip
>
>
> JBM Bridge reconnection happens successfully but messages are not delivered to the destination via the bridge. however this problem doesn't occur on Windows environment.
> modify the attached jms-ds.xml file with your remote machine's IP address, for the remote provider.
> SourceProviderLoader is the remote machine, and our TargetProviderLoader is the local machine.
> deploy the test-bridge-service.xml file on your local machine.
> it has two bridges defined :
> TestBridgeA remote queue/A -> local queue/C
> TestBridgeB remote queue/B -> local queue/D
> Add 10 messages to both queue A and queue B on the remote machine (we used a JSP page on the remote machine to do that) in order to establish everything is working.
> Add 20000 (or more) messages to queue A on the remote machine.
> wait until some of the messages have been delivered to queue C on the local machine.
> disconnect the local machine from the network by pulling the network cable.
> wait a couple of minutes.
> re-connect the local machine to the network.
> after a few seconds the message delivery should start again.
> wait for all of the message to be delivered.
> now - try sending 500 messages to queue/B on the remote machine
> those 500 messages will never be delivered !

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

        



More information about the jboss-jira mailing list