<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:11:06 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>[MDSAL-838] AbstractPingPongTransactionChain is not idempotent</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-838</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;The following is reported during NetconfDeviceTopologyAdapter shutdown:&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;2023-08-31T22:31:51,461 | ERROR | CommitFutures-2  | AbstractFuture                   | 46 - com.google.guava - 32.1.2.jre | RuntimeException while executing runnable CallbackListener{org.opendaylight.mdsal.binding.dom.adapter.BindingDOMTransactionChainAdapter$3@3e776ba1} with executor MoreExecutors.directExecutor()
java.lang.IllegalStateException: Attempted to close an already-closed chain
        at com.google.common.base.Preconditions.checkState(Preconditions.java:512) ~[bundleFile:?]
        at org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain.close(AbstractPingPongTransactionChain.java:389) ~[bundleFile:?]
        at org.opendaylight.mdsal.binding.dom.adapter.BindingDOMTransactionChainAdapter.close(BindingDOMTransactionChainAdapter.java:116) ~[bundleFile:?]
        at org.opendaylight.netconf.topology.spi.NetconfDeviceTopologyAdapter.onTransactionChainFailed(NetconfDeviceTopologyAdapter.java:127) ~[bundleFile:?]
        at org.opendaylight.mdsal.binding.dom.adapter.BindingDOMTransactionChainAdapter.failTransactionChain(BindingDOMTransactionChainAdapter.java:111) ~[bundleFile:?]
        at org.opendaylight.mdsal.binding.dom.adapter.BindingDOMTransactionChainAdapter$3.onFailure(BindingDOMTransactionChainAdapter.java:92) ~[bundleFile:?]
        at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1119) ~[bundleFile:?]
        at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31) ~[bundleFile:?]
        at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1286) ~[bundleFile:?]
        at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:1055) ~[bundleFile:?]
        at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:807) ~[bundleFile:?]
        at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:105) ~[bundleFile:?]
        at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31) ~[bundleFile:?]
        at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1286) ~[bundleFile:?]
        at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:1055) ~[bundleFile:?]
        at com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:807) ~[bundleFile:?]
        at com.google.common.util.concurrent.SettableFuture.setException(SettableFuture.java:55) ~[bundleFile:?]
        at org.opendaylight.mdsal.dom.spi.PingPongTransaction.onFailure(PingPongTransaction.java:56) ~[bundleFile:?]
        at org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain.transactionFailed(AbstractPingPongTransactionChain.java:295) ~[bundleFile:?]
        at org.opendaylight.mdsal.dom.spi.AbstractPingPongTransactionChain$2.onFailure(AbstractPingPongTransactionChain.java:242) ~[bundleFile:?]
        at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1127) ~[bundleFile:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This is part of &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-1146&quot; title=&quot;Operational data of netconf-topology node may not be removed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-1146&quot;&gt;&lt;del&gt;NETCONF-1146&lt;/del&gt;&lt;/a&gt;, i.e. we have shut down the chain, but the last transaction failed to commit, hence the callback, where we do follow the API spec and issue another close().&lt;/p&gt;

&lt;p&gt;Now DOMTransactionChain.close() is supposed to be idempotent to the best of its abilities, as implied by AutoCloseable.close() and the spirit of Registration.close(). Audit AbstractPingPongTransactionChain.close() and make sure it is idempotent.&lt;/p&gt;</description>
                <environment></environment>
        <key id="37310">MDSAL-838</key>
            <summary>AbstractPingPongTransactionChain is not idempotent</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="rovarga">Robert Varga</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                            <label>pt</label>
                    </labels>
                <created>Sun, 3 Sep 2023 10:06:29 +0000</created>
                <updated>Mon, 4 Sep 2023 20:48:42 +0000</updated>
                            <resolved>Mon, 4 Sep 2023 08:06:23 +0000</resolved>
                                    <version>3.0.16</version>
                    <version>4.0.17</version>
                    <version>5.0.17</version>
                    <version>6.0.12</version>
                    <version>7.0.14</version>
                    <version>8.0.16</version>
                    <version>9.0.8</version>
                    <version>10.0.8</version>
                    <version>11.0.12</version>
                    <version>12.0.1</version>
                                    <fixVersion>10.0.9</fixVersion>
                    <fixVersion>11.0.13</fixVersion>
                    <fixVersion>12.0.2</fixVersion>
                                    <component>DOM API</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="37309">NETCONF-1146</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <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|i046dz:</customfieldvalue>

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