That's logical: it is waiting for a TCP timeout! How do you want to make the difference between:
- a dead node
- a slow node or a slow network?
=> timeout. This is a TCP/RMI thing.
Nevertheless, all other clients (your situation only simulates a single client) would correctly failover: this one will simply take more time to report an error (AND NOT FAILOVER!!! It is not allowed as we don't know if it has changed some state on the server, we are not allowed to blindly failover).
Plus, please use 3.0.6.