8 Replies Latest reply on May 31, 2012 11:37 AM by rhusar

    Clustering failover question

    mikemil

      Hi,

       

      We have a rich Java client application that uses EJBs.  We are running on JBoss 4.2.3.GA and just clustered our application.   Our code uses a ServiceFactory to call JNDI to get the remote service interfaces that the client needs and currently do NOT cache the returned service interface objects.   We have an ENVIRONMENT table that contains the initial context factory class and the provider url.   Our provider url is in the format of "node1:1100,node2:1100" and all of this works well.

       

      The problem we have is that when node1 is taken down and our rich Java client code makes calls to the service factory to get a new remote service interface, it seems like the time it takes to failover to node2 is too long.  Based on my reading, we send "node1:1100,node2:1100" in the provider url property and the system (Naming and/or HAJNDO) is looking for node1 and when not found, it fails over to node2, but I believe we need to reduce that time it takes for that failover.   Will setting the jnp.timeout property help reduce this time?   

       

      The problem may be compounded because EVERY time the client needs a service, it goes this same process, and it seems like we have about a 30 second delay at least.

       

      Any suggestions on configuration settings or better ways to handle this failover in a more timely manner because our java client is not very usable when node1 is down, due to the ordering of the providerURL setting.

        • 1. Re: Clustering failover question
          mikemil

          Since we got no reply on this - we had to kind of hack the approach.   As part of calling our ServiceFactory to get the remote EJB services, we added code that attempts to open a socket on the nodes in the provider url list.  Nodes that are down (can't respond to socket request), we move to the end of the provider url string.  As soon as we find a node that is up, that node stays at the front of the provider url string until it is no longer able to respond to a socket request.

           

          It's not pretty but it certainly is an improvement over waiting on the clustering code to failover.

          • 2. Re: Clustering failover question
            rhusar

            30 seconds? That  sounds like a lot. I dont remember AS 4, but in AS 5 this works OK. Unfortunately in AS7 we have similar problem :-(

             

            So setting the TO didnt help?

             

            Yes, the workaround is very nasty.

            • 3. Re: Clustering failover question
              mikemil

              Someone else on our team did the work because I got pulled into other issues, and he said that setting the timeout didn't work.  I have not had time to very that for myself.    I am at the point where sometimes I am too busy and need to trust the team's response.   In this case, I am a bit skeptical and hopefully will find the time to verify it myself. 

              • 4. Re: Clustering failover question
                rhusar

                I hear you man, classic.

                 

                Anyway, I went ahead and dug out my old test I did for my own application using remote EJB client in AS 4.3. I am attaching the complete log here.

                 

                The server was crashed 4 times and brough up 4 times in this test and I am not seeing the situation you described, the average response times only jump up for a little while.

                 

                Sessions: 400, active: 400, samples: 1073, throughput 107.2 samples/s, 0.0 bytes/s, mean response: 308 ms, sampling errors: 0, invalid samples: 0, valid samples: 1073 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.8 samples/s, 0.0 bytes/s, mean response: 7 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 1968, throughput 196.7 samples/s, 0.0 bytes/s, mean response: 25 ms, sampling errors: 0, invalid samples: 0, valid samples: 1968 (100%)

                Sessions: 400, active: 400, samples: 1995, throughput 199.4 samples/s, 0.0 bytes/s, mean response: 11 ms, sampling errors: 0, invalid samples: 0, valid samples: 1995 (100%)

                Sessions: 400, active: 400, samples: 1996, throughput 199.5 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 1996 (100%)

                Sessions: 400, active: 400, samples: 1995, throughput 199.4 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 1995 (100%)

                Sessions: 400, active: 400, samples: 1996, throughput 199.5 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 1996 (100%)

                Sessions: 400, active: 400, samples: 1941, throughput 194.0 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1941 (100%)

                Sessions: 400, active: 400, samples: 1969, throughput 196.8 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 1969 (100%)

                Sessions: 400, active: 400, samples: 1955, throughput 195.4 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 1955 (100%)

                Sessions: 400, active: 400, samples: 1963, throughput 196.2 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 1963 (100%)

                Sessions: 400, active: 400, samples: 1957, throughput 195.6 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1957 (100%)

                Sessions: 400, active: 400, samples: 1971, throughput 197.0 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 1971 (100%)

                Sessions: 400, active: 400, samples: 1984, throughput 198.3 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 1984 (100%)

                Sessions: 400, active: 400, samples: 1981, throughput 198.0 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 1981 (100%)

                Sessions: 400, active: 400, samples: 1990, throughput 198.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 1990 (100%)

                Sessions: 400, active: 400, samples: 1992, throughput 199.1 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 1992 (100%)

                Sessions: 400, active: 400, samples: 1999, throughput 199.8 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 1999 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 1987, throughput 198.6 samples/s, 0.0 bytes/s, mean response: 29 ms, sampling errors: 0, invalid samples: 0, valid samples: 1987 (100%)

                Sessions: 400, active: 398, samples: 1987, throughput 198.6 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 1987 (100%)

                Sessions: 400, active: 400, samples: 1992, throughput 199.1 samples/s, 0.0 bytes/s, mean response: 23 ms, sampling errors: 0, invalid samples: 0, valid samples: 1992 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 3 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 1998, throughput 199.7 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 1998 (100%)

                Sessions: 400, active: 400, samples: 1992, throughput 199.1 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 1992 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 1996, throughput 199.5 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 1996 (100%)

                Sessions: 400, active: 400, samples: 1998, throughput 199.7 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 1998 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 1972, throughput 197.1 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 1972 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 1993, throughput 199.2 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 1993 (100%)

                Sessions: 400, active: 400, samples: 1980, throughput 197.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 1980 (100%)

                Sessions: 400, active: 400, samples: 1996, throughput 199.5 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 1996 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 1900, throughput 189.9 samples/s, 0.0 bytes/s, mean response: 80 ms, sampling errors: 0, invalid samples: 0, valid samples: 1900 (100%)

                Sessions: 400, active: 400, samples: 1983, throughput 198.2 samples/s, 0.0 bytes/s, mean response: 7 ms, sampling errors: 0, invalid samples: 0, valid samples: 1983 (100%)

                Sessions: 400, active: 400, samples: 1992, throughput 199.1 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 1992 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 1991, throughput 199.0 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1991 (100%)

                Sessions: 400, active: 400, samples: 1991, throughput 199.0 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 1991 (100%)

                Sessions: 400, active: 400, samples: 1952, throughput 195.1 samples/s, 0.0 bytes/s, mean response: 8 ms, sampling errors: 0, invalid samples: 0, valid samples: 1952 (100%)

                Sessions: 400, active: 400, samples: 1981, throughput 198.0 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1981 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 1990, throughput 198.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1990 (100%)

                Sessions: 400, active: 400, samples: 1989, throughput 198.8 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1989 (100%)

                Sessions: 400, active: 400, samples: 1998, throughput 199.7 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 1998 (100%)

                Sessions: 400, active: 400, samples: 1994, throughput 199.3 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1994 (100%)

                Sessions: 400, active: 400, samples: 1990, throughput 198.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1990 (100%)

                Sessions: 400, active: 400, samples: 1978, throughput 197.7 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1978 (100%)

                Sessions: 400, active: 400, samples: 1989, throughput 198.8 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1989 (100%)

                Sessions: 400, active: 400, samples: 1979, throughput 197.8 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1979 (100%)

                Sessions: 400, active: 400, samples: 1989, throughput 198.8 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1989 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 7 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 1955, throughput 195.4 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1955 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 7 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 1845, throughput 184.4 samples/s, 0.0 bytes/s, mean response: 181 ms, sampling errors: 0, invalid samples: 0, valid samples: 1845 (100%)

                Sessions: 400, active: 400, samples: 1997, throughput 199.6 samples/s, 0.0 bytes/s, mean response: 7 ms, sampling errors: 0, invalid samples: 0, valid samples: 1997 (100%)

                Sessions: 400, active: 400, samples: 1978, throughput 197.7 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1978 (100%)

                Sessions: 400, active: 400, samples: 1956, throughput 195.5 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1956 (100%)

                Sessions: 400, active: 400, samples: 1982, throughput 198.1 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1982 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 7 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 8 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 1986, throughput 198.5 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1986 (100%)

                Sessions: 400, active: 400, samples: 1979, throughput 197.8 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1979 (100%)

                Sessions: 400, active: 400, samples: 1993, throughput 199.2 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 1993 (100%)

                Sessions: 400, active: 400, samples: 1928, throughput 192.7 samples/s, 0.0 bytes/s, mean response: 18 ms, sampling errors: 0, invalid samples: 0, valid samples: 1928 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 9 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 4 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 8 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 7 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 400, samples: 2000, throughput 199.9 samples/s, 0.0 bytes/s, mean response: 6 ms, sampling errors: 0, invalid samples: 0, valid samples: 2000 (100%)

                Sessions: 400, active: 352, samples: 352, throughput 35.2 samples/s, 0.0 bytes/s, mean response: 5 ms, sampling errors: 0, invalid samples: 0, valid samples: 352 (100%)

                • 5. Re: Clustering failover question
                  mikemil

                  Thanks for the log.   Our test wasn't quite as involved, but we put a timer around a couple of the statements, before and after creating the InitialContext and before/after the context.lookup() method.  Ultimately it was the context.lookup() method that was taking around 30 seconds when the first node in the provider_url was down and it appeared to be linear, but we only tried with a max of three nodes.

                  • 6. Re: Clustering failover question
                    rhusar

                    IC. So are you talking about SFSB or SLSBs? My test was SFSB, so the lookup was not really happening on server failures so it doesn't confirm your issue :-/ It was 4 nodes btw.

                    • 7. Re: Clustering failover question
                      mikemil

                      yes, ours are all Stateless Session Beans at ejb 2.1 level.  (People cringe where they here me say that!)

                      • 8. Re: Clustering failover question
                        rhusar

                        2.1 yuck

                         

                        You guys might want consider updating your stack a little