In our application, two different daemons (daemon-1 and daemon-2) connect with ConfD using range callpoint. We are seeing a issue, when one daemon (Ex:- daemon-2) stops for any reason, the callbacks registered by the daemon-2 still exists in confd. When the daemon comes up, the callbacks are getting registered with different daemon ID. Is there anyway we can de-register (or close the worker and control sockets) the range callbacks with ConfD when the daemon is stopped/restarted?
Note: The callbacks are getting disconnected only when we query the data on this callpoints. (this is due to the queryTimeout
exceeded and ConfD consider this daemon is dead and closing the control and worker sockets).
############
### ConfD ###
############
############# #############
## Daemon-1 ## ## Daemon-2 ##
############# #############
Range Callpoints details before daemon restarts
id=mgmt-ip-fixed path=/oc-sys:system/mgmt-ip/state/fixed-addresses/fixed-address
{1} - {1} daemonId=51 daemonName=vcc-ha-mgmt-ip-fixed-1 callbacks=get_next,get_elem
{2} - {2} daemonId=72 daemonName=vcc-ha-mgmt-ip-fixed-2 callbacks=get_next,get_elem
Range Callpoints details during daemon restarts
id=mgmt-ip-fixed path=/oc-sys:system/mgmt-ip/state/fixed-addresses/fixed-address
{1} - {1} daemonId=51 daemonName=vcc-ha-mgmt-ip-fixed-1 callbacks=get_next,get_elem
{2} - {2} daemonId=72 daemonName=vcc-ha-mgmt-ip-fixed-2 callbacks=get_next,get_elem
Range Callpoints details after daemon restarts
id=mgmt-ip-fixed path=/oc-sys:system/mgmt-ip/state/fixed-addresses/fixed-address
{1} - {1} daemonId=51 daemonName=vcc-ha-mgmt-ip-fixed-1 callbacks=get_next,get_elem
{2} - {2} daemonId=78 daemonName=vcc-ha-mgmt-ip-fixed-2 callbacks=get_next,get_elem