<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:52:29 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[CONTROLLER-220] DataChange even is inconsistent with changes in the data store via Restconf</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-220</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;I&apos;m trying to provide a configuration facility to my bundle, where the configuration state can be updated over the Restconf interface, and my code reacts to those changes via onDataChange events.&lt;/p&gt;

&lt;p&gt;I would like to raise that the current DataChange events are quite counter-intuitive to use. While practically it is possible to deduce what happened, it would be more convenient if the reported maps/sets contained only what their name suggests.&lt;/p&gt;

&lt;p&gt;1) When a new configuration element is created, it appears both as &quot;created&quot; and &quot;updated&quot;. It would be more convenient if created elements would only be reported as &quot;created&quot;.&lt;/p&gt;

&lt;p&gt;2) When a configuration element is updated with identical data (i.e., did not change), it is still reported as &quot;updated&quot;. It would be useful if such identical updates were filtered by the data store internals, and would not be reported to the listeners.&lt;/p&gt;

&lt;p&gt;3) When a configuration element is deleted, it is not reported as &quot;removed&quot;; it only appears among the &quot;original&quot; elements. It would be useful if was contained among the &quot;removed&quot; elements as well.&lt;/p&gt;


&lt;p&gt;I have attached a bundle which can be used to reproduce what happens. Check the readme.txt file for details.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Linux&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="24774">CONTROLLER-220</key>
            <summary>DataChange even is inconsistent with changes in the data store via Restconf</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10003">Cannot Reproduce</resolution>
                                        <assignee username="tony.tkacik@gmail.com">Tony Tkacik</assignee>
                                    <reporter username="zoltan.lajos.kis@ericsson.com">Zoltan Lajos Kis</reporter>
                        <labels>
                    </labels>
                <created>Thu, 20 Mar 2014 08:42:54 +0000</created>
                <updated>Tue, 25 Jul 2023 08:23:15 +0000</updated>
                            <resolved>Mon, 19 May 2014 08:20:59 +0000</resolved>
                                                                    <component>mdsal</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="47775" author="zoltan.lajos.kis@ericsson.com" created="Thu, 20 Mar 2014 08:42:54 +0000"  >&lt;p&gt;Attachment restconftest.tar.gz has been added with description: bundle to reproduce the bug&lt;/p&gt;</comment>
                            <comment id="47772" author="harmasin@cisco.com" created="Thu, 27 Mar 2014 22:23:51 +0000"  >&lt;p&gt;The similar issues are seen when I try to listen the data change event on Topology changes.&lt;/p&gt;

&lt;p&gt;If you register listener for Links like following  - &lt;/p&gt;

&lt;p&gt;dataService.registerDataChangeListener(&lt;br/&gt;
            InstanceIdentifier.builder(NetworkTopology.class).child(Topology.class, new TopologyKey(new TopologyId(&quot;flow:1&quot;)))&lt;br/&gt;
            .child(Link.class).toInstance(), new TopologyListener()); &lt;/p&gt;

&lt;p&gt;Where my TopologyListener class, which implements DataChangeListener looks like following - &lt;/p&gt;

&lt;p&gt;public class TopologyListener implements DataChangeListener{&lt;/p&gt;

&lt;p&gt;  @Override&lt;br/&gt;
  public void onDataChanged(&lt;br/&gt;
      DataChangeEvent&amp;lt;InstanceIdentifier&amp;lt;?&amp;gt;, DataObject&amp;gt; change) &lt;/p&gt;
{
Map&amp;lt;InstanceIdentifier&amp;lt;?&amp;gt;, DataObject&amp;gt; linkCreated = change.getCreatedOperationalData();
        Set&amp;lt;InstanceIdentifier&amp;lt;?&amp;gt;&amp;gt; linkRemoved = change.getRemovedOperationalData();
  }

&lt;p&gt;Now, whenever a new link is removed, change.getRemovedOperationalData()  does not have data, its empty Set. That information should be available.&lt;/p&gt;</comment>
                            <comment id="47773" author="tony.tkacik@gmail.com" created="Tue, 8 Apr 2014 15:57:09 +0000"  >&lt;p&gt;I am trying to listen to MD-SAL topology changes, specifically creation and removal of links. &lt;br/&gt;
Other steps to reproduce (from &lt;a href=&quot;https://jira.opendaylight.org/browse/CONTROLLER-241&quot; title=&quot;Topology data change event does not provide link removal data&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CONTROLLER-241&quot;&gt;&lt;del&gt;CONTROLLER-241&lt;/del&gt;&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;I register my listener for Links like following  - &lt;/p&gt;

&lt;p&gt;dataService.registerDataChangeListener(&lt;br/&gt;
            InstanceIdentifier.builder(NetworkTopology.class).child(Topology.class, new TopologyKey(new TopologyId(&quot;flow:1&quot;)))&lt;br/&gt;
            .child(Link.class).toInstance(), new TopologyListener()); &lt;/p&gt;

&lt;p&gt;Where my TopologyListener class, which implements DataChangeListener looks like following - &lt;/p&gt;

&lt;p&gt;public class TopologyListener implements DataChangeListener{&lt;/p&gt;

&lt;p&gt;  @Override&lt;br/&gt;
  public void onDataChanged(&lt;br/&gt;
      DataChangeEvent&amp;lt;InstanceIdentifier&amp;lt;?&amp;gt;, DataObject&amp;gt; change) &lt;/p&gt;
{
Map&amp;lt;InstanceIdentifier&amp;lt;?&amp;gt;, DataObject&amp;gt; linkCreated = change.getCreatedOperationalData();
        Set&amp;lt;InstanceIdentifier&amp;lt;?&amp;gt;&amp;gt; linkRemoved = change.getRemovedOperationalData();
  }

&lt;p&gt;Now, when a link is removed, change.getRemovedOperationalData()  does not have data, its empty Set.&lt;/p&gt;</comment>
                            <comment id="47774" author="tony.tkacik@gmail.com" created="Mon, 19 May 2014 08:20:59 +0000"  >&lt;p&gt;Data Change Events were fixed at master over last 3 weeks.&lt;/p&gt;

&lt;p&gt;This behaviour should be fixed.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10002">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="24795">CONTROLLER-241</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="13360" name="restconftest.tar.gz" size="25129" author="zoltan.lajos.kis@ericsson.com" created="Thu, 20 Mar 2014 08:42:54 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>554</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=554]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10312"><![CDATA[High]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02j1z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>