<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:34:09 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>[OPNFLWPLUG-1086] Reconciliation framework failure when starting cbench tool for the first time</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-1086</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;this issue was noticed because an old CSIT job using cbench had a consistent failure that is not&lt;br/&gt;
seen in sodium (technically a regression in that sense)&lt;/p&gt;

&lt;p&gt;The cbench tool fails on starting with a &lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/openflowplugin-csit-1node-cbench-only-magnesium/169/robot-plugin/log.html.gz#s1-t1-k2-k2-k1-k8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&quot;closed connection ... exiting&quot; &lt;/a&gt; message.&lt;/p&gt;

&lt;p&gt;snippet from this &lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/openflowplugin-csit-1node-cbench-only-magnesium/169/odl_1/odl1_karaf.log.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;karaf.log &lt;/a&gt;:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
2020-02-22T03:05:59,721 | INFO  | opendaylight-cluster-data-akka.actor.&lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;-dispatcher-6 | GuardedContextImpl               | 310 - org.opendaylight.openflowplugin.impl - 0.10.0.SNAPSHOT | Starting RpcContextImpl[NEW] service &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; node openflow:0
2020-02-22T03:05:59,721 | WARN  | ofppool-7        | ContextChainHolderImpl           | 310 - org.opendaylight.openflowplugin.impl - 0.10.0.SNAPSHOT | Reconciliation framework failure.
2020-02-22T03:05:59,722 | INFO  | ofppool-7        | ReconciliationManagerImpl        | 302 - org.opendaylight.openflowplugin.applications.reconciliation-framework - 0.10.0.SNAPSHOT | Stopping reconciliation &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; node Uri{_value=openflow:10}
2020-02-22T03:05:59,726 | WARN  | ofppool-0        | ContextChainHolderImpl           | 310 - org.opendaylight.openflowplugin.impl - 0.10.0.SNAPSHOT | Reconciliation framework failure.
2020-02-22T03:05:59,726 | INFO  | ofppool-0        | ReconciliationManagerImpl        | 302 - org.opendaylight.openflowplugin.applications.reconciliation-framework - 0.10.0.SNAPSHOT | Stopping reconciliation &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; node Uri{_value=openflow:5}
2020-02-22T03:05:59,738 | INFO  | ListenableFutureAdapter-thread-0 | ContextChainHolderImpl           | 310 - org.opendaylight.openflowplugin.impl - 0.10.0.SNAPSHOT | Device openflow:3 connection is enabled by reconciliation framework.
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Only the first try fails though, and additional cbench tests are ok.&lt;/p&gt;

&lt;p&gt;We should figure out the root cause of the failure before we talk about the few workarounds&lt;br/&gt;
I know we can do:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;start a dummy cbench test first to get past the initial failure&lt;/li&gt;
	&lt;li&gt;remove the cbench tests altogether if they no longer provide any value, although I do check from time to time &lt;a href=&quot;https://jenkins.opendaylight.org/releng/job/openflowplugin-csit-1node-cbench-only-sodium/plot/Cbench%20Performance/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;the graphs &lt;/a&gt; that those jobs produce&lt;/li&gt;
&lt;/ol&gt;
</description>
                <environment></environment>
        <key id="32436">OPNFLWPLUG-1086</key>
            <summary>Reconciliation framework failure when starting cbench tool for the first time</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.opendaylight.org/images/icons/priorities/blocker.svg">Highest</priority>
                        <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="gobinath">Gobinath Suganthan</assignee>
                                    <reporter username="jluhrsen">Jamo Luhrsen</reporter>
                        <labels>
                    </labels>
                <created>Tue, 25 Feb 2020 19:51:24 +0000</created>
                <updated>Thu, 27 Feb 2020 18:10:44 +0000</updated>
                            <resolved>Thu, 27 Feb 2020 16:39:55 +0000</resolved>
                                                    <fixVersion>Magnesium</fixVersion>
                                    <component>reconciliation-framework</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="67892" author="jluhrsen" created="Tue, 25 Feb 2020 20:01:43 +0000"  >&lt;p&gt;Attached is karaf.log from a fresh boot with TRACE enabled for &apos;org.opendaylight.openflowplugin.impl&apos;&lt;/p&gt;

&lt;p&gt;the cbench command used was:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
cbench -c 10.1.154.174 -m 3000 -M 1 -s 2 -l 2 -D 3000 -p 6633
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;notice the -s 2 for a switch count of 2. The CSIT job uses much more, but I was trying to reduce the number&lt;br/&gt;
of variables involved and when I only used a single (-s 1) switch the issue did not show up. Increasing it to&lt;br/&gt;
2 seems to hit it every time. hopefully that is a worthwhile clue.&lt;/p&gt;</comment>
                            <comment id="67896" author="arunprakash" created="Wed, 26 Feb 2020 13:46:55 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=gobinath%40ericsson.com&quot; class=&quot;user-hover&quot; rel=&quot;gobinath@ericsson.com&quot;&gt;gobinath@ericsson.com&lt;/a&gt;&#160;will get back on the analysis by tomorrow&lt;/p&gt;</comment>
                            <comment id="67897" author="gobinath" created="Wed, 26 Feb 2020 14:33:08 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=jluhrsen&quot; class=&quot;user-hover&quot; rel=&quot;jluhrsen&quot;&gt;jluhrsen&lt;/a&gt;&#160;I want to add some logging in openflowplugin project and re-run this cbench test for debugging. Any way I could start this job on a openflowplugin review?&lt;/p&gt;</comment>
                            <comment id="67898" author="gobinath" created="Wed, 26 Feb 2020 14:51:25 +0000"  >&lt;p&gt;Also I could see the following errors in the karaf log:&lt;/p&gt;

&lt;p&gt;&quot;2020-02-11T12:46:26,913 | INFO | opendaylight-cluster-data-akka.actor.default-dispatcher-37 | RoleContextImpl | 310 - org.opendaylight.openflowplugin.impl - 0.10.0 | Device: openflow:6 with version: 1 does not support role BECOMEMASTER&quot;&lt;/p&gt;

&lt;p&gt;What is the openflow version used by the switches in cbench?&lt;/p&gt;</comment>
                            <comment id="67900" author="jluhrsen" created="Wed, 26 Feb 2020 16:48:17 +0000"  >&lt;p&gt;Once &lt;a href=&quot;https://git.opendaylight.org/gerrit/c/releng/builder/+/88080&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this patch &lt;/a&gt; is merged, you can add the comment:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;test-openflowplugin-cbench
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;to the patch you are adding debug logs to and it should give you what you want. You&apos;ll want to make sure your&lt;br/&gt;
debugs are all INFO level though. If you want a job that runs with higher debug levels for some module, we can&lt;br/&gt;
do that to, but it&apos;ll be a more manual process that I can do in the sandbox.&lt;/p&gt;</comment>
                            <comment id="67901" author="jluhrsen" created="Wed, 26 Feb 2020 16:49:00 +0000"  >&lt;p&gt;yes, IIRC, cbench got stuck on OF1.1 and never made it to 1.3.&lt;/p&gt;</comment>
                            <comment id="67902" author="jluhrsen" created="Wed, 26 Feb 2020 16:49:08 +0000"  >&lt;p&gt;&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; thanks.&lt;/p&gt;</comment>
                            <comment id="67903" author="gobinath" created="Thu, 27 Feb 2020 04:53:02 +0000"  >&lt;p&gt;thanks a lot &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=jluhrsen&quot; class=&quot;user-hover&quot; rel=&quot;jluhrsen&quot;&gt;jluhrsen&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="67904" author="gobinath" created="Thu, 27 Feb 2020 08:24:14 +0000"  >&lt;p&gt;I have raised a review &amp;amp; triggered the job but the job seem to be waiting with no available executor for too long.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/c/openflowplugin/+/88084&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/c/openflowplugin/+/88084&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Job link:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jenkins.opendaylight.org/releng/job/openflowplugin-patch-test-cbench-magnesium/1/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/releng/job/openflowplugin-patch-test-cbench-magnesium/1/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alternately could you please send the steps to set up cbench in local. (couldn&apos;t find complete working steps anywhere)&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="67906" author="gobinath" created="Thu, 27 Feb 2020 14:45:16 +0000"  >&lt;p&gt;I had added some logging and rerun the tests. From the logs, it was found that the &quot;flownodereconciliation&quot; service was throwing an uncaught exception (ConcurrentModificationException) which had resulted in the reconciliation framework.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Logs:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;2020-02-27T11:48:31,071 | ERROR | ofppool-2 | ContextChainHolderImpl | 310 - org.opendaylight.openflowplugin.impl - 0.10.0.SNAPSHOT | Reconciliation framework failure for device openflow:1 with error&lt;/em&gt;&lt;br/&gt;
&lt;em&gt;java.util.ConcurrentModificationException: null&lt;/em&gt;&lt;br/&gt;
 &lt;em&gt;at java.util.HashMap.computeIfAbsent(HashMap.java:1134) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;?:?&amp;#93;&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;
 &lt;em&gt;at org.opendaylight.openflowplugin.applications.frm.impl.FlowNodeReconciliationImpl.startReconciliation(FlowNodeReconciliationImpl.java:302) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;?:?&amp;#93;&lt;/span&gt;&lt;/em&gt;&lt;br/&gt;
 &lt;em&gt;at org.opendaylight.openflowplugin.applications.reconciliation.impl.ReconciliationManagerImpl.lambda$reconcileServices$4(ReconciliationManagerImpl.java:135) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;?:?&amp;#93;&lt;/span&gt;&lt;/em&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;I have fixed this and added some logs to debug similar issues.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/c/openflowplugin/+/88084&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/c/openflowplugin/+/88084&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note:&lt;/p&gt;

&lt;p&gt;The &quot;flownodereconciliation&quot; task completes fast when the switch connects initially (no flows are present in inventory config for the node). So the race condition would be more probable in this case and we see might be seeing the cbench failures only during initial connection.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="67907" author="jluhrsen" created="Thu, 27 Feb 2020 16:39:36 +0000"  >&lt;p&gt;Great debugging and thanks for the quick fix, &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=gobinath&quot; class=&quot;user-hover&quot; rel=&quot;gobinath&quot;&gt;gobinath&lt;/a&gt;. the &lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/openflowplugin-csit-1node-cbench-only-magnesium/173/robot-plugin/log.html.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;patch test job is passing now &lt;/a&gt; and I have merged the stable/magnesium patch.&lt;/p&gt;

&lt;p&gt;does this need to be cherry-picked to sodium?&lt;/p&gt;

&lt;p&gt;I assume it should be in master, so I already made that &lt;a href=&quot;https://git.opendaylight.org/gerrit/c/openflowplugin/+/87964&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;cherry pick &lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="67910" author="gobinath" created="Thu, 27 Feb 2020 16:50:29 +0000"  >&lt;p&gt;Yes. This has to be cherry-picked to Sodium too. Cherry-picked here&#160;&lt;a href=&quot;https://git.opendaylight.org/gerrit/c/openflowplugin/+/87965&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/c/openflowplugin/+/87965&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is surprising that the cbench is passing in Sodium however.&lt;/p&gt;</comment>
                            <comment id="67912" author="jluhrsen" created="Thu, 27 Feb 2020 18:10:44 +0000"  >&lt;p&gt;actually, now that I think about it, I think I was able to reproduce this locally with sodium. Just didn&apos;t spend much time double checking. Maybe upstream CSIT is slightly slow enough in sodium + that shared cloud environment compared to my local laptop that the race condition isn&apos;t hit.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="32418">INTTEST-72</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="15602" name="karaf.log" size="499134" author="jluhrsen" created="Tue, 25 Feb 2020 19:58:11 +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|i03r7b:</customfieldvalue>

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