If due to any reason the entity ownership data for an entity is altered to have no candidates but an owner, the entity ownership does not recover from such a condition in spite of restarts. On startup, the follower requests the leader to remove itself from the candidate. But it did not change the owner. This fix now resets the owner so that later when the follower registers the entity, leader can elect a new owner and notify the follower, in turn initializing it.
Peculiarly observed from the following logs on the follower:
2020-02-11T14:19:01,974 | DEBUG | opendaylight-cluster-data-akka.actor.default-dispatcher-4 | AbstractClusterSingletonServiceProviderImpl | 363 - org.opendaylight.mdsal.singleton-dom-impl - 2.5.1 | - | Ownership change for ClusterSingletonService Provider DOMEntityOwnershipChange [entity=DOMEntity [type=org.opendaylight.mdsal.ServiceEntityType, id=/(urn:opendaylight:params:xml:ns:yang:mdsal:core:general-entity?revision=2015-09-30)entity/entity[\{(urn:opendaylight:params:xml:ns:yang:mdsal:core:general-entity?revision=2015-09-30)name=sdnfc-bgp-rib-6-service-group}]], state=LOCAL_OWNERSHIP_GRANTED [wasOwner=false, isOwner=true, hasOwner=true], inJeopardy=false] 2020-02-11T14:19:01,974 | DEBUG | opendaylight-cluster-data-akka.actor.default-dispatcher-4 | AbstractClusterSingletonServiceProviderImpl | 363 - org.opendaylight.mdsal.singleton-dom-impl - 2.5.1 | - | ClusterSingletonServiceGroup was not found for serviceIdentifier sdnfc-bgp-rib-6-service-group 2020-02-11T14:19:01,983 | DEBUG | opendaylight-cluster-data-akka.actor.default-dispatcher-4 | AbstractClusterSingletonServiceProviderImpl | 363 - org.opendaylight.mdsal.singleton-dom-impl - 2.5.1 | - | Ownership change for ClusterSingletonService Provider DOMEntityOwnershipChange [entity=DOMEntity [type=org.opendaylight.mdsal.AsyncServiceCloseEntityType, id=/(urn:opendaylight:params:xml:ns:yang:mdsal:core:general-entity?revision=2015-09-30)entity/entity[\{(urn:opendaylight:params:xml:ns:yang:mdsal:core:general-entity?revision=2015-09-30)name=sdnfc-bgp-rib-6-service-group}]], state=LOCAL_OWNERSHIP_GRANTED [wasOwner=false, isOwner=true, hasOwner=true], inJeopardy=false] 2020-02-11T14:19:01,983 | DEBUG | opendaylight-cluster-data-akka.actor.default-dispatcher-4 | AbstractClusterSingletonServiceProviderImpl | 363 - org.opendaylight.mdsal.singleton-dom-impl - 2.5.1 | - | ClusterSingletonServiceGroup was not found for serviceIdentifier sdnfc-bgp-rib-6-service-group 2020-02-11T14:19:25,988 | INFO | Blueprint Extender: 2 | BgpDeployerImpl | 251 - org.opendaylight.bgpcep.bgp-rib-impl - 0.10.1 | - | BGP Deployer global-bgp started. 2020-02-11T14:19:26,279 | INFO | opendaylight-cluster-data-notification-dispatcher-58 | BGPClusterSingletonService | 251 - org.opendaylight.bgpcep.bgp-rib-impl - 0.10.1 | - | BGPClusterSingletonService sdnfc-bgp-rib-6-service-group registered 2020-02-11T14:19:26,285 | DEBUG | opendaylight-cluster-data-notification-dispatcher-58 | ClusterSingletonServiceGroupImpl | 363 - org.opendaylight.mdsal.singleton-dom-impl - 2.5.1 | - | Instantiated new service group for sdnfc-bgp-rib-6-service-group 2020-02-11T14:19:26,285 | DEBUG | opendaylight-cluster-data-notification-dispatcher-58 | ClusterSingletonServiceGroupImpl | 363 - org.opendaylight.mdsal.singleton-dom-impl - 2.5.1 | - | Initializing service group sdnfc-bgp-rib-6-service-group with services [] 2020-02-11T14:19:26,286 | DEBUG | opendaylight-cluster-data-notification-dispatcher-58 | ClusterSingletonServiceGroupImpl | 363 - org.opendaylight.mdsal.singleton-dom-impl - 2.5.1 | - | Adding service org.opendaylight.protocol.bgp.rib.impl.config.BGPClusterSingletonService@67fcb145 to service group sdnfc-bgp-rib-6-service-group 2020-02-11T14:19:26,286 | DEBUG | opendaylight-cluster-data-notification-dispatcher-58 | ClusterSingletonServiceGroupImpl | 363 - org.opendaylight.mdsal.singleton-dom-impl - 2.5.1 | - | Service group sdnfc-bgp-rib-6-service-group has no running services 2020-02-11T14:19:26,287 | DEBUG | opendaylight-cluster-data-notification-dispatcher-58 | ClusterSingletonServiceGroupImpl | 363 - org.opendaylight.mdsal.singleton-dom-impl - 2.5.1 | - | Service group sdnfc-bgp-rib-6-service-group is completely reconciled