<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:36:11 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>[OVSDB-358] [SR3] RPC timeout in JsonRPCEndpoint is not configurable</title>
                <link>https://jira.opendaylight.org/browse/OVSDB-358</link>
                <project id="10158" key="OVSDB">ovsdb</project>
                    <description>&lt;p&gt;The RPC timeout in JsonRPCEndpoint/getClient method is 300 ms:&lt;br/&gt;
    private static final int REAPER_INTERVAL = 300;&lt;/p&gt;

&lt;p&gt;This timeout is not configurable, and it can be quite aggressive for heavy-weight operations on OVSDB. This leads to the following exception:&lt;br/&gt;
    java.util.concurrent.CancellationException: Task was cancelled.&lt;/p&gt;

&lt;p&gt;One of the solutions would be to retry if the task was cancelled. However, for operations on OVSDB that genuinely take &amp;gt; 300 ms, this will not work &amp;#8211; The task will be cancelled again.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="22050">OVSDB-358</key>
            <summary>[SR3] RPC timeout in JsonRPCEndpoint is not configurable</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="-1">Unassigned</assignee>
                                    <reporter username="ashwinp.work@gmail.com">Ashwin P</reporter>
                        <labels>
                    </labels>
                <created>Sat, 6 Aug 2016 18:41:41 +0000</created>
                <updated>Thu, 19 Oct 2017 21:27:05 +0000</updated>
                            <resolved>Wed, 10 Aug 2016 20:14:14 +0000</resolved>
                                    <version>unspecified</version>
                                                    <component>Library</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="41491" author="vishnoianil@gmail.com" created="Sat, 6 Aug 2016 21:29:15 +0000"  >&lt;p&gt;Hi Ashwin,&lt;/p&gt;

&lt;p&gt;I pushed the patch to fix the issue. It increases the timeout to 1000 ms and also providers the config knob to change it.&lt;/p&gt;


&lt;p&gt;stable/beryllium : &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/43273/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/43273/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Can you please test it in your environment and update the bug with your findings.?&lt;/p&gt;

&lt;p&gt;Thanks&lt;br/&gt;
Anil&lt;/p&gt;</comment>
                            <comment id="41492" author="ashwinp.work@gmail.com" created="Sun, 7 Aug 2016 02:17:15 +0000"  >&lt;p&gt;Since this is a reaper timeout (and has no performance impact under normal operating conditions), I&apos;d suggest setting it to a much larger default value (e.g. 60 sec). I tried this patch with a 60 sec timeout in the config file, and it seems to be working fine.&lt;/p&gt;</comment>
                            <comment id="41493" author="vishnoianil@gmail.com" created="Sun, 7 Aug 2016 02:56:31 +0000"  >&lt;p&gt;I believe 60 second is too long to wait for a single device operation. Do you see any scenario where any single ovsdb rpc operation can take 60 seconds?&lt;/p&gt;

&lt;p&gt;Waiting longer for task has a memory overhead, because all the task are getting accumulated and their respective reaper task as well. So if you connect 1000 nodes, waiting for 60 seconds probably accumulate lot of short lived object and cleaning them up will trigger major GC and that can be issues in clustered environment. So until and unless there is any specific scenario where default value of 1000 second is not appropriate, in my opinion we should keep the timeout minimum. For specific scenario user can always tweak the provided config knob.&lt;/p&gt;</comment>
                            <comment id="41494" author="ashwinp.work@gmail.com" created="Sun, 7 Aug 2016 03:13:02 +0000"  >&lt;p&gt;Thanks for the detailed explanation. I agree with the reasoning.&lt;/p&gt;</comment>
                            <comment id="41495" author="vishnoianil@gmail.com" created="Sun, 7 Aug 2016 04:15:32 +0000"  >&lt;p&gt;(In reply to Anil Vishnoi from comment #3)&lt;br/&gt;
&amp;gt; I believe 60 second is too long to wait for a single device operation. Do&lt;br/&gt;
&amp;gt; you see any scenario where any single ovsdb rpc operation can take 60&lt;br/&gt;
&amp;gt; seconds?&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Waiting longer for task has a memory overhead, because all the task are&lt;br/&gt;
&amp;gt; getting accumulated and their respective reaper task as well. So if you&lt;br/&gt;
&amp;gt; connect 1000 nodes, waiting for 60 seconds probably accumulate lot of short&lt;br/&gt;
&amp;gt; lived object and cleaning them up will trigger major GC and that can be&lt;br/&gt;
&amp;gt; issues in clustered environment. So until and unless there is any specific&lt;br/&gt;
&amp;gt; scenario where default value of 1000 second is not appropriate, in my&lt;br/&gt;
&amp;gt; opinion we should keep the timeout minimum. For specific scenario user can&lt;br/&gt;
&amp;gt; always tweak the provided config knob.&lt;/p&gt;

&lt;p&gt;Small Correction, it&apos;s 1000 millisecond and not 1000 seconds.&lt;/p&gt;</comment>
                            <comment id="41496" author="vishnoianil@gmail.com" created="Sun, 7 Aug 2016 04:16:16 +0000"  >&lt;p&gt;master : &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/43276/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/43276/&lt;/a&gt;&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>6352</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=6352]]></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|i0228n:</customfieldvalue>

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