<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:13:50 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>[BGPCEP-686] PCEP session not recoverable when exception happens</title>
                <link>https://jira.opendaylight.org/browse/BGPCEP-686</link>
                <project id="10108" key="BGPCEP">bgpcep</project>
                    <description>&lt;p&gt;Right now PCEP session is not recoverable once there is an exception happening during the session negotiation stage.&lt;/p&gt;

&lt;p&gt;The following exception is observed when an failure in netty happens.&lt;/p&gt;

&lt;p&gt;2017-08-28 12:08:47,890 | WARN  | upCloseable-2-12 | DefaultChannelPipeline           | 100 - io.netty.common - 4.0.33.Final | An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.&lt;br/&gt;
io.netty.channel.ChannelPipelineException: org.opendaylight.protocol.pcep.impl.PCEPSessionImpl.handlerAdded() has thrown an exception; removed.&lt;br/&gt;
	at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:500)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.DefaultChannelPipeline.callHandlerAdded(DefaultChannelPipeline.java:482)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.DefaultChannelPipeline.replace0(DefaultChannelPipeline.java:455)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.DefaultChannelPipeline.replace(DefaultChannelPipeline.java:405)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.DefaultChannelPipeline.replace(DefaultChannelPipeline.java:372)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.pcep.impl.AbstractSessionNegotiator.negotiationSuccessful(AbstractSessionNegotiator.java:35)&lt;span class=&quot;error&quot;&gt;&amp;#91;208:org.opendaylight.bgpcep.pcep-impl:0.5.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.pcep.impl.AbstractPCEPSessionNegotiator.handleMessageKeepAlive(AbstractPCEPSessionNegotiator.java:227)&lt;span class=&quot;error&quot;&gt;&amp;#91;208:org.opendaylight.bgpcep.pcep-impl:0.5.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.pcep.impl.AbstractPCEPSessionNegotiator.handleMessageKeepWait(AbstractPCEPSessionNegotiator.java:216)&lt;span class=&quot;error&quot;&gt;&amp;#91;208:org.opendaylight.bgpcep.pcep-impl:0.5.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.pcep.impl.AbstractPCEPSessionNegotiator.handleMessage(AbstractPCEPSessionNegotiator.java:344)&lt;span class=&quot;error&quot;&gt;&amp;#91;208:org.opendaylight.bgpcep.pcep-impl:0.5.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.pcep.impl.AbstractSessionNegotiator.channelRead(AbstractSessionNegotiator.java:78)&lt;span class=&quot;error&quot;&gt;&amp;#91;208:org.opendaylight.bgpcep.pcep-impl:0.5.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:276)&lt;span class=&quot;error&quot;&gt;&amp;#91;102:io.netty.codec:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:263)&lt;span class=&quot;error&quot;&gt;&amp;#91;102:io.netty.codec:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:276)&lt;span class=&quot;error&quot;&gt;&amp;#91;102:io.netty.codec:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:354)&lt;span class=&quot;error&quot;&gt;&amp;#91;102:io.netty.codec:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:244)&lt;span class=&quot;error&quot;&gt;&amp;#91;102:io.netty.codec:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)&lt;span class=&quot;error&quot;&gt;&amp;#91;100:io.netty.common:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)&lt;span class=&quot;error&quot;&gt;&amp;#91;100:io.netty.common:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.lang.Thread.run(Thread.java:745)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_76&amp;#93;&lt;/span&gt;&lt;br/&gt;
Caused by: java.lang.IllegalStateException: Could not register runtime bean in ModuleIdentifier&lt;/p&gt;
{factoryName=&apos;pcep-topology-provider&apos;, instanceName=&apos;pcep-topology&apos;}
&lt;p&gt; under name org.opendaylight.controller:ListenerState=12.122.8.10,instanceName=pcep-topology,type=RuntimeBean,moduleFactoryName=pcep-topology-provider&lt;br/&gt;
	at org.opendaylight.controller.config.manager.impl.jmx.RootRuntimeBeanRegistratorImpl.sanitize(RootRuntimeBeanRegistratorImpl.java:53)&lt;span class=&quot;error&quot;&gt;&amp;#91;90:org.opendaylight.controller.config-manager:0.4.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.config.manager.impl.jmx.HierarchicalRuntimeBeanRegistrationImpl.register(HierarchicalRuntimeBeanRegistrationImpl.java:53)&lt;span class=&quot;error&quot;&gt;&amp;#91;90:org.opendaylight.controller.config-manager:0.4.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.config.manager.impl.jmx.HierarchicalRuntimeBeanRegistrationImpl.register(HierarchicalRuntimeBeanRegistrationImpl.java:19)&lt;span class=&quot;error&quot;&gt;&amp;#91;90:org.opendaylight.controller.config-manager:0.4.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.config.yang.pcep.topology.provider.PCEPTopologyProviderRuntimeRegistration.register(PCEPTopologyProviderRuntimeRegistration.java:10)&lt;span class=&quot;error&quot;&gt;&amp;#91;221:org.opendaylight.bgpcep.pcep-topology-provider:0.5.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.bgpcep.pcep.topology.provider.AbstractTopologySessionListener.register(AbstractTopologySessionListener.java:366)&lt;span class=&quot;error&quot;&gt;&amp;#91;221:org.opendaylight.bgpcep.pcep-topology-provider:0.5.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.bgpcep.pcep.topology.provider.AbstractTopologySessionListener.onSessionUp(AbstractTopologySessionListener.java:185)&lt;span class=&quot;error&quot;&gt;&amp;#91;221:org.opendaylight.bgpcep.pcep-topology-provider:0.5.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.pcep.impl.PCEPSessionImpl.sessionUp(PCEPSessionImpl.java:373)&lt;span class=&quot;error&quot;&gt;&amp;#91;208:org.opendaylight.bgpcep.pcep-impl:0.5.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.pcep.impl.PCEPSessionImpl.handlerAdded(PCEPSessionImpl.java:426)&lt;span class=&quot;error&quot;&gt;&amp;#91;208:org.opendaylight.bgpcep.pcep-impl:0.5.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:487)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	... 29 more&lt;br/&gt;
Caused by: javax.management.InstanceAlreadyExistsException: org.opendaylight.controller:ListenerState=12.122.8.10,instanceName=pcep-topology,type=RuntimeBean,moduleFactoryName=pcep-topology-provider&lt;br/&gt;
	at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_76&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_76&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_76&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_76&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_76&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_76&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.config.manager.impl.jmx.InternalJMXRegistrator.registerMBean(InternalJMXRegistrator.java:77)&lt;span class=&quot;error&quot;&gt;&amp;#91;90:org.opendaylight.controller.config-manager:0.4.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.config.manager.impl.jmx.HierarchicalRuntimeBeanRegistrationImpl.register(HierarchicalRuntimeBeanRegistrationImpl.java:51)&lt;span class=&quot;error&quot;&gt;&amp;#91;90:org.opendaylight.controller.config-manager:0.4.2.Beryllium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	... 36 more&lt;/p&gt;



&lt;p&gt;User was having some resource issue when the ODL instance is running.  &quot;Too many open files&quot; error happens to netty socket.  However, after user fixed the resource issue, some PCEP session hangs there and cannot recover.  It is due to the when the exception happens, PCEP topology for that particular session is already created, but not removed after the exception happens.  Thus when the next PCEP session retry comes, PCEP topology fails to be recreated, so PCEP session cannot be restored.&lt;/p&gt;

&lt;p&gt;Bottom line is, we should capture any exception happening in handlerAdded(..), then close the PCEP session properly, so later it can recover.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="23926">BGPCEP-686</key>
            <summary>PCEP session not recoverable when exception happens</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <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="kevinxw">Kevin Wang</assignee>
                                    <reporter username="kevinxw">Kevin Wang</reporter>
                        <labels>
                    </labels>
                <created>Wed, 30 Aug 2017 22:15:20 +0000</created>
                <updated>Sun, 3 Mar 2019 11:50:05 +0000</updated>
                            <resolved>Mon, 2 Jul 2018 06:09:39 +0000</resolved>
                                    <version>Bugzilla Migration</version>
                                    <fixVersion>Oxygen</fixVersion>
                                    <component>PCEP</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="46276" author="kevixw@gmail.com" created="Wed, 30 Aug 2017 22:15:20 +0000"  >&lt;p&gt;Attachment karaf.log.zip has been added with description: karaf log&lt;/p&gt;</comment>
                            <comment id="46275" author="kevixw@gmail.com" created="Wed, 30 Aug 2017 23:11:22 +0000"  >&lt;p&gt;Please review the changes:&lt;/p&gt;

&lt;p&gt;master: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/62472/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/62472/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="59768" author="cdgasparini" created="Tue, 24 Oct 2017 14:44:55 +0000"  >&lt;p&gt;master / nitrogen / carbon &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/q/topic:BUG-9079&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/q/topic:BUG-9079&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13243" name="karaf.log.zip" size="246170" author="kevinxw" created="Wed, 30 Aug 2017 22:15:20 +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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9079</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=9079]]></customfieldvalue>

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

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