<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:16:50 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>[NETCONF-1167] Slow NETCONF RPC response caused by unreachable devices</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-1167</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;NETCONF devices configured but unreachable may cause performance issues in other connected NETCONF sessions or even cause disconnection of the sessions.&lt;/p&gt;

&lt;p&gt;AsyncSshHandler has &lt;a href=&quot;https://github.com/opendaylight/netconf/blob/master/netconf/netconf-netty-util/src/main/java/org/opendaylight/netconf/nettyutil/handler/ssh/client/AsyncSshHandler.java#L154&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;a blocking call&lt;/a&gt; to verify SSH session connection and this means that the thread is occupied for the timeout period if the device is unreachable. The default values of &lt;tt&gt;between-attempts-timeout-millis&lt;/tt&gt; and &lt;tt&gt;connection-timeout-millis&lt;/tt&gt; are &lt;tt&gt;2000&lt;/tt&gt; (2 seconds) and &lt;tt&gt;20000&lt;/tt&gt; (20 seconds), respectively, so assuming &lt;tt&gt;sleep-factor&lt;/tt&gt; is &lt;tt&gt;1.0&lt;/tt&gt; (the interval between connection attempts stays the same), a single unreachable device can take up about 0.9 CPU core. So a relatively small number of unreachable devices can easily overwhelm the whole thread pool available to all the NETCONF sessions and even the NETCONF sessions without such connectivity issue can experience performance issue - long latency in the RPC response and in some cases it may be hard to maintain connectivity depending on the keepalive settings in the device.&lt;/p&gt;</description>
                <environment></environment>
        <key id="37414">NETCONF-1167</key>
            <summary>Slow NETCONF RPC response caused by unreachable devices</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</priority>
                        <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="PeterSuna">Peter Suna</assignee>
                                    <reporter username="sangwookha">Sangwook Ha</reporter>
                        <labels>
                            <label>pt</label>
                    </labels>
                <created>Tue, 26 Sep 2023 00:11:10 +0000</created>
                <updated>Wed, 10 Jan 2024 13:05:16 +0000</updated>
                            <resolved>Wed, 10 Jan 2024 13:05:16 +0000</resolved>
                                    <version>5.0.7</version>
                    <version>4.0.8</version>
                    <version>6.0.4</version>
                                    <fixVersion>5.0.10</fixVersion>
                    <fixVersion>6.0.6</fixVersion>
                                    <component>netconf</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="72900" author="petersuna" created="Mon, 27 Nov 2023 12:50:55 +0000"  >&lt;p&gt;This issue is present until branch 6.0.x. The master branch is not affected.&lt;/p&gt;

&lt;p&gt;Steps to reproduce:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;Start Karaf:
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;feature:install odl-restconf-all odl-netconf-topology
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
	&lt;li&gt;Drop ports for test devices:
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;sudo iptables -I INPUT -p tcp --dport 17840 -j DROP
sudo iptables -I INPUT -p tcp --dport 17841 -j DROP
sudo iptables -I INPUT -p tcp --dport 17842 -j DROP
sudo iptables -I INPUT -p tcp --dport 17843 -j DROP
sudo iptables -I INPUT -p tcp --dport 17844 -j DROP
sudo iptables -I INPUT -p tcp --dport 17845 -j DROP
sudo iptables -I INPUT -p tcp --dport 17846 -j DROP
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;ol&gt;
	&lt;li&gt;Start 20 devices
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;java -jar netconf-testtool-6.0.6-SNAPSHOT-executable.jar --device-count 20 --ssh true --md-sal true --controller-ip 127.0.0.1 --controller-port 8181
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;ol&gt;
	&lt;li&gt;Get all devices
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;curl &apos;http://192.168.56.100:8181/rests/data/network-topology:network-topology/topology=topology-netconf&apos; \
--header &apos;Authorization: Basic YWRtaW46YWRtaW4=&apos;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;In all devices, there is at least one device that is not immediately connected, and its ports were not set to drop all packets. These devices connect after some time.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="19501" name="karaf.log" size="375536" author="PeterSuna" created="Mon, 27 Nov 2023 12:51:24 +0000"/>
                    </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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i046lr:</customfieldvalue>

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