<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:23:15 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>[NETVIRT-1111] BGP: some log messages have wrong LEVEL (ERROR instead of INFO) </title>
                <link>https://jira.opendaylight.org/browse/NETVIRT-1111</link>
                <project id="10144" key="NETVIRT">netvirt</project>
                    <description>&lt;p&gt;So I execute in ODL shell :&lt;/p&gt;

&lt;p&gt;karaf@root()&amp;gt; bgp-connect -p 7644 -h 127.0.0.1 add &lt;br/&gt;
karaf@root()&amp;gt; 2018-02-21T11:04:42,103 | ERROR | org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.bgp.ConfigServer_AsyncDataTreeChangeListenerBase-DataTreeChangeHandler-0 | BgpRouter | 339 - org.opendaylight.netvirt.bgpmanager-impl - 0.6.0.SNAPSHOT | Trying to connect BGP config server at 127.0.0.1 : 7644&lt;br/&gt;
2018-02-21T11:04:42,105 | ERROR | org.opendaylight.yang.gen.v1.urn.ericsson.params.xml.ns.yang.ebgp.rev150901.bgp.ConfigServer_AsyncDataTreeChangeListenerBase-DataTreeChangeHandler-0 | BgpRouter | 339 - org.opendaylight.netvirt.bgpmanager-impl - 0.6.0.SNAPSHOT | Connected to BGP config server at 127.0.0.1 : 7644&lt;/p&gt;

&lt;p&gt;karaf@root()&amp;gt;&lt;/p&gt;

&lt;p&gt;Connection with quagga was established successfully and in the code snippet of BgpRouter&#160; below we can see, that these messages were emitted, while Try branch was executed. And as opposite, in a catch section instead of ERROR level we can see messages which will be emitted at DEBUG level:&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;

&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;synchronized&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; connect(&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; bgpHost, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; bgpPort) {
&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; msgPiece = &lt;span class=&quot;code-quote&quot;&gt;&quot;BGP config server at &quot;&lt;/span&gt; + bgpHost + &lt;span class=&quot;code-quote&quot;&gt;&quot;:&quot;&lt;/span&gt; + bgpPort;

&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!BgpConfigurationManager.isValidConfigBgpHostPort(bgpHost, bgpPort)) {
LOG.error(&lt;span class=&quot;code-quote&quot;&gt;&quot;Invalid config server host: {}, port: {}&quot;&lt;/span&gt;, bgpHost, bgpPort);
&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
}

&lt;span class=&quot;code-keyword&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; numberOfConnectRetries = 180;
configServerUpdated = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
RetryOnException connectRetry = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; RetryOnException(numberOfConnectRetries);

disconnect();
setConnectTS(&lt;span class=&quot;code-object&quot;&gt;System&lt;/span&gt;.currentTimeMillis());
&lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; {
&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!isBGPEntityOwner.getAsBoolean()) {
LOG.error(&lt;span class=&quot;code-quote&quot;&gt;&quot;Non Entity BGP owner trying to connect to thrift. Returning&quot;&lt;/span&gt;);
isConnected = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
}
&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (configServerUpdated) {
LOG.error(&lt;span class=&quot;code-quote&quot;&gt;&quot;Config server updated &lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; connecting to server {} {}&quot;&lt;/span&gt;, bgpHost, bgpPort);
isConnected = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
}
&lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; {
LOG.error(&lt;span class=&quot;code-quote&quot;&gt;&quot;Trying to connect BGP config server at {} : {}&quot;&lt;/span&gt;, bgpHost, bgpPort);
TSocket ts = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; TSocket(bgpHost, bgpPort, CONNECTION_TIMEOUT);
transport = ts;
transport.open();
ts.setTimeout(THRIFT_TIMEOUT_MILLI);
isConnected = &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;;
setLastConnectedTS(&lt;span class=&quot;code-object&quot;&gt;System&lt;/span&gt;.currentTimeMillis());
LOG.error(&lt;span class=&quot;code-quote&quot;&gt;&quot;Connected to BGP config server at {} : {}&quot;&lt;/span&gt;, bgpHost, bgpPort);
&lt;span class=&quot;code-keyword&quot;&gt;break&lt;/span&gt;;
} &lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; (TTransportException tte) {
LOG.debug(&lt;span class=&quot;code-quote&quot;&gt;&quot;Failed connecting to BGP config server at {} : {}. msg: {}; Exception :&quot;&lt;/span&gt;,
bgpHost, bgpPort, msgPiece, tte);
&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (tte.getCause() &lt;span class=&quot;code-keyword&quot;&gt;instanceof&lt;/span&gt; ConnectException) {
LOG.debug(&lt;span class=&quot;code-quote&quot;&gt;&quot;Connect exception. Failed connecting to BGP config server at {} : {}. &quot;&lt;/span&gt;
+ &lt;span class=&quot;code-quote&quot;&gt;&quot;msg: {}; Exception :&quot;&lt;/span&gt;, bgpHost, bgpPort, msgPiece, tte);
connectRetry.errorOccured();
} &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
&lt;span class=&quot;code-comment&quot;&gt;//In Case of other exceptions we &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; only 3 times
&lt;/span&gt;connectRetry.errorOccured(60);
}
}
} &lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; (connectRetry.shouldRetry());&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;There are a lot of places in bgpmanager, when log messages have such confusing LEVEL&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;
&lt;span class=&quot;code-comment&quot;&gt;// 
&lt;/span&gt;&lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; void reConnect(TTransportException tte) {
Bgp bgpConfig = bgpConfigSupplier.get();
&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (bgpConfig != &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;) {
LOG.error(&lt;span class=&quot;code-quote&quot;&gt;&quot;Received TTransportException, &lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; configuring qthriftd, goind &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; Disconnect/Connect &quot;&lt;/span&gt;
+ &lt;span class=&quot;code-quote&quot;&gt;&quot; Host: {}, Port: {}&quot;&lt;/span&gt;, bgpConfig.getConfigServer().getHost().getValue(),
bgpConfig.getConfigServer().getPort().intValue());
disconnect();
&lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; {
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="29247">NETVIRT-1111</key>
            <summary>BGP: some log messages have wrong LEVEL (ERROR instead of INFO) </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="10003">Cannot Reproduce</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="valentina.krasnobaeva">Valentina Krasnobaeva</reporter>
                        <labels>
                    </labels>
                <created>Wed, 21 Feb 2018 11:18:18 +0000</created>
                <updated>Thu, 4 Oct 2018 03:58:31 +0000</updated>
                            <resolved>Thu, 4 Oct 2018 03:58:31 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                        <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|i03al3:</customfieldvalue>

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