[jboss-jira] [JBoss JIRA] Closed: (JBMESSAGING-724) Client managed failover: messages sent to healthy server end up trying to connect to failed node

Galder Zamarreno (JIRA) jira-events at jboss.com
Mon Jan 8 09:10:26 EST 2007


     [ http://jira.jboss.com/jira/browse/JBMESSAGING-724?page=all ]

Galder Zamarreno closed JBMESSAGING-724.
----------------------------------------

    Resolution: Rejected

I was able to get around the issue by changing 
deploy/jboss-messaging.sar/messaging-service.xml in the second server to 
have:

<arg type="java.lang.String" value="server.1" />
...
<arg type="java.lang.String" value="store.1" />

instead of:

<arg type="java.lang.String" value="server.0" />
...
<arg type="java.lang.String" value="store.0" />

As recommended in the forum link by Clebert:

"Each server must have a unique serverID:

That is used by routers to redirect to the appropriate callback client. If both 
have the same ID, a client with two identical connections might get lost."

The issue happens when both server's have the same id. In that case, when 
trying to get the next block of id's, client side interceptors return the socket 
address for the 1st server ( Hashmap contents: 0 -> ....4457, 0 -> ....4557 )

Using a different id for ServerPeer and MessageStore services solves the 
problem.

> Client managed failover: messages sent to healthy server end up trying to connect to failed node
> ------------------------------------------------------------------------------------------------
>
>                 Key: JBMESSAGING-724
>                 URL: http://jira.jboss.com/jira/browse/JBMESSAGING-724
>             Project: JBoss Messaging
>          Issue Type: Bug
>          Components: JMS Remoting
>    Affects Versions: 1.0.1.GA, 1.2.0.Beta1
>            Reporter: Galder Zamarreno
>         Assigned To: Ovidiu Feodorov
>         Attachments: replicated-1.0.1.GA-jbossmessaging.log, TestMultiConnectionMessageProducer.java
>
>
> The attached test case creates connections to two standalone messaging AS
> servers. It initially sends messages to the first of servers until it fails. At this point, 
> it switches to the second one.
> This works fine, but at some point in the failover, when the client is sending the 
> messages to the second node, it fails because it attempts to send something again 
> to the first server. This fails with java.net.ConnectException: Connection refused: connect
> because the first server is already down (replicated-1.0.1.GA-jbossmessaging.log: L12869 ).
> At line 1208, we shut down server 1 and we start trying to send messages to server 2. After 
> sending a few messages successfully to server 2, suddenly, there's an attempt to connect 
> back to server 1 which fails.
> I have attached a client log with TRACE on org.jboss and TestMultiConnectionMessageProducer.java 
> which is the test case.
> I was able to replicate this is in 1.0.1.GA and 1.2.0.Beta1 but not 1.2.0.Alpha2.
> Forum link fix focuses on the message comsumption area (CallbackManager), but does not
> provide further information on what might have changed in 1.2.0.Alpha2 to indicate that this is trully solved.

-- 
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