jakarta-jcs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dieter Laufkoetter <dieter.laufkoet...@siemens.com>
Subject Third server not discovered by second server with LateralTCP
Date Tue, 20 Nov 2007 12:15:48 GMT

Hello,

we use an net with 3 servers and use the LateralTCP protocol.
We donĀ“t use musticast (jcs.auxiliary.LTCP.attributes.UdpDiscoveryEnabled =
false).
Each server is configured the other two servers with
jcs.auxiliary.LTCP.attributes.TcpServers.

At first we start server 1.
Server 1 tries to connect to server 2 and 3.

Then we start server 2.
Server 2 connects to server 1 but does not try to connect to server 3.
Server 1 connects to server 2

Then we start server 3.
Server 3 connects to server 1 and 2.
Server 1 connects to server 3.

The error:
Server 2 never tries to connect to server 3 and so the puts of server 2
never reach server 3.

This error occurs with 3 servers on 3 nodes and also with 3 servers on the
same node.


we found a solution for the problem:
In the class
org.apache.jcs.auxiliary.lateral.socket.tcp.LateralTCPCacheManager the Map
"instances" is synchronised at getInstance() but not at getInstances(). So
an inconsistent value of instances may be got by call of getInstances().
The following change of getInstances() fixes the problem:

    public Map getInstances()
    {
        synchronized ( instances ) {
            return instances;
        }
    }

We use new and fast machines, maybe that older and slower machines does not
produce this synchronisation error.

best regards,

Dieter


-- 
View this message in context: http://www.nabble.com/Third-server-not-discovered-by-second-server-with-LateralTCP-tf4843140.html#a13855881
Sent from the JCS - Dev mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-dev-help@jakarta.apache.org


Mime
View raw message