<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:02:03 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>[INFRAUTILS-18] JobCoordinator getIncompleteTaskCount() does not reach 0 in component test after 30s</title>
                <link>https://jira.opendaylight.org/browse/INFRAUTILS-18</link>
                <project id="10129" key="INFRAUTILS">infrautils</project>
                    <description>&lt;p&gt;&lt;a href=&quot;https://logs.opendaylight.org/releng/jenkins092/netvirt-verify-oxygen-mvn33-openjdk8/2245/vpnservice/aclservice/impl/target/surefire-reports/org.opendaylight.netvirt.aclservice.tests.AclServiceStatefulTest-output.txt.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/releng/jenkins092/netvirt-verify-oxygen-mvn33-openjdk8/2245/vpnservice/aclservice/impl/target/surefire-reports/org.opendaylight.netvirt.aclservice.tests.AclServiceStatefulTest-output.txt.gz&lt;/a&gt; for &lt;a href=&quot;https://jenkins.opendaylight.org/releng/job/netvirt-verify-oxygen-mvn33-openjdk8/2245/console&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/releng/job/netvirt-verify-oxygen-mvn33-openjdk8/2245/console&lt;/a&gt; for &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/64381/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/64381/&lt;/a&gt; illustrates a case of AclServiceStatefulTest failing on Jenkins (only), but passing locally, due to some what I suspect to be a timing issue / concurrency bug in JobCoordinator...&lt;/p&gt;

&lt;p&gt;... basically, this kind of component test failure:&lt;/p&gt;

&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;newInterfaceWithMultipleAcl(org.opendaylight.netvirt.aclservice.tests.AclServiceStatefulTest)  Time elapsed: 30.396 sec  &amp;lt;&amp;lt;&amp;lt; ERROR!
 org.awaitility.core.ConditionTimeoutException: Condition with alias &apos;TestableJobCoordinatorEventsWaiter&apos; didn&apos;t complete within 30 seconds
 because lambda expression in org.opendaylight.genius.datastoreutils.testutils.TestableJobCoordinatorEventsWaiter: expected &amp;lt;0L&amp;gt; but was &amp;lt;3&amp;gt;.
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;is &quot;just&quot; telling us that the JobCoordinator still has 3 pending jobs that still did not execute, even after the test was waiting for it for 30 seconds. It&apos;s possible that Jenkins is slower than local builds, but 30s seems an awfully sufficiently long time for some thread to do do work.. more likely, somehow it got stuck?&lt;/p&gt;</description>
                <environment></environment>
        <key id="28641">INFRAUTILS-18</key>
            <summary>JobCoordinator getIncompleteTaskCount() does not reach 0 in component test after 30s</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="vorburger">Michael Vorburger</assignee>
                                    <reporter username="vorburger">Michael Vorburger</reporter>
                        <labels>
                    </labels>
                <created>Fri, 27 Oct 2017 12:30:33 +0000</created>
                <updated>Thu, 31 May 2018 12:38:19 +0000</updated>
                            <resolved>Thu, 31 May 2018 12:38:19 +0000</resolved>
                                                    <fixVersion>Oxygen</fixVersion>
                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="59816" author="vorburger" created="Fri, 27 Oct 2017 12:47:41 +0000"  >&lt;p&gt;Doubt &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/64685/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/64685/&lt;/a&gt; will fix this? Merged it anyway as ready now, but probably unrelated.&lt;/p&gt;

&lt;p&gt;Raised &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/64806/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/64806/&lt;/a&gt; and &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/64805/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/64805/&lt;/a&gt; to see if we can shed some more light on what exact state it&apos;s in when it gets stuck like that...&lt;/p&gt;</comment>
                            <comment id="59817" author="vorburger" created="Fri, 27 Oct 2017 13:02:08 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/64807&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/64807&lt;/a&gt; temporarily adds an @Ignore to AclServiceStatefulTest until we figure out what&apos;s wrong with JobCoordinator... the idea is that once c/64806/ and c/64805/ are in to give us more debug details when it gets stuck, we&apos;ll revert c/64807 and hope to see the failure again on Jenkins, with more details, and then see.&lt;/p&gt;</comment>
                            <comment id="59819" author="tpantelis" created="Fri, 27 Oct 2017 13:11:03 +0000"  >&lt;p&gt;I&apos;ve seen these failures locally as well.&lt;/p&gt;</comment>
                            <comment id="59821" author="tpantelis" created="Fri, 27 Oct 2017 14:57:28 +0000"  >&lt;p&gt;I got a failure locally:&lt;/p&gt;

&lt;p&gt;FAILURE! - in org.opendaylight.netvirt.aclservice.tests.AclServiceStatefulTest&lt;br/&gt;
newInterfaceWithMultipleAcl(org.opendaylight.netvirt.aclservice.tests.AclServiceStatefulTest)  Time elapsed: 120.401 sec  &amp;lt;&amp;lt;&amp;lt; ERROR!&lt;/p&gt;

&lt;p&gt;org.opendaylight.infrautils.testutils.LogCaptureRuleException: Expected no error log, but: Details about stuck JobCoordinator: JobCoordinatorImpl{incompleteTasks=2, pendingTasks=2, failedJobs=0, clearedTasks=228, createdTasks=230, executeAttempts=124, retriesCount=0, fjPool=java.util.concurrent.ForkJoinPool@66cd5f16&lt;span class=&quot;error&quot;&gt;&amp;#91;Running, parallelism = 4, size = 0, active = 0, running = 0, steals = 58, tasks = 0, submissions = 0&amp;#93;&lt;/span&gt;, jobQueueMap={ACL=JobQueue&lt;/p&gt;
{executing=null, queue=[]}, port1=JobQueue{executing=null, queue=[]}
&lt;p&gt;, port2=JobQueue{executing=null, queue=[]}}, jobQueueMapLock=java.util.concurrent.locks.ReentrantLock@315dd1ef&lt;span class=&quot;error&quot;&gt;&amp;#91;Unlocked&amp;#93;&lt;/span&gt;, scheduledExecutorService=java.util.concurrent.ScheduledThreadPoolExecutor@2843960a&lt;span class=&quot;error&quot;&gt;&amp;#91;Running, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0&amp;#93;&lt;/span&gt;, isJobAvailable=false, jobQueueMapCondition=java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@55b87372}&lt;/p&gt;

&lt;p&gt;org.awaitility.core.ConditionTimeoutException: Condition with alias &apos;TestableJobCoordinatorEventsWaiter&apos; didn&apos;t complete within 120 seconds because lambda expression in org.opendaylight.genius.datastoreutils.testutils.TestableJobCoordinatorEventsWaiter: expected &amp;lt;0L&amp;gt; but was &amp;lt;2&amp;gt;.&lt;/p&gt;

&lt;p&gt;The queues are empty and FJ pool has nothing - I think the incompleteTasks and pendingTasks counters are wrong. I think the problem is with the static nature of the JobCoordinatorCounters. Since they&apos;re enums, there&apos;s of course only one instance in the JVM but they&apos;re reused per JobCoordinator so a subsequent test may see the residual counts from the prior test&apos;s JobCoordinator. This wasn&apos;t an issue with the DataStoreJobCoordinator b/c there was a static instance but now each test creates a new JobCoordinator.&lt;/p&gt;

&lt;p&gt;The JobCoordinatorCounters can&apos;t be static - I&apos;ll change it and (hopefully) verify it fixes the problem. It failed after 14 runs - I say if it can get to 50 clean then I&apos;ll declare victory.&lt;/p&gt;</comment>
                            <comment id="59822" author="skitt@redhat.com" created="Fri, 27 Oct 2017 15:26:51 +0000"  >&lt;p&gt;Having enums for this seems quite strange &#8212; enums aren&#8217;t ever supposed to store varying state...&lt;/p&gt;</comment>
                            <comment id="59824" author="tpantelis" created="Fri, 27 Oct 2017 18:29:59 +0000"  >&lt;p&gt;Agree - JobCoordinatorCounters should be local to the JobCoordinator instance. I&apos;ll push a patch for that - should fix this issue. &lt;/p&gt;</comment>
                            <comment id="59825" author="tpantelis" created="Fri, 27 Oct 2017 19:43:52 +0000"  >&lt;p&gt;I made the changes and the AclServiceStatefulTest ran 41 times successfully. One test failed for another reason:&lt;/p&gt;

&lt;p&gt;FAILURE! - in org.opendaylight.netvirt.aclservice.tests.AclServiceStatefulTest&lt;br/&gt;
newInterfaceWithIcmpAcl(org.opendaylight.netvirt.aclservice.tests.AclServiceStatefulTest)  Time elapsed: 1.533 sec  &amp;lt;&amp;lt;&amp;lt; FAILURE!&lt;br/&gt;
org.junit.ComparisonFailure: Expected and actual beans do not match expected:&amp;lt;...ilter_Egress_10.0.0.[2/32_5000&quot;&lt;br/&gt;
        flowName = &quot;ACL&quot;&lt;br/&gt;
        hardTimeOut = 0&lt;br/&gt;
        idleTimeOut = 0&lt;br/&gt;
        instructionInfoList = #[&lt;br/&gt;
            new InstructionWriteMetadata(4bi, 16777214bi),&lt;br/&gt;
            new InstructionGotoTable(213 as short)&lt;br/&gt;
        ]&lt;br/&gt;
        matchInfoList = #[&lt;br/&gt;
            new MatchMetadata(83886080000bi, 1099494850560bi),&lt;br/&gt;
            new MatchEthernetType(2048L),&lt;br/&gt;
            new MatchIpv4Destination(new Ipv4Prefix(&quot;10.0.0.2/32&quot;))&lt;br/&gt;
        ]&lt;br/&gt;
....&lt;/p&gt;

&lt;p&gt;That looks like a failure in the app code and not the JC. The original failure caused by the JC appears to be fixed.&lt;/p&gt;</comment>
                            <comment id="59826" author="tpantelis" created="Fri, 27 Oct 2017 19:53:02 +0000"  >&lt;p&gt;Submitted &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/64824/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/64824/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="59836" author="vorburger" created="Mon, 30 Oct 2017 08:31:43 +0000"  >&lt;p&gt;Thanks Tom! Merged c/64824/ (above), and raised new &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/64827/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/64827/&lt;/a&gt; to un-revert ignored netvirt aclservice test.&lt;/p&gt;</comment>
                            <comment id="59837" author="vorburger" created="Mon, 30 Oct 2017 08:39:30 +0000"  >&lt;p&gt;PS, clean up in &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/64869/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/64869/&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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i036xb:</customfieldvalue>

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