<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:12:23 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-221] &quot;IllegalStateException: MpReachNlri codec not available&quot; when pushing 10k routes or more</title>
                <link>https://jira.opendaylight.org/browse/BGPCEP-221</link>
                <project id="10108" key="BGPCEP">bgpcep</project>
                    <description>&lt;p&gt;A &quot;heisenbug&quot; which occurs about 90% of the time. When pushing large amounts of routes, the BGP dies with this exception being logged for every update. The 90% figure I got reported for a case with 20 routes with linkstate; what I tested is a case with 10k routes without linkstate which hits the bug in 6 cases out of 7 or something like this. The problem seems to be less likely to occur when less routes are being pushed (with the probability approaching zero at around 2000 routes) and much more likely to occur when linkstate gets involved.&lt;/p&gt;

&lt;p&gt;Steps to reproduce:&lt;br/&gt;
1. ODL_ROOT=&amp;lt;where_yourODL_installation_lives&amp;gt;&lt;br/&gt;
2. mkdir -p $ODL_ROOT/etc/opendaylight/karaf.&lt;br/&gt;
3. cp $ODL_ROOT/system/org/opendaylight/bgpcep/bgp-controller-config/*/bgp-controller-config-0.4.0-SNAPSHOT.xml $ODL_ROOT/etc/opendaylight/karaf/41-bgp-example.xml.&lt;br/&gt;
4. Uncomment the deactivated &quot;single BFP peer&quot; section in the just created file ($ODL_ROOT/etc/opendaylight/karaf/41-bgp-example.xml).&lt;br/&gt;
5. Boot ODL.&lt;br/&gt;
6. Install features &quot;odl-restconf&quot;, &quot;odl-bgppcep-bgp-all&quot; and &quot;odl-netconf-connector-all&quot;.&lt;br/&gt;
7. Wait for ODL to fully load (run &quot;top&quot; in another console and wait until CPU usage of the massive Java process stays below 5%).&lt;br/&gt;
8. Get the tool from &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/19603/3/test/tools/fastbgp/play.py&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/19603/3/test/tools/fastbgp/play.py&lt;/a&gt;&lt;br/&gt;
9. python play.py --gencount=10000&lt;/p&gt;

&lt;p&gt;When the bug hits (if it does not, reboot ODL and try again), no routes will make it to RIB nor topology (use curl with the apropriate restconf URL to verify this) and the log file will contain a heavy load of exceptions like this:&lt;/p&gt;

&lt;p&gt;2015-05-11 15:13:10,329 | WARN  | oupCloseable-3-3 | DefaultChannelPipeline           | 149 - io.netty.common - 4.0.26.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;
java.lang.IllegalStateException: MpReachNlri codec not available&lt;br/&gt;
	at com.google.common.base.Preconditions.checkState(Preconditions.java:173)&lt;span class=&quot;error&quot;&gt;&amp;#91;94:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.bgp.rib.impl.RIBSupportContextImpl.serialiazeReachNlri(RIBSupportContextImpl.java:168)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.bgpcep.bgp-rib-impl:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.bgp.rib.impl.RIBSupportContextImpl.writeRoutes(RIBSupportContextImpl.java:133)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.bgpcep.bgp-rib-impl:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.bgp.rib.impl.TableContext.writeRoutes(TableContext.java:49)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.bgpcep.bgp-rib-impl:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.bgp.rib.impl.AdjRibInWriter.updateRoutes(AdjRibInWriter.java:229)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.bgpcep.bgp-rib-impl:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.bgp.rib.impl.BGPPeer.onMessage(BGPPeer.java:120)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.bgpcep.bgp-rib-impl:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.bgp.rib.impl.BGPPeer.onMessage(BGPPeer.java:65)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.bgpcep.bgp-rib-impl:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.bgp.rib.impl.BGPSessionImpl.handleMessage(BGPSessionImpl.java:217)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.bgpcep.bgp-rib-impl:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.bgp.rib.impl.BGPSessionImpl.handleMessage(BGPSessionImpl.java:53)&lt;span class=&quot;error&quot;&gt;&amp;#91;259:org.opendaylight.bgpcep.bgp-rib-impl:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.protocol.framework.AbstractProtocolSession.channelRead0(AbstractProtocolSession.java:53)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:org.opendaylight.controller.protocol-framework:0.6.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)&lt;span class=&quot;error&quot;&gt;&amp;#91;174:io.netty.codec:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)&lt;span class=&quot;error&quot;&gt;&amp;#91;174:io.netty.codec:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847)&lt;span class=&quot;error&quot;&gt;&amp;#91;148:io.netty.transport:4.0.26.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;148:io.netty.transport:4.0.26.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;148:io.netty.transport:4.0.26.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;148:io.netty.transport:4.0.26.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;148:io.netty.transport:4.0.26.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;148:io.netty.transport:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)&lt;span class=&quot;error&quot;&gt;&amp;#91;149:io.netty.common:4.0.26.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;149:io.netty.common:4.0.26.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.lang.Thread.run(Unknown Source)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_67&amp;#93;&lt;/span&gt;&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="23461">BGPCEP-221</key>
            <summary>&quot;IllegalStateException: MpReachNlri codec not available&quot; when pushing 10k routes or more</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="dkutenicsova">Dana Kutenicsova</assignee>
                                    <reporter username="jbehran@cisco.com">Jozef Behran</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 May 2015 14:42:45 +0000</created>
                <updated>Sun, 3 Mar 2019 11:50:25 +0000</updated>
                            <resolved>Wed, 3 Jun 2015 12:19:33 +0000</resolved>
                                    <version>Bugzilla Migration</version>
                                    <fixVersion>Bugzilla Migration 1.0</fixVersion>
                                    <component>BGP</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="44967" author="jbehran@cisco.com" created="Wed, 13 May 2015 08:25:45 +0000"  >&lt;p&gt;Possible fix for this problem, retesting needed:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=commitdiff;h=e240cedc3bf07dfdd0206bab4bab9efce6bd1eec&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/gitweb?p=bgpcep.git;a=commitdiff;h=e240cedc3bf07dfdd0206bab4bab9efce6bd1eec&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44968" author="vrpolak" created="Thu, 14 May 2015 14:28:37 +0000"  >&lt;p&gt;&amp;gt; Possible fix for this problem&lt;/p&gt;

&lt;p&gt;The commit message calls it a workaround: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/20015/1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/20015/1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44969" author="dkutenicsova" created="Mon, 25 May 2015 13:36:18 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/20994&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/20994&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44970" author="dkutenicsova" created="Tue, 26 May 2015 06:40:35 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/21085/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/21085/&lt;/a&gt;&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>3186</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=3186]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10300"><![CDATA[Bug]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10361"><![CDATA[Lithium-RC0]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10312"><![CDATA[High]]></customfieldvalue>

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

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