As a level 3, I have come across many issues which says that they are observing JfapConnectionBrokenException in their logs. So today i decided to write on what exactly the exception indicates and the possible scenarios where you would encounter this exception.
JfapConnectionBrokenException is observed in the following two scenarios -
a) When there is a network connection failure between the client and server.
b) When the server/client is busy and does not respond to the request sent by the peer.
Basically, when the connection between the server and client is idle for sometime, 5 mins by default, the socket times out which triggers the server/client to send a special request called heartbeat, to the peer to check if the connection is still valid. If the peer does not respond to the request sent by the client/server within the stipulated timeframe, 7 seconds by default, JfapHeartbeatTimeoutExceptions would be thrown to indicate that the heartbeat request has timed out. Eventually, the connection would be invalidated and closed logging a JfapConnectionBrokenException.
One thing to look out for in such a situation is the load on the server/client which was not able to respond to the peer within 7 seconds. There might be a situation where the server is not able to respond within 7 seconds but given extra time, it would have avoided the disaster. In such scenarios, increasing the timeout period to 60 seconds or max 2 mins would act as a workaround to the existing problem providing some relief.
To increase the heartbeat timeout property, add the following entry in the sib.properties file in the properties subdirectory of the profiles directory -
For more information on tuning the heartbeat properties refer the following link-