The invocations failover depends strictly on the behavior of the
transport being used. If the socket is not timing out and reporting
that the connection is broken, there will be no failover. Its
upto the os tcp stack to determine how long to wait for the
invocation to fail. We don't have a client side timeout notion
so whatever os keepalive setting exist need to be configured. This
is often 2 hours by default.
I checked on rh3.0, and its default is 2 hours:
[starksm@localhost testsuite]$ cat /proc/sys/net/ipv4/tcp_keepalive_time
[thanks Scott :) ]
For Solaris can change the tcp_keepalive_interval setting. See http://www.sun-microsystems.org/ for details (search for tcp_keepalive_interval, as is large page).