<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:52:31 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-235] DataStore should be able to handle missing keys in writes</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-235</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;With binding aware APIs, it is a common mistake to write an object into a particular point in the list (e.g. identifier with a target key), but fail to attach that key into the DTO being stored there.&lt;/p&gt;

&lt;p&gt;Given that the datastore has both data points, it can trivially correct for this mistake, allowing it to continue instead of producing a hard error.&lt;/p&gt;

&lt;p&gt;Implement this recovery strategy, along with a &lt;b&gt;very&lt;/b&gt; stern LOG.warn(), which will detail the entry which was being written and the call stack where the transaction was allocated.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="24789">CONTROLLER-235</key>
            <summary>DataStore should be able to handle missing keys in writes</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</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="tony.tkacik@gmail.com">Tony Tkacik</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Thu, 27 Mar 2014 01:42:04 +0000</created>
                <updated>Tue, 25 Jul 2023 08:23:17 +0000</updated>
                            <resolved>Tue, 9 Sep 2014 09:13:49 +0000</resolved>
                                                                    <component>mdsal</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="47813" author="dbainbri.ciena@gmail.com" created="Thu, 29 May 2014 00:37:53 +0000"  >&lt;p&gt;(In reply to Robert Varga from comment #0)&lt;br/&gt;
&amp;gt; With binding aware APIs, it is a common mistake to write an object into a&lt;br/&gt;
&amp;gt; particular point in the list (e.g. identifier with a target key), but fail&lt;br/&gt;
&amp;gt; to attach that key into the DTO being stored there.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Given that the datastore has both data points, it can trivially correct for&lt;br/&gt;
&amp;gt; this mistake, allowing it to continue instead of producing a hard error.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Implement this recovery strategy, along with a &lt;b&gt;very&lt;/b&gt; stern LOG.warn(),&lt;br/&gt;
&amp;gt; which will detail the entry which was being written and the call stack where&lt;br/&gt;
&amp;gt; the transaction was allocated.&lt;/p&gt;

&lt;p&gt;Just want to make sure I understand the bug correctly. When utilizing the data store and putting an object into the tree (config or operational) the Node has an ID that should be identical to the location in the tree in which it is being placed. In some cases, the node is created without this ID, but when doing the write transaction since the code has both the ID and the node it can effectively WARN and proceed by setting the implied identifier in the Node. It this an accurate characterization? &lt;/p&gt;

&lt;p&gt;Assuming the characterization is correct and assuming that differing data stores can be implemented it would be best to implement this before control gets to a specific implementation.&lt;/p&gt;</comment>
                            <comment id="47814" author="rovarga" created="Thu, 29 May 2014 14:35:46 +0000"  >&lt;p&gt;Correct. By &#8222;data store&#8220; I really meant one of the binding-aware components, for example the BI connector, which is in the sweetspot for this kind of thing:&lt;/p&gt;

&lt;p&gt;It already generates BI data, so adding a few additional leaves should not have a major impact.&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>597</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=597]]></customfieldvalue>

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

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