[OVSDB-312] CandidateAlreadyRegisteredException in Cluster environment Created: 09/Mar/16  Updated: 30/Oct/17  Resolved: 10/Mar/16

Status: Resolved
Project: ovsdb
Component/s: Southbound.hw_vtep
Affects Version/s: unspecified
Fix Version/s: None

Type: Bug
Reporter: Shashidhar R Assignee: Vishal Thapar
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 5477

 Description   

Below exception is observed in karaf.log all the time on non-entity owner cluster nodes whenever some config is made on the TOR

2016-03-08 12:56:13,404 | WARN | lt-dispatcher-18 | HwvtepConnectionManager | 253 - org.opendaylight.ovsdb.hwvtepsouthbound-impl - 1.2.2.SNAPSHOT | OVSDB entity Entity{type='hwvtep', id=/(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology[

{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=hwvtep:1}

]/node/node[

{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=hwvtep://192.168.122.25:7740}

]} was already registered for ownership
org.opendaylight.controller.md.sal.common.api.clustering.CandidateAlreadyRegisteredException: Candidate has already been registered for Entity{type='hwvtep', id=/(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)network-topology/topology/topology[

{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)topology-id=hwvtep:1}

]/node/node[

{(urn:TBD:params:xml:ns:yang:network-topology?revision=2013-10-21)node-id=hwvtep://192.168.122.25:7740}

]}
at org.opendaylight.controller.cluster.datastore.entityownership.DistributedEntityOwnershipService.registerCandidate(DistributedEntityOwnershipService.java:140)[171:org.opendaylight.controller.sal-distributed-datastore:1.3.1.SNAPSHOT]
at org.opendaylight.ovsdb.hwvtepsouthbound.HwvtepConnectionManager.registerEntityForOwnership(HwvtepConnectionManager.java:265)[253:org.opendaylight.ovsdb.hwvtepsouthbound-impl:1.2.2.SNAPSHOT]
at org.opendaylight.ovsdb.hwvtepsouthbound.HwvtepConnectionManager.connect(HwvtepConnectionManager.java:147)[253:org.opendaylight.ovsdb.hwvtepsouthbound-impl:1.2.2.SNAPSHOT]
at org.opendaylight.ovsdb.hwvtepsouthbound.HwvtepDataChangeListener.updateConnections(HwvtepDataChangeListener.java:161)[253:org.opendaylight.ovsdb.hwvtepsouthbound-impl:1.2.2.SNAPSHOT]
at org.opendaylight.ovsdb.hwvtepsouthbound.HwvtepDataChangeListener.onDataTreeChanged(HwvtepDataChangeListener.java:86)[253:org.opendaylight.ovsdb.hwvtepsouthbound-impl:1.2.2.SNAPSHOT]
at org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataTreeChangeListenerAdapter.onDataTreeChanged(BindingDOMDataTreeChangeListenerAdapter.java:41)[146:org.opendaylight.controller.sal-binding-broker-impl:1.3.1.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.dataChanged(DataTreeChangeListenerActor.java:53)[171:org.opendaylight.controller.sal-distributed-datastore:1.3.1.SNAPSHOT]
at org.opendaylight.controller.cluster.datastore.DataTreeChangeListenerActor.handleReceive(DataTreeChangeListenerActor.java:37)[171:org.opendaylight.controller.sal-distributed-datastore:1.3.1.SNAPSHOT]
at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:34)[167:org.opendaylight.controller.sal-clustering-commons:1.3.1.SNAPSHOT]
at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)[156:com.typesafe.akka.actor:2.3.14]
at akka.actor.Actor$class.aroundReceive(Actor.scala:467)[156:com.typesafe.akka.actor:2.3.14]
at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)[156:com.typesafe.akka.actor:2.3.14]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)[156:com.typesafe.akka.actor:2.3.14]
at akka.actor.ActorCell.invoke(ActorCell.scala:487)[156:com.typesafe.akka.actor:2.3.14]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)[156:com.typesafe.akka.actor:2.3.14]
at akka.dispatch.Mailbox.run(Mailbox.scala:220)[156:com.typesafe.akka.actor:2.3.14]
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)[156:com.typesafe.akka.actor:2.3.14]



 Comments   
Comment by Vishal Thapar [ 09/Mar/16 ]

Hwvtep uses ClusteredDataTreeListener and as part of udpates gets updated data instead of delta.

2016-03-08 19:58:20,517 | INFO | ult-dispatcher-5 | HwvtepDataChangeListener | 253 - org.opendaylight.ovsdb.hwvtepsouthbound-impl - 1.2.2.SNAPSHOT | updateConnections hgUpdated: HwvtepGlobalAugmentation{getConnectionInfo=ConnectionInfo{getRemoteIp=IpAddress [_ipv4Address=Ipv4Address [_value=192.168.122.25], _value=[1, 9, 2, ., 1, 6, 8, ., 1, 2, 2, ., 2, 5]], getRemotePort=PortNumber [_value=7740], augmentations={}}, getLogicalSwitches=[LogicalSwitches{getHwvtepNodeName=HwvtepNodeName [_value=9227c228-6bba-4bbe-bdb8-6942768ff0f1], getTunnelKey=100, augmentations={}}]}
2016-03-08 19:58:20,520 | INFO | ult-dispatcher-5 | HwvtepDataChangeListener | 253 - org.opendaylight.ovsdb.hwvtepsouthbound-impl - 1.2.2.SNAPSHOT | updateConnections hgOriginal: HwvtepGlobalAugmentation{getConnectionInfo=ConnectionInfo{getRemoteIp=IpAddress [_ipv4Address=Ipv4Address [_value=192.168.122.25], _value=[1, 9, 2, ., 1, 6, 8, ., 1, 2, 2, ., 2, 5]], getRemotePort=PortNumber [_value=7740], augmentations={}}}

Comment by Vishal Thapar [ 09/Mar/16 ]

Review: https://git.opendaylight.org/gerrit/35987

Generated at Wed Feb 07 20:36:04 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.