<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:08: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>[MDSAL-21] Need to document correct async RPC usage</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-21</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;From Robert Varga:&lt;/p&gt;

&lt;p&gt;The contract of the async RPC APIs returning Future objects does not allow for actual correct handling of asynchronous semantics.  However, it turns out that internally it&apos;s actually using ListenableFuture with a thread pool that should allow for this to be done correctly, but this is not documented anywhere.&lt;/p&gt;

&lt;p&gt;We need&lt;br/&gt;
(1) Document the correct usage of the API through javadoc and other documentation (Perhaps we can generate JavaDoc in the generated service API code that includes usage examples)&lt;br/&gt;
(2) Update all tutorials and examples to use the correct semantics.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob_plain;f=bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractTopologyBuilder.java;hb=HEAD&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=blob_plain;f=bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractTopologyBuilder.java;hb=HEAD&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;note this listens to the datastore commits, just as we discussed:&lt;/p&gt;

&lt;p&gt;                DataModificationTransaction t = dataProvider.beginTransaction();&lt;br/&gt;
                &lt;span class=&quot;error&quot;&gt;&amp;#91;...&amp;#93;&lt;/span&gt;&lt;br/&gt;
Futures.addCallback(JdkFutureAdapters.listenInPoolThread(t.commit()), new FutureCallback&amp;lt;RpcResult&amp;lt;TransactionStatus&amp;gt;&amp;gt;() {&lt;br/&gt;
                        @Override&lt;br/&gt;
                        public void onSuccess(final RpcResult&amp;lt;TransactionStatus&amp;gt; result) &lt;/p&gt;
{
                                LOG.trace(&quot;Change committed successfully&quot;);
                        }

&lt;p&gt;                        @Override&lt;br/&gt;
                        public void onFailure(final Throwable t) {&lt;br/&gt;
                                LOG.error(&quot;Failed to initiate topology {} by listener {}&quot;, AbstractTopologyBuilder.this.topology, AbstractTopologyBuilder.this, t);&lt;br/&gt;
                        }&lt;br/&gt;
                });&lt;/p&gt;

&lt;p&gt;I think the current behavior is that the datastores an exception and RpcResult is unused (which kinda is where we want to go anyway). The topology provider is a singleton writer here, so a failure here is not recoverable.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Linux&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="26843">MDSAL-21</key>
            <summary>Need to document correct async RPC usage</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="10000">Done</resolution>
                                        <assignee username="rovarga">Robert Varga</assignee>
                                    <reporter username="readams">Rob Adams</reporter>
                        <labels>
                    </labels>
                <created>Fri, 30 May 2014 16:18:04 +0000</created>
                <updated>Sat, 16 Mar 2019 16:18:22 +0000</updated>
                            <resolved>Sat, 16 Mar 2019 16:18:20 +0000</resolved>
                                                    <fixVersion>Oxygen SR4</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="25646">CONTROLLER-1092</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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>1118</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=1118]]></customfieldvalue>

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

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