-
Bug
-
Resolution: Done
-
High
-
Fluorine-SR1, Neon
-
None
-
None
I am hitting one weird issue in genius, where I see a particular CDTCN being triggered twice. Was having a DEBUG log in the add(), remove() methods of the class below, which is getting printed twice in the CSIT log for the same key add/delete.
This is a heavily used DS in genius, and this can lead to serious performance issues.
The behavior is same in Fluorine as well as Neon. [Did not check oxygen though]
The corresponding yang model at :
I am able to reproduce the issue locally with a simply PUT/DELETE request.
Step 1 : opendaylight-user@root>feature:install odl-genius-rest
Step 2 : Do a PUT at http://localhost:8181/restconf/config/ietf-interfaces:interfaces/interface/l2vlan-trunk
{ "interface": [ { "enabled": true, "name": "l2vlan-trunk", "odl-interface:l2vlan-mode": "transparent", "odl-interface:parent-interface": "tap8ed70586-6c", "type": "iana-if-type:l2vlan" } ] }
opendaylight-user@root>log:tail
10:59:34.962 DEBUG [opendaylight-cluster-data-notification-dispatcher-119] Received Interface Add Event: KeyedInstanceIdentifier
{targetType=interface org.o pendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface, path=[org.opendaylight.yang.gen.v1.urn.ietf.params.xml. ns.yang.ietf.interfaces.rev140508.Interfaces, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface[key=I nterfaceKey\\\\{_name=l2vlan-trunk}
]]}, Interface
{getName=l2vlan-trunk, getType=interface org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana._if.typ e.rev170119.L2vlan, isEnabled=true, augmentations=
{interface org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.IfL2vlan=IfL2v lan
, interface org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.ParentRefs=ParentRefs{getParentIn terface=tap8ed70586-6c}}}
10:59:34.969 DEBUG [opendaylight-cluster-data-notification-dispatcher-139] Received Interface Add Event: KeyedInstanceIdentifier{targetType=interface org.o pendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface, path=[org.opendaylight.yang.gen.v1.urn.ietf.params.xml. ns.yang.ietf.interfaces.rev140508.Interfaces, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface[key=I nterfaceKey{_name=l2vlan-trunk}
]]}, Interface{getName=l2vlan-trunk, getType=interface org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana._if.typ
e.rev170119.L2vlan, isEnabled=true, augmentations=
{interface org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.IfL2vlan=IfL2v lan
{getL2vlanMode=Transparent}
, interface org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.ParentRefs=ParentRefs
{getParentIn terface=tap8ed70586-6c}}}
10:59:34.973 INFO [jobcoordinator-main-task-0] Creating child interface l2vlan-trunk of type Transparent bound on parent-interface tap8ed70586-6c
10:59:34.975 INFO [jobcoordinator-main-task-0] adding vlan configuration for interface l2vlan-trunk
10:59:34.983 DEBUG [jobcoordinator-main-task-0] creating lport tag to interface map for l2vlan-trunk ifIndex 5
10:59:34.998 DEBUG [jobcoordinator-main-task-0] could not retrieve interface state corresponding to l2vlan-trunk, processing will be resumed when interface
-state is available
10:59:35.010 INFO [ResourceBatchingManager-0] Total taken ##time = 12ms for resourceList of size 1 for resourceType INTERFACEMGR-DEFAULT-OPERATIONAL