<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:59:51 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>[GENIUS-76] Utilities for working more easily with asynchronous DataBroker transactions</title>
                <link>https://jira.opendaylight.org/browse/GENIUS-76</link>
                <project id="10126" key="GENIUS">genius</project>
                    <description>&lt;p&gt;I have a feeling that most people don&apos;t really understand that the DataBroker is ideally supposed to be used asynchronously ... or if they do, it&apos;s non-trivial to see how-to in practice.&lt;/p&gt;

&lt;p&gt;At least in genius &amp;amp; netvirt (I don&apos;t know about other projects), everywhere I&apos;ve ever looked at it&apos;s typically always the following usual pattern, where the get() at the end turns an API which was intended to be async into a sync usage one (not to speak about the fact that at, least in the code I&apos;ve come across, single new transaction per operation instead of a share transaction is the norm):&lt;/p&gt;

&lt;p&gt;   dataBroker.newReadOnlyTransaction().read(store, path).get()&lt;/p&gt;

&lt;p&gt;whether this is done by using (my) org.opendaylight.genius.datastoreutils.SingleTransactionDataBroker utility or (more often than not) just doing the equivalent directly in code...&lt;/p&gt;

&lt;p&gt;As far as I understand, this hinders performance and scalability in ODL.&lt;/p&gt;

&lt;p&gt;And we can do better relatively easily - we&apos;re just missing the right abstraction utility APIs which make it easier for people to naturally write code which does the right thing.&lt;/p&gt;

&lt;p&gt;I&apos;ll have a go at proposing something about this.  I&apos;ll intentionally start by code locally in genius only.  Whether or not that code, or something later inspired by it, makes it &quot;upstream&quot; (controller/mdsal) is &lt;b&gt;NOT&lt;/b&gt; in scope of this issue.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="19857">GENIUS-76</key>
            <summary>Utilities for working more easily with asynchronous DataBroker transactions</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                                <status id="10004" iconUrl="https://jira.opendaylight.org/images/icons/status_generic.gif" description="">Verified</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="vorburger">Michael Vorburger</reporter>
                        <labels>
                    </labels>
                <created>Wed, 26 Apr 2017 02:48:10 +0000</created>
                <updated>Wed, 22 Jan 2020 05:40:16 +0000</updated>
                            <resolved>Wed, 22 Jan 2020 05:40:01 +0000</resolved>
                                    <version>(unspecified)</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="35965" author="vorburger" created="Wed, 26 Apr 2017 02:55:06 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/56031/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/56031/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="67681" author="hematg" created="Wed, 22 Jan 2020 05:40:01 +0000"  >&lt;p&gt;This is fixed by ManagedTransactionRunner&lt;/p&gt;</comment>
                            <comment id="67682" author="hematg" created="Wed, 22 Jan 2020 05:40:16 +0000"  >&lt;p&gt;Fixed&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>8305</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=8305]]></customfieldvalue>

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

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

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