<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:14:18 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-150] Netconf connector dies after another feature with schemas is installed</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-150</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;feature:install odl-netconf-connector-all&lt;br/&gt;
then feature:install odl-bgpcep-bgp-all&lt;br/&gt;
and after the second feature:install finishes, odl-netconf-connector-all stops working.&lt;/p&gt;

&lt;p&gt;Tested on latest Beryllium.&lt;br/&gt;
This problem might occur for any feature that deploys additional schemas upon installation in place of &quot;odl-bgpcep-bgp-all&quot; but that was not tested.&lt;/p&gt;

&lt;p&gt;In the karaf.log (see attachment) the following suspicious exception happens after the schema change events (there were 2 found).&lt;/p&gt;

&lt;p&gt;2016-02-18 15:15:58,470 | WARN  | r - ConfigPusher | FeatureConfigPusher              | 122 - config-persister-feature-adapter - 0.4.0.SNAPSHOT | Karaf featuresService.listInstalledFeatures() has thrown an exception, retry 0&lt;br/&gt;
java.util.ConcurrentModificationException&lt;br/&gt;
	at java.util.HashMap$HashIterator.nextEntry(Unknown Source)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_67&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.util.HashMap$KeyIterator.next(Unknown Source)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_67&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.util.AbstractCollection.toArray(Unknown Source)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_67&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.apache.karaf.features.internal.FeaturesServiceImpl.listInstalledFeatures(FeaturesServiceImpl.java:788)&lt;span class=&quot;error&quot;&gt;&amp;#91;20:org.apache.karaf.features.core:3.0.3&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at Proxyadff952b_fc56_472f_92f2_a3993414b469.listInstalledFeatures(Unknown Source)&lt;span class=&quot;error&quot;&gt;&amp;#91;:&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.configpusherfeature.internal.FeatureConfigPusher.isInstalled(FeatureConfigPusher.java:96)&lt;span class=&quot;error&quot;&gt;&amp;#91;122:config-persister-feature-adapter:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.configpusherfeature.internal.FeatureConfigPusher.pushConfig(FeatureConfigPusher.java:77)&lt;span class=&quot;error&quot;&gt;&amp;#91;122:config-persister-feature-adapter:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.configpusherfeature.internal.FeatureConfigPusher.pushConfigs(FeatureConfigPusher.java:67)&lt;span class=&quot;error&quot;&gt;&amp;#91;122:config-persister-feature-adapter:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.configpusherfeature.internal.ConfigPushingRunnable.processFeatureEvent(ConfigPushingRunnable.java:65)&lt;span class=&quot;error&quot;&gt;&amp;#91;122:config-persister-feature-adapter:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.configpusherfeature.internal.ConfigPushingRunnable.run(ConfigPushingRunnable.java:47)&lt;span class=&quot;error&quot;&gt;&amp;#91;122:config-persister-feature-adapter:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.lang.Thread.run(Unknown Source)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_67&amp;#93;&lt;/span&gt; &lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-144&quot; title=&quot;Documentation needed for device reconnect based on schema change&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-144&quot;&gt;&lt;del&gt;NETCONF-144&lt;/del&gt;&lt;/a&gt; is related but this is not the case. I added &quot;sleep 60&quot; between the two feature:install commands and also between the ODL startup and the first feature:install command and the behavior persists. The log confirms there are significant time gaps between the feature:install commands and the rest of ODL activity so this is not caused by the second feature:install being executed concurrently with the odl-netconf-connector reconnect. But for odl-bgpcep-bgp-all the odl-netconf-connector reconnect happens twice so I am not entirely sure about this concurrency related argument.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="21163">NETCONF-150</key>
            <summary>Netconf connector dies after another feature with schemas is installed</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="10001">Won&apos;t Do</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="jbehran@cisco.com">Jozef Behran</reporter>
                        <labels>
                    </labels>
                <created>Thu, 18 Feb 2016 15:46:54 +0000</created>
                <updated>Fri, 15 Mar 2019 22:22:20 +0000</updated>
                            <resolved>Fri, 13 Oct 2017 10:33:40 +0000</resolved>
                                                                    <component>netconf</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="39233" author="jbehran@cisco.com" created="Thu, 18 Feb 2016 15:46:54 +0000"  >&lt;p&gt;Attachment karaf.log.xz has been added with description: INFO logs from the session described in the report&lt;/p&gt;</comment>
                            <comment id="39223" author="jbehran@cisco.com" created="Fri, 26 Feb 2016 09:18:26 +0000"  >&lt;p&gt;I created a test suite that tries to catch this bug &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt; but it will PASS on Sandbox but FAIL on my local system. As I have no way to compare the Sandbox test environment to my local system test environment, I cannot continue working on the suite as I can&apos;t figure out what in the suite is broken and how to fix it.&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt; &lt;a href=&quot;https://git.opendaylight.org/gerrit/35416&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/35416&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="39224" author="jbehran@cisco.com" created="Fri, 26 Feb 2016 11:09:06 +0000"  >&lt;p&gt;Also the test case in my last comment needs to be run in its own job. Here is a definition of a job that runs the suite and then runs a Netconf CRUD and TCPMD5 suites to make sure the two features work correctly:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/35448&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/35448&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="39225" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 09:11:35 +0000"  >&lt;p&gt;Found suspicious &quot;Optimistic Lock Failed&quot; in the logs at the time of the BGPCEP installation failure, followed by &quot;will retry after timeout&quot;. From that I suspect that Netconf tries to reconnect in time when the operation is not yet done and silently crashes (no exception logged) because of that.&lt;/p&gt;

&lt;p&gt;Attached the offending log so a deeper analysis can be done. This is an INFO level log. I will try to generate a DEBUG log that fits here and upload it as well.&lt;/p&gt;</comment>
                            <comment id="39234" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 09:11:35 +0000"  >&lt;p&gt;Attachment karaf.log.xz has been added with description: INFO logs with a suspicious OptimisticLockFailed&lt;/p&gt;</comment>
                            <comment id="39226" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 09:38:38 +0000"  >&lt;p&gt;This time the Optimistic Lock Failed happened during the ODL boot but the suite was started only a couple of minutes after the boot. These logs are &quot;partial DEBUG&quot; which means the boot happened at the INFO level and at the suite initialization the logging was switched to DEBUG.&lt;/p&gt;

&lt;p&gt;Note to myself: Need to run a test where ODL boot is started before lunch and the suite is started after the lunch. This should give ODL 30-45 minutes to do the retry of the failed operation.&lt;/p&gt;</comment>
                            <comment id="39235" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 09:38:38 +0000"  >&lt;p&gt;Attachment karaf.log.xz has been added with description: Partial DEBUG logs with suspicious OptimisticLockFailed&lt;/p&gt;</comment>
                            <comment id="39227" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 09:41:45 +0000"  >&lt;p&gt;Here is yet another test run with the suspicious exception but everything running under DEBUG logging (it fits but only barely). As always the suite was started only a couple of minutes after the ODL finished booting.&lt;/p&gt;</comment>
                            <comment id="39236" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 09:41:45 +0000"  >&lt;p&gt;Attachment karaf.log.xz has been added with description: Full DEBUG logs with suspicious OptimisticLockFailed&lt;/p&gt;</comment>
                            <comment id="39228" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 09:51:57 +0000"  >&lt;p&gt;It turns out the OptimisticLockFailed most likely has nothing to do with the problem. Here is a partial DEBUG (boot at INFO, test at DEBUG) log with no OptimisticLockFailed but the bug was still there.&lt;/p&gt;</comment>
                            <comment id="39237" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 09:51:57 +0000"  >&lt;p&gt;Attachment karaf.log.xz has been added with description: Partial DEBUG log with no OptimisticLockFailed but bug still present&lt;/p&gt;</comment>
                            <comment id="39229" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 11:10:58 +0000"  >&lt;p&gt;This is the last of the log files. In this one there is a 1-hour (actually slightly more than 1 hour) pause between the ODL boot end and the beginning of the suite execution. The logging was configured to DEBUG during the whole time.&lt;/p&gt;</comment>
                            <comment id="39238" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 11:10:58 +0000"  >&lt;p&gt;Attachment karaf.log.xz has been added with description: Full DEBUG logs with 1 hour between boot and test run&lt;/p&gt;</comment>
                            <comment id="39230" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 11:51:44 +0000"  >&lt;p&gt;In this test run the suite failed to catch the bug (the bug did not happen). Analysis and comparison with the other log files is needed to figure out, why.&lt;/p&gt;</comment>
                            <comment id="39239" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 11:51:44 +0000"  >&lt;p&gt;Attachment karaf.log.xz has been added with description: Full DEBUG log from a Sandbox test run&lt;/p&gt;</comment>
                            <comment id="39231" author="jbehran@cisco.com" created="Mon, 7 Mar 2016 14:38:49 +0000"  >&lt;p&gt;Reporting results from the analysis. First, according to the logs the problem is happening when the connection maintained by the Netconf connector is disconnected while the Netconf connector is still initializing. The Netconf connector then fails to reconnect.&lt;/p&gt;

&lt;p&gt;Based on discussion about &quot;who is responsible for detection of the schema changes&quot;, it appears that if a device disconnects from ODL with Netconf connector, it can crash the Netconf connector by just disconnecting too fast. Unfortunately creating a test suite that would catch the problem on Sandbox is a lot of work (definitely larger to fit into the time space between today and the Beryllium SR1) and I have higher priority stuff on my agenda at this time so most likely this needs to be postponed.&lt;/p&gt;</comment>
                            <comment id="39232" author="tcere" created="Fri, 13 Oct 2017 10:33:40 +0000"  >&lt;p&gt;cfg subsystem related, wont fix since its deprecated and everyone should move towards the datastore&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="12663" name="karaf.log.xz" size="1012716" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 11:51:44 +0000"/>
                            <attachment id="12662" name="karaf.log.xz" size="768388" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 11:10:58 +0000"/>
                            <attachment id="12661" name="karaf.log.xz" size="422300" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 09:51:57 +0000"/>
                            <attachment id="12660" name="karaf.log.xz" size="895540" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 09:41:45 +0000"/>
                            <attachment id="12659" name="karaf.log.xz" size="396944" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 09:38:38 +0000"/>
                            <attachment id="12658" name="karaf.log.xz" size="14712" author="jbehran@cisco.com" created="Thu, 3 Mar 2016 09:11:35 +0000"/>
                            <attachment id="12657" name="karaf.log.xz" size="15116" author="jbehran@cisco.com" created="Thu, 18 Feb 2016 15:46:54 +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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5383</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=5383]]></customfieldvalue>

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

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