<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:02: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>[INFRAUTILS-57] JobCoordinatorTest is flaky and (very rarely) fails on the build</title>
                <link>https://jira.opendaylight.org/browse/INFRAUTILS-57</link>
                <project id="10129" key="INFRAUTILS">infrautils</project>
                    <description>&lt;p&gt;The merge job of &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/76810/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/76810/&lt;/a&gt;&#160;in &lt;a href=&quot;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/infrautils-merge-neon/84&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/infrautils-merge-neon/84&lt;/a&gt;&#160;just failed with:&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;[jobcoordinator-main-task-1] ERROR org.opendaylight.infrautils.jobcoordinator.internal.JobCoordinatorImpl - Job still failed on final retry: JobEntry{key=&apos;org.opendaylight.infrautils.jobcoordinator.tests.JobCoordinatorTest&apos;, mainWorker=org.opendaylight.infrautils.jobcoordinator.tests.JobCoordinatorTest$TestCallable@21affc49, rollbackWorker=null, retryCount=3/3, futures=[com.google.common.util.concurrent.ImmediateFuture$ImmediateFailedFuture@671256e1[status=FAILURE, cause=[org.opendaylight.infrautils.jobcoordinator.tests.JobCoordinatorTest$JobException: Job is failed intentionally]]]}
org.opendaylight.infrautils.jobcoordinator.tests.JobCoordinatorTest$JobException: Job is failed intentionally
	at org.opendaylight.infrautils.jobcoordinator.tests.JobCoordinatorTest.&amp;lt;clinit&amp;gt;(JobCoordinatorTest.java:49)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This is the first time I&apos;ve seen this failure. It passes locally, and I expect it will also pass on the &quot;remerge&quot;.&lt;/p&gt;

&lt;p&gt;Still, someone should look into if this can be made more reliable. &lt;/p&gt;

&lt;p&gt;Must be concurrency issue.&lt;/p&gt;</description>
                <environment></environment>
        <key id="30876">INFRAUTILS-57</key>
            <summary>JobCoordinatorTest is flaky and (very rarely) fails on the build</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="vorburger">Michael Vorburger</assignee>
                                    <reporter username="vorburger">Michael Vorburger</reporter>
                        <labels>
                    </labels>
                <created>Thu, 11 Oct 2018 20:51:25 +0000</created>
                <updated>Fri, 11 Jan 2019 02:17:15 +0000</updated>
                            <resolved>Fri, 11 Jan 2019 02:17:15 +0000</resolved>
                                                    <fixVersion>Neon</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="65324" author="tpantelis" created="Thu, 11 Oct 2018 21:26:52 +0000"  >&lt;p&gt;Looks like the failure is actually:&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;Not true that executeAttempts (&amp;lt;0&amp;gt;) is equal to &amp;lt;1&amp;gt; 
at org.opendaylight.infrautils.jobcoordinator.tests.JobCoordinatorTest.assertExecuteAttempts(JobCoordinatorTest.java:362) 
at org.opendaylight.infrautils.jobcoordinator.tests.JobCoordinatorTest.testJobNoExceptionReturnNull(JobCoordinatorTest.java:173)

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="65326" author="tpantelis" created="Thu, 11 Oct 2018 23:06:57 +0000"  >&lt;p&gt;This is a timing issue where&#160;jobExecuteAttempts may not get marked/incremented. The&#160;JobQueueHandler does this:&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;
JobQueue jobQueue = entry.getValue();
 if (jobQueue.getExecutingEntry() != null) {
&#160; &#160; jobExecuteAttempts.mark();
&#160; &#160; continue;
 }

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So&#160;jobExecuteAttempts is only incremented if the&#160;JobQueue already has an executing entry. I&apos;m unclear as to the reason for this logic and what&#160;jobExecuteAttempts is intended to signify. The test will fail if the JobQueueHandler happens to start and initially runs the above code (when getExecutingEntry() is null) and also the job task is executed and completes &lt;b&gt;before&lt;/b&gt; the isJobAvailable flag is set.&#160;This can be reproduced every time by inserting a sleep before setting isJobAvailable in signalForNextJob.&lt;/p&gt;

&lt;p&gt;As mentioned I don&apos;t really see the purpose of jobExecuteAttempts wrt how it&apos;s implemented nor the purpose of asserting that it&apos;s 1 in the test(s). I think we should remove the call to assertExecuteAttempts(1) since it&apos;s non-deterministic whether or not it will be 1. I&apos;ll push a patch.&lt;/p&gt;</comment>
                            <comment id="65327" author="tpantelis" created="Thu, 11 Oct 2018 23:54:40 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/76915/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/76915/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="65332" author="vorburger" created="Fri, 12 Oct 2018 10:04:22 +0000"  >&lt;p&gt;I&apos;ve merged&#160;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/76915/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;c/76915&lt;/a&gt;&#160;to prevent this from failing &amp;amp; blocking builds, but have a follow-up question:&lt;/p&gt;

&lt;p&gt;If you find that jobExecuteAttempts is basically pointless (becaues unreliable),&#160;how about just removing that counter all together? I mean in the Impl, not just in the test.&lt;/p&gt;

&lt;p&gt;PS: Added &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=k.faseela&quot; class=&quot;user-hover&quot; rel=&quot;k.faseela&quot;&gt;k.faseela&lt;/a&gt;&#160;as Watcher to this issue, Faseela jump in when you are back, or point this out to your internal friends with an intersted in the JobCoordinator.&lt;/p&gt;</comment>
                            <comment id="65337" author="tpantelis" created="Fri, 12 Oct 2018 12:33:26 +0000"  >&lt;p&gt;agreed but first I just wanted to prevent the sporadic failures. I don&apos;t know the history or intent of that metric or if it&apos;s used - let&apos;s see what Faseela et al  say.&lt;/p&gt;</comment>
                            <comment id="65460" author="vorburger" created="Wed, 31 Oct 2018 12:22:48 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=k.faseela&quot; class=&quot;user-hover&quot; rel=&quot;k.faseela&quot;&gt;k.faseela&lt;/a&gt;&#160;given above do you (or any of your friends at E//) have any objections to the complete removal of the&#160;ExecuteAttempts metrics as just proposed via&#160;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/77378/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/77378/&lt;/a&gt; ? &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=tpantelis&quot; class=&quot;user-hover&quot; rel=&quot;tpantelis&quot;&gt;tpantelis&lt;/a&gt; FYI - I&apos;m just trying to wrap up this loose end.&lt;/p&gt;</comment>
                            <comment id="65462" author="faseela.k@ericsson.com" created="Wed, 31 Oct 2018 16:07:42 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=vorburger&quot; class=&quot;user-hover&quot; rel=&quot;vorburger&quot;&gt;vorburger&lt;/a&gt; : I have just circulated an internal email to check this, but won&apos;t it be good to have this metrics, in case some job is stuck?&lt;/p&gt;</comment>
                            <comment id="65463" author="vorburger" created="Wed, 31 Oct 2018 16:29:12 +0000"  >&lt;p&gt;My understanding, based just on reading the comments from &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=tpantelis&quot; class=&quot;user-hover&quot; rel=&quot;tpantelis&quot;&gt;tpantelis&lt;/a&gt; above, is that this particular metric is unreliable / broken, so best removed to avoid confusion.&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|i03jk7:</customfieldvalue>

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