<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:59:52 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>[GENIUS-86] LockManager being deadlocked</title>
                <link>https://jira.opendaylight.org/browse/GENIUS-86</link>
                <project id="10126" key="GENIUS">genius</project>
                    <description>&lt;p&gt;There are chances that the lockManager gets into a state of deadlock when an AskTimeException occurs.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="19867">GENIUS-86</key>
            <summary>LockManager being deadlocked</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="10000">Done</resolution>
                                        <assignee username="KencyKurian">Kency Kurian</assignee>
                                    <reporter username="kencykurian@gmail.com">Kency Kurian</reporter>
                        <labels>
                    </labels>
                <created>Fri, 11 Aug 2017 05:46:02 +0000</created>
                <updated>Tue, 31 Jul 2018 15:36:48 +0000</updated>
                            <resolved>Tue, 31 Jul 2018 15:36:48 +0000</resolved>
                                    <version>Nitrogen</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="35986" author="shague@redhat.com" created="Sat, 19 Aug 2017 19:50:12 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/61977&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/61977&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="59892" author="faseela.k@ericsson.com" created="Thu, 2 Nov 2017 14:59:01 +0000"  >&lt;p&gt;The patch is in merge conflict. Can we incorporate Michael&apos;s review comments or discuss on what is missing?&lt;/p&gt;</comment>
                            <comment id="59955" author="vorburger" created="Mon, 6 Nov 2017 23:48:52 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=kencykurian%40gmail.com&quot; class=&quot;user-hover&quot; rel=&quot;kencykurian@gmail.com&quot;&gt;kencykurian@gmail.com&lt;/a&gt; is this reproducible? Do you have logs showing those AskTimeException?&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/65233/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/65233/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="59959" author="kencykurian" created="Tue, 7 Nov 2017 06:57:12 +0000"  >&lt;p&gt;Hi Michael,&lt;/p&gt;

&lt;p&gt;I am not able to find the logs for the same. But I had send a mail to controller dev with just the exception message, pasting it here:&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;TransactionCommitFailedException{message=canCommit encountered an unexpected failure, errorList=[RpcError [message=canCommit encountered an unexpected failure, severity=ERROR, errorType=APPLICATION, tag=operation-failed, applicationTag=null, info=null, cause=akka.pattern.AskTimeoutException: Ask timed out on [ActorSelection[Anchor(akka.tcp://opendaylight-cluster-data@192.168.123.3:2550/), Path(/user/shardmanager-operational/192.168.123.3-shard-default-operational/shard-192.168.123.4:datastore-operational@1:790#1851512584)]] after [30000 ms]. Sender[null] sent message of type &quot;org.opendaylight.controller.cluster.datastore.messages.BatchedModifications&quot;.]]}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;But eventually the transaction got successful, but because of retries, on reading the DS, lockmanager thinks it got locked by some other thread but it was actually the same thread which eventually got successful. In order to avoid these situations we have introduced the owner field.&lt;/p&gt;</comment>
                            <comment id="59964" author="vorburger" created="Tue, 7 Nov 2017 12:58:31 +0000"  >&lt;p&gt;IMHO the TransactionCommitFailedException caused by AskTimeoutException after 30s of cluster issues should not be handled by application (genius lockmanager) code, and not lead to retries but fails - contrary to the OptimisticLockFailedException. In c/65233 it will do just that (whereas in c/61526 you retry for any failure). &lt;/p&gt;

&lt;p&gt;IMHO If we need to handle cluster issues longer than 30s than perhaps we need to bump some timeout somewhere there, not retry from application code.&lt;/p&gt;

&lt;p&gt;The lockmanager should still never deadlock though of course, so if your change fixes that, then I&apos;m all for that part!&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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8975</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=8975]]></customfieldvalue>

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

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