[CONTROLLER-155] DataChangeEvent triggered when sibling attribute changed Created: 11/Feb/14 Updated: 25/Jul/23 Due: 27/Jun/14 Resolved: 15/Jul/14 |
|
| Status: | Resolved |
| Project: | controller |
| Component/s: | mdsal |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | ||
| Reporter: | Robert Varga | Assignee: | Tony Tkacik |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: All |
||
| Description |
|
In BGP topology exporter, we have the following input data: container table { list routes { leaf ... }} We subscribe to changes to 'routes'. Now the producer code, in order to change the 'uptodate' leaf does a full read/update/write cycle, which results in 'table' being reported to our listener: 2014-02-11 16:48:18.538 WET [md-sal-binding-commit-10] INFO o.o.b.b.t.p.AbstractTopologyBuilder - Identifier InstanceIdentifier [path=[org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.BgpRib, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.bgp.rib.Rib[key=RibKey [_id=Uri [_value=example-bgp-rib]]], org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.bgp.rib.rib.LocRib, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.Tables[key=TablesKey [_afi=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.Ipv4AddressFamily, _safi=class org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.UnicastSubsequentAddressFamily]]]] in update set does not contain listening class interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.tables.routes.ipv4.routes._case.ipv4.routes.Ipv4Route, ignoring it This seems like a breach in API contract: with this update we'd have to compare before- and after-images to find what changed. In this case that would be nothing, which in turn means that event should have been suppressed. |
| Comments |
| Comment by Tony Tkacik [ 15/Feb/14 ] |
|
Please verify if this bug is still present in the master. |
| Comment by Tony Tkacik [ 27/Feb/14 ] |
|
Changed to enhacement, from logs, you were notified when deep child was changed. |
| Comment by Robert Varga [ 08/Apr/14 ] |
|
A further cleanup is needed, as the netconf dispatcher needs to be exposed into the config subsystem, such that the connector does not duplicate functionality. |
| Comment by Robert Varga [ 08/Apr/14 ] |
|
Disregard the previous comment. |
| Comment by Robert Varga [ 16/Jun/14 ] |
|
Waiting for data access APIs to be finalized. |
| Comment by Tony Tkacik [ 15/Jul/14 ] |
|
Regression test suite present in: https://git.opendaylight.org/gerrit/#/c/8926/2 |