<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:53:26 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>[YANGTOOLS-500] DataTree: write/write/merge combo may lose data</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-500</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;Code review of OperationWithModification.recursiveMerge() will propagate the pre-existing WRITE node&apos;s children downwards to preserve the data items which were written.&lt;/p&gt;

&lt;p&gt;This unfortunately fails to check if there are nested nodes (introduced after the write which is being replaced), thus losing them.&lt;/p&gt;

&lt;p&gt;The specific problem comes from the following set of operations being done on a DataTreeModification:&lt;/p&gt;

&lt;p&gt;write(A, data1);&lt;br/&gt;
write(A/B, data2);&lt;br/&gt;
merge(A, data3);&lt;/p&gt;

&lt;p&gt;if data1 overlaps with data2, the merge to A will push data1&apos;s version of data2 into A/B, hence the result will look as if the second write never happened.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="22920">YANGTOOLS-500</key>
            <summary>DataTree: write/write/merge combo may lose data</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="10000">Done</resolution>
                                        <assignee username="rovarga">Robert Varga</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Thu, 10 Sep 2015 17:33:58 +0000</created>
                <updated>Sun, 10 Apr 2022 18:35:37 +0000</updated>
                            <resolved>Mon, 16 Nov 2015 12:15:35 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="43495" author="rovarga" created="Thu, 10 Sep 2015 17:52:07 +0000"  >&lt;p&gt;Be: &lt;a href=&quot;https://git.opendaylight.org/gerrit/26781&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/26781&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Needs to be expanded with a unit test for this particular scenario.&lt;/p&gt;</comment>
                            <comment id="43496" author="rovarga" created="Thu, 10 Sep 2015 18:11:55 +0000"  >&lt;p&gt;Looking at the code a bit more, we also have a problem when data3 should overwrite data2, as the merge operation does not clear write(A/B) in case of overlap.&lt;/p&gt;

&lt;p&gt;Even with the provided patch, the apply logic will think that the merge happened before write(A/B).&lt;/p&gt;</comment>
                            <comment id="43497" author="rovarga" created="Tue, 10 Nov 2015 13:55:33 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/29499&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/29499&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="22921">YANGTOOLS-501</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <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>4288</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=4288]]></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="10326"><![CDATA[Lithium-3]]></customfieldvalue>

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

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