I’ve scenario where control socket is closed and the client is not aware of it. Hence failed to re-register.
We have registered a daemon for operational data using dataprovider api’s. During application startup, daemon initialization happens and starts listening for opdata callbacks. When there is a external timeout like while querying the data from external database, confd closes the socket and throws exception to the client and client re-register the daemon again. So far no issues.
But for some reason (no clue why) when there is high load on CPU, Confd closes control socket (saying external timeout for new session) and the client is not able to determine whether the daemon is alive or died.
Could you please let us know how to determine the status of daemon and do reregistration of daemon again in this case.
Also is there any limit on number of callpoint processing at a time (callpoint of same or different)
Below is the Exception we got from confd. We have code to catch confException and do reregistration. But we got RuntimeException.
java.lang.RuntimeException: Error in DpTrans worker
Caused by: com.tailf.conf.ConfException: unexpected end of file
… 4 more
Caused by: java.io.EOFException