From: Roman R. <rro...@ac...> - 2002-12-14 02:28:45
|
> It is consistantly about 60 secs on the machine I am working on at the > moment, is there a setting that I might have altered? In Java you control this by Socket.setSoTimeout(int milliseconds) (SO_TIMEOUT socket option). In one open-source project (JavaGroups, a group communication toolkit) a failure detector fails to detect physical link failure if it expects an I/O exception when a group member crashes. When you read something from a socket and it blocks in read operation (no data in the stream, but socket is open and "alive"), you do not get exception if network cable is removed, only if you close the socket on the other side. The only "fix" was to specify timeout for the socket, but this thing made that particular failure detector useless (it became a partial case of heartbeat failure detector). The only working failure detector to detect physical link failure in JavaGroups is heartbeat detector based on timeouts. Socket-based detector using exception does not detect such failures. I do not know, maybe this is Java specific... Just wanted you to know about this issue. Also, correct me if I'm wrong, but it was proven mathematically the impossibility to detect a failure reliably in an async. system and distinguish a failed node from the slow one. The question is if we need a 100% reliable failure detector or not? Best regards, Roman Rokytskyy __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com |