<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:08:49 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>[AAA-171] Remove KarafIniWebEnvironmentLoaderListener to avoid deadlock at org.opendaylight.aaa.shiro.web.env.KarafIniWebEnvironment.init() CompletableFuture.get</title>
                <link>https://jira.opendaylight.org/browse/AAA-171</link>
                <project id="10102" key="AAA">aaa</project>
                    <description>&lt;p&gt;Following &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/69415/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/69415/&lt;/a&gt;&#160;(I think), and in development of &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/68767/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/68767/&lt;/a&gt;&#160;Patch Set 5 after having gotten&#160;&lt;a href=&quot;https://jira.opendaylight.org/browse/AAA-170&quot; title=&quot;WebServer service API cannot be injected with @OsgiService annotation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;AAA-170&quot;&gt;AAA-170&lt;/a&gt; out of the way,&#160;the SFT of&#160;odl-neutron-service deadlocks (see attached x3 jstack*.txt) in&#160;org.opendaylight.aaa.shiro.web.env.KarafIniWebEnvironment.init() when waiting for CompletableFuture.get, without any other relevant errors in karaf.log.&lt;/p&gt;

&lt;p&gt;Before anyone (Ryan) jumps in and starts reverting stuff, and because this is only seen in a not yet merged in dev Gerrit in Neutron, we should better understand what is really going on here - because AAA itself does seem to work; I suspect I may have made a mistake in Neutron, but I don&apos;t see which.&lt;/p&gt;</description>
                <environment></environment>
        <key id="29436">AAA-171</key>
            <summary>Remove KarafIniWebEnvironmentLoaderListener to avoid deadlock at org.opendaylight.aaa.shiro.web.env.KarafIniWebEnvironment.init() CompletableFuture.get</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="10001">Won&apos;t Do</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="vorburger">Michael Vorburger</reporter>
                        <labels>
                    </labels>
                <created>Fri, 16 Mar 2018 14:07:23 +0000</created>
                <updated>Mon, 27 Mar 2023 08:35:01 +0000</updated>
                            <resolved>Sat, 4 Mar 2023 10:15:44 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="62053" author="vorburger" created="Wed, 4 Apr 2018 15:29:27 +0000"  >&lt;p&gt;Hit this again in &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/68767/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/68767/&lt;/a&gt;&#160;... it seems that the programmatic use of the @Deprecated &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/warning.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&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;
.addListener(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; KarafIniWebEnvironmentLoaderListener())&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;in a typical &lt;tt&gt;WebInitializer&lt;/tt&gt; kind of class leads to this deadlock in the @Deprecated &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/warning.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; &lt;tt&gt;KarafIniWebEnvironment&lt;/tt&gt;, at least some times; not sure if always.&lt;/p&gt;

&lt;p&gt;This problem gets fixed (doesn&apos;t happen anymore) in &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/69566/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/69566/&lt;/a&gt; (which extends c/68767), because that, via the &lt;tt&gt;WebContextSecurer&lt;/tt&gt; interface and &lt;tt&gt;ShiroWebContextSecurer&lt;/tt&gt; impl, uses the &lt;tt&gt;ShiroWebEnvironmentLoaderListener&lt;/tt&gt; instead of the &lt;tt&gt;KarafIniWebEnvironmentLoaderListener&lt;/tt&gt;, and therefore the &lt;tt&gt;AAAIniWebEnvironment&lt;/tt&gt; instead of the KarafIniWebEnvironment. This &lt;tt&gt;AAAIniWebEnvironment&lt;/tt&gt; does not (have to) use &lt;tt&gt;AAAShiroProvider.INSTANCE_FUTURE.get()&lt;/tt&gt; anymore, which is what&apos;s causing this deadlock.&lt;/p&gt;

&lt;p&gt;To move forward in Neutron for the short-term, I&apos;ve combined c/68767 and c/69566 into&#160;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/70339/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;c/70339&lt;/a&gt; to go directly from web.xml to the new programmatic registration including WebContextSecurer (the 2 split changes where just to illustrate; my goal was always both).&lt;/p&gt;

&lt;p&gt;In the medium term, ideally still for the Fluorine release, we should probably compeltely remove the &lt;tt&gt;KarafIniWebEnvironmentLoaderListener&lt;/tt&gt; and &lt;tt&gt;KarafIniWebEnvironment&lt;/tt&gt; ... once we have switched over all projects requiring AAA from web.xml to the new programmatic registration mechanism.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="14478" name="jstack.txt" size="95427" author="vorburger" created="Fri, 16 Mar 2018 14:06:05 +0000"/>
                            <attachment id="14477" name="jstack2.txt" size="89025" author="vorburger" created="Fri, 16 Mar 2018 14:06:05 +0000"/>
                            <attachment id="14476" name="jstack3.txt" size="89025" author="vorburger" created="Fri, 16 Mar 2018 14:06:05 +0000"/>
                            <attachment id="14479" name="karaf.log" size="314146" author="vorburger" created="Fri, 16 Mar 2018 14:05:58 +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|i03br3:</customfieldvalue>

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