<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:25:37 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>[NEUTRON-122] Updated objects should not be rewritten in WriteTransaction</title>
                <link>https://jira.opendaylight.org/browse/NEUTRON-122</link>
                <project id="10145" key="NEUTRON">neutron</project>
                    <description>&lt;p&gt;When listening to changes in DS, &quot;put&quot; creates/replaces data. When changing properties of an object in WriteTransaction by using &quot;put&quot;, various listener implementations expect data modification and not creation/replacement.&lt;/p&gt;

&lt;p&gt;E.g. when a class implements listening to changes in DS by extending DataTreeChangeListener, modification type WRITE is received when modifying existing data in transactions by &quot;put&quot;. However, by using &quot;merge&quot; received modification type is SUBTREE_MODIFIED, which is a proper consequence.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="26684">NEUTRON-122</key>
            <summary>Updated objects should not be rewritten in WriteTransaction</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="10001">Won&apos;t Do</resolution>
                                        <assignee username="tcechval">Tomas Cechvala</assignee>
                                    <reporter username="tcechval">Tomas Cechvala</reporter>
                        <labels>
                    </labels>
                <created>Fri, 15 Apr 2016 09:45:37 +0000</created>
                <updated>Tue, 3 May 2016 08:43:40 +0000</updated>
                            <resolved>Tue, 3 May 2016 08:43:40 +0000</resolved>
                                    <version>Multiple</version>
                                                    <component>transcriber</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="53574" author="tcechval@cisco.com" created="Fri, 15 Apr 2016 09:57:38 +0000"  >&lt;p&gt;Proposed patches for&lt;br/&gt;
  beryllium &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/37653/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/37653/&lt;/a&gt;&lt;br/&gt;
  boron     &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/37654/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/37654/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="53575" author="yamahata" created="Sat, 16 Apr 2016 05:23:18 +0000"  >&lt;p&gt;Hello Tomas, thank you for reporting this.&lt;/p&gt;

&lt;p&gt;Can you please clarify the affected project? Group Based Policy?&lt;/p&gt;

&lt;p&gt;Given it is tested with other openstack providers, I hesitate to apply the patch&lt;br/&gt;
to the change behavior. Do you have any idea of how to affect the existing project?&lt;/p&gt;


&lt;p&gt;Do you need this for Beryllium branch?&lt;br/&gt;
Although maybe we can address issues by your patch in master branch, we shouldn&apos;t apply (potential big) behavior change to stable branch.&lt;/p&gt;</comment>
                            <comment id="53576" author="tcechval@cisco.com" created="Mon, 18 Apr 2016 13:02:24 +0000"  >&lt;p&gt;Hello Isaku,&lt;/p&gt;

&lt;p&gt;thank you for responding on this.&lt;/p&gt;

&lt;p&gt;The affected project is Group Based Policy. You are right, we don&apos;t need a patch for this in beryllium. I just abandoned it. &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/37653/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/37653/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In other projects, e.g. OVSDB, it seems to me that they also unintentionally process updates as creations. The fix would probably affect their update implementations, which have probably never run before so maybe they should be notified about this.&lt;/p&gt;</comment>
                            <comment id="53577" author="yamahata" created="Tue, 19 Apr 2016 07:57:00 +0000"  >&lt;p&gt;I suppose ovsdb/netvirt handles it intentionally.&lt;br/&gt;
Given that other openstack service providers work with the current code,&lt;br/&gt;
can you please elaborate the requirement by group based policy?&lt;br/&gt;
i.e. the reason why you came up with the patch.&lt;/p&gt;


&lt;p&gt;Actually simple merge doesn&apos;t work because some model uses list or leaf-list.&lt;br/&gt;
e.g. port::fixed-ip, port::securitygroupos.&lt;br/&gt;
When updating those list, they are overwrited. So merge doesn&apos;t work for such lists.&lt;/p&gt;</comment>
                            <comment id="53578" author="tcechval@cisco.com" created="Thu, 21 Apr 2016 14:44:39 +0000"  >&lt;p&gt;Lists (containers too) are overriden when we &quot;put&quot; them not &quot;merge&quot; them into transaction.&lt;/p&gt;

&lt;p&gt;If you do put on a subnode, e.g fixed-ips in port, modification type for port will be SUBTREE_MODIFIED and for fixed-ips WRITE.&lt;/p&gt;

&lt;p&gt;When using put on entire node (list or container), not just subnodes, WRITE will be the data change event even though we expect modification of the object (e.g changing device owner on a port when attaching it to a router).&lt;/p&gt;

&lt;p&gt;Merge should not break anything, when data don&apos;t exist, WRITE should be received.&lt;/p&gt;</comment>
                            <comment id="53579" author="tcechval@cisco.com" created="Tue, 3 May 2016 08:43:40 +0000"  >&lt;p&gt;After a brief team discussion I became convinced that using merge is not a good approach because it does not have any affect when removing sub-nodes.&lt;br/&gt;
We are going to have a look at original data and modified data to see if objects are updated or created.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </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>5734</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=5734]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10300"><![CDATA[Bug]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10331"><![CDATA[Beryllium-2]]></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|i02uuf:</customfieldvalue>

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