<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:32:55 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>[OPNFLWPLUG-605] He: Failed to issue flow stats; get-flow-statistics-from-flow-table</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-605</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;What I used&lt;br/&gt;
-----------&lt;/p&gt;

&lt;p&gt;Source code: stable/beryllium of 01/25/2016&lt;br/&gt;
OpenFlow version: OF10&lt;br/&gt;
Target OFP: OpenFlow plugin Helium version&lt;br/&gt;
Application: VTN Manager (&quot;odl-vtn-manager-rest&quot; feature)&lt;br/&gt;
Failed RPC: get-flow-statistics-from-flow-table&lt;/p&gt;


&lt;p&gt;What I happened&lt;br/&gt;
---------------&lt;/p&gt;


&lt;p&gt;Just after the OpenFlow plugin got connected with an OpenFlow 1.0 switch, VTN Manager called the RPC &quot;get-flow-statistics-from-flow-table&quot; to get all flow entries in a flow table of the switch.&lt;br/&gt;
However, the RPC failed, because the RPC was not registered yet.&lt;/p&gt;

&lt;p&gt;2016-01-25 15:24:00,423 | ERROR | er Task Thread-0 | StatsReaderService               | 178 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | get-flow-stats: Caught an exception: canceled=false, input=GetFlowStatisticsFromFlowTableInput [_cookie=FlowCookie &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=9175521290813964288&amp;#93;&lt;/span&gt;, _cookieMask=FlowCookie &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=18446462598732840960&amp;#93;&lt;/span&gt;, _node=NodeRef [_value=KeyedInstanceIdentifier&lt;/p&gt;
{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:2]]]]}
&lt;p&gt;], _tableId=0, augmentation=[]]&lt;br/&gt;
java.util.concurrent.ExecutionException: org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementationNotAvailableException: No local or remote implementation available for rpc AbsoluteSchemaPath&lt;/p&gt;
{path=[(urn:opendaylight:flow:statistics?revision=2013-08-19)get-flow-statistics-from-flow-table]}
&lt;p&gt;	at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)&lt;span class=&quot;error&quot;&gt;&amp;#91;54:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;2016-01-25 15:24:00,424 | ERROR | er Task Thread-0 | StatsReaderService               | 178 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | Failed to issue flow stats RPC: get-flow-stats&lt;br/&gt;
org.opendaylight.vtn.manager.VTNException: No local or remote implementation available for rpc AbsoluteSchemaPath&lt;/p&gt;
{path=[(urn:opendaylight:flow:statistics?revision=2013-08-19)get-flow-statistics-from-flow-table]}
&lt;p&gt;	at org.opendaylight.vtn.manager.internal.util.concurrent.AbstractVTNFuture.getException(AbstractVTNFuture.java:75)&lt;span class=&quot;error&quot;&gt;&amp;#91;178:org.opendaylight.vtn.manager.implementation:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.vtn.manager.internal.util.rpc.RpcInvocation.getResult(RpcInvocation.java:89)&lt;span class=&quot;error&quot;&gt;&amp;#91;178:org.opendaylight.vtn.manager.implementation:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;]&lt;/p&gt;


&lt;p&gt;The issue happened in the CSIT for VTN project.&lt;br/&gt;
&lt;a href=&quot;https://jenkins.opendaylight.org/releng/view/vtn/job/vtn-csit-1node-manager-only-beryllium/75/artifact/karaf.log&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/releng/view/vtn/job/vtn-csit-1node-manager-only-beryllium/75/artifact/karaf.log&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The issue does not happen always.&lt;br/&gt;
It occurred in the build 75 of the vtn-csit-1node-manager-only-beryllium, but it didn&apos;t occurr in hte build 73, 74, and 76.&lt;br/&gt;
&lt;a href=&quot;https://jenkins.opendaylight.org/releng/view/vtn/job/vtn-csit-1node-manager-only-beryllium/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/releng/view/vtn/job/vtn-csit-1node-manager-only-beryllium/&lt;/a&gt;&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="27873">OPNFLWPLUG-605</key>
            <summary>He: Failed to issue flow stats; get-flow-statistics-from-flow-table</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="10001">Won&apos;t Do</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="Hideyuki1985">Hideyuki Tai</reporter>
                        <labels>
                    </labels>
                <created>Mon, 25 Jan 2016 22:28:33 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:42 +0000</updated>
                            <resolved>Tue, 12 Dec 2017 01:03:57 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="57535" author="hideyuki.tai@necam.com" created="Mon, 25 Jan 2016 22:44:51 +0000"  >&lt;p&gt;After VTN Manager failed to issue flow stats RPC, following operations like installing flow entries on the switch worked well.&lt;/p&gt;

&lt;p&gt;Therefore, we are thinking that the OpenFlow plugin sent a notification of the node addition on which VTN Manager called the RPC, before the OpenFlow plugin completed to register the RPC.&lt;/p&gt;</comment>
                            <comment id="57536" author="vishnoianil@gmail.com" created="Tue, 26 Jan 2016 04:55:46 +0000"  >&lt;p&gt;Hi Hideyuki,&lt;/p&gt;

&lt;p&gt;Can you try with this patch and see if it fixes your issue.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/33529/3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/33529/3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks&lt;br/&gt;
Anil&lt;/p&gt;</comment>
                            <comment id="57537" author="hideyuki.tai@necam.com" created="Wed, 27 Jan 2016 02:37:14 +0000"  >&lt;p&gt;(In reply to Anil Vishnoi from comment #2)&lt;br/&gt;
&amp;gt; Hi Hideyuki,&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Can you try with this patch and see if it fixes your issue.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/33529/3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/33529/3&lt;/a&gt;&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Thanks&lt;br/&gt;
&amp;gt; Anil&lt;/p&gt;

&lt;p&gt;Hi Anil,&lt;/p&gt;

&lt;p&gt;Thank you for checking the issue, and creating the patch.&lt;br/&gt;
However, even with your patch, the issues still happens.&lt;/p&gt;


&lt;p&gt;When I repeatedly started up and shutdown the Mininet, I can observed the issue.&lt;br/&gt;
It occurs rarely though.&lt;/p&gt;


&lt;p&gt;2016-01-26 11:54:20,002 | INFO  | entLoopGroup-9-2 | ConnectionAdapterImpl            | 159 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.7.0.SNAPSHOT | Hello received / branch&lt;br/&gt;
2016-01-26 11:54:20,005 | INFO  | entLoopGroup-9-2 | OfEntityManager                  | 162 - org.opendaylight.openflowplugin - 0.2.0.SNAPSHOT | requestOpenflowEntityOwnership: Registered controller for the ownership of Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:1&amp;#93;&lt;/span&gt;&lt;br/&gt;
2016-01-26 11:54:20,006 | INFO  | ofEntity-0       | RolePushTask                     | 162 - org.opendaylight.openflowplugin - 0.2.0.SNAPSHOT | OpenFlow 1.0 devices don&apos;t support multi controller features, skipping role push.&lt;br/&gt;
2016-01-26 11:54:20,006 | INFO  | ult-dispatcher-2 | OfEntityManager                  | 162 - org.opendaylight.openflowplugin - 0.2.0.SNAPSHOT | onDeviceOwnershipChanged: Set controller as a MASTER controller because it&apos;s the OWNER of the Entity{type=&apos;openflow&apos;, id=/(urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:general-entity?revision=2015-08-20)entity/entity[&lt;/p&gt;
{(urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:general-entity?revision=2015-08-20)name=openflow:1}
&lt;p&gt;]}&lt;br/&gt;
2016-01-26 11:54:20,009 | INFO  | lt-dispatcher-21 | VTNInventoryManager              | 175 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | Node has been created: id=openflow:1, proto=OF10&lt;br/&gt;
2016-01-26 11:54:20,009 | INFO  | lt-dispatcher-21 | VTNInventoryManager              | 175 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | Port has been created: &lt;/p&gt;
{id=openflow:1:1, name=s1-eth1, enabled=true, cost=1000, links=none}
&lt;p&gt;2016-01-26 11:54:20,009 | INFO  | lt-dispatcher-21 | VTNInventoryManager              | 175 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | Port has been created: &lt;/p&gt;
{id=openflow:1:2, name=s1-eth2, enabled=true, cost=1000, links=none}
&lt;p&gt;2016-01-26 11:54:20,011 | INFO  | ult-dispatcher-2 | OfEntityManager                  | 162 - org.opendaylight.openflowplugin - 0.2.0.SNAPSHOT | registerRoutedRPCForSwitch: Registered routed rpc for ModelDrivenSwitch openflow:1&lt;br/&gt;
2016-01-26 11:54:20,011 | INFO  | ofEntity-0       | RolePushTask                     | 162 - org.opendaylight.openflowplugin - 0.2.0.SNAPSHOT | OpenFlow 1.0 devices don&apos;t support multi controller features, skipping role push.&lt;br/&gt;
2016-01-26 11:54:20,013 | INFO  | ofEntity-0       | OfEntityManager                  | 162 - org.opendaylight.openflowplugin - 0.2.0.SNAPSHOT | onDeviceOwnershipChanged: Controller is successfully set as a MASTER controller for 1&lt;br/&gt;
2016-01-26 11:54:20,013 | INFO  | ofEntity-0       | OfEntityManager                  | 162 - org.opendaylight.openflowplugin - 0.2.0.SNAPSHOT | sendNodeAddedNotification: Node Added notification is sent for ModelDrivenSwitch openflow:1&lt;br/&gt;
2016-01-26 11:54:20,010 | ERROR | er Task Thread-0 | StatsReaderService               | 175 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | get-flow-stats: Caught an exception: canceled=false, input=GetFlowStatisticsFromFlowTableInput [_cookie=FlowCookie &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=9175521290813964288&amp;#93;&lt;/span&gt;, _cookieMask=FlowCookie &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=18446462598732840960&amp;#93;&lt;/span&gt;, _node=NodeRef [_value=KeyedInstanceIdentifier&lt;/p&gt;
{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:1]]]]}
&lt;p&gt;], _tableId=0, augmentation=[]]&lt;br/&gt;
java.util.concurrent.ExecutionException: org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementationNotAvailableException: No local or remote implementation available for rpc AbsoluteSchemaPath&lt;/p&gt;
{path=[(urn:opendaylight:flow:statistics?revision=2013-08-19)get-flow-statistics-from-flow-table]}

&lt;p&gt;(snip)&lt;/p&gt;

&lt;p&gt;2016-01-26 11:54:20,013 | ERROR | er Task Thread-0 | StatsReaderService               | 175 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | Failed to issue flow stats RPC: get-flow-stats&lt;br/&gt;
org.opendaylight.vtn.manager.VTNException: No local or remote implementation available for rpc AbsoluteSchemaPath&lt;/p&gt;
{path=[(urn:opendaylight:flow:statistics?revision=2013-08-19)get-flow-statistics-from-flow-table]}


&lt;p&gt;Please note that VTN Manager calls the RPC for a node, after the VTN Manager gets the notification of the addition the node.&lt;/p&gt;</comment>
                            <comment id="57545" author="hideyuki.tai@necam.com" created="Wed, 27 Jan 2016 02:38:43 +0000"  >&lt;p&gt;Attachment karaf.log has been added with description: Karaf log file on a failure case&lt;/p&gt;</comment>
                            <comment id="57538" author="hideyuki.tai@necam.com" created="Fri, 29 Jan 2016 22:12:41 +0000"  >&lt;p&gt;The following patch was merged for the bug.&lt;br/&gt;
&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/33534/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/33534/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will test the latest artifacts of the stable/beryllium branch to see if the patch fixes the bug or not.&lt;/p&gt;</comment>
                            <comment id="57539" author="hideyuki.tai@necam.com" created="Fri, 29 Jan 2016 22:34:56 +0000"  >&lt;p&gt;Even after the following patch is applied, the same issue still happens.&lt;br/&gt;
&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/33534/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/33534/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I observed that the issue occurred in the CSIT job for Beryllium on Jan 29.&lt;br/&gt;
&lt;a href=&quot;https://jenkins.opendaylight.org/releng/view/vtn/job/vtn-csit-1node-manager-only-beryllium/97/artifact/karaf.log&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/releng/view/vtn/job/vtn-csit-1node-manager-only-beryllium/97/artifact/karaf.log&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also, when I tested the Beryllium RC1, I faced the same issue.&lt;/p&gt;</comment>
                            <comment id="57540" author="vishnoianil@gmail.com" created="Fri, 29 Jan 2016 23:17:16 +0000"  >&lt;p&gt;Hi Hideyuki,&lt;/p&gt;

&lt;p&gt;Looks like you are sending your rpc request before openflowplugin publishes the nodeAdded event. Looking at the log, it looks like VTN create the bridge and once it&apos;s done with creating the bridge it sends the stats request to get the stats, but it does not really check the in inventory data store to make sure that the node (in this case openflow:2) is added by openflowplugin or not. Before the clustering implementation, openflowplugin was not setting any role for the switch, but with clustering implementation, it first set the role and it role setting is successful, it notifies application about the node addition. So i think if you put check in your code to see if the node is in inventory or not, that will solve the issue.&lt;/p&gt;</comment>
                            <comment id="57541" author="hideyuki.tai@necam.com" created="Mon, 1 Feb 2016 04:30:57 +0000"  >&lt;p&gt;(In reply to Anil Vishnoi from comment #7)&lt;br/&gt;
&amp;gt; Hi Hideyuki,&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Looks like you are sending your rpc request before openflowplugin publishes&lt;br/&gt;
&amp;gt; the nodeAdded event. Looking at the log, it looks like VTN create the bridge&lt;br/&gt;
&amp;gt; and once it&apos;s done with creating the bridge it sends the stats request to&lt;br/&gt;
&amp;gt; get the stats, but it does not really check the in inventory data store to&lt;br/&gt;
&amp;gt; make sure that the node (in this case openflow:2) is added by openflowplugin&lt;br/&gt;
&amp;gt; or not. Before the clustering implementation, openflowplugin was not setting&lt;br/&gt;
&amp;gt; any role for the switch, but with clustering implementation, it first set&lt;br/&gt;
&amp;gt; the role and it role setting is successful, it notifies application about&lt;br/&gt;
&amp;gt; the node addition. So i think if you put check in your code to see if the&lt;br/&gt;
&amp;gt; node is in inventory or not, that will solve the issue.&lt;/p&gt;

&lt;p&gt;Hi Anil,&lt;/p&gt;

&lt;p&gt;Could you tell me when the OFP-He write a new node data (OpenFlow switch) into the MD-SAL data store?&lt;br/&gt;
Is it before the OFP-He registers its RPC for the node?&lt;/p&gt;


&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;Longer version of this question&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;I think I slightly misunderstood the behavior of the VTN features and OpenFlow Plugin Helium design.&lt;/p&gt;

&lt;p&gt;Could you check if the current my understanding of the OFP-He is correct?&lt;br/&gt;
I think the OFP-He works as follows when it detects a new session with an OpenFlow switch.&lt;/p&gt;

&lt;p&gt;Step 1. OFP-He detects a new session with an OpenFlow switch.&lt;br/&gt;
Step 2. OFP-He writes the new node information into the MD-SAL data store.&lt;br/&gt;
Step 3. OFP-He decides the roll of the controller for the switch.&lt;br/&gt;
Step 4. OFP-He registers its RPC for the switch.&lt;br/&gt;
Step 5. OFP-He sends notifications for the event of the addition of the switch. (In the sendNodeAddedNotification method of the OfEntityManager class.)&lt;/p&gt;

&lt;p&gt;Is the above my understanding correct?&lt;br/&gt;
Does the OFP-He write the new node information into the MD-SAL data store (Step 2) before the step 4?&lt;/p&gt;

&lt;p&gt;The VTN feature registers its DataChangeListener for the opendaylight-inventory.&lt;br/&gt;
So the VTN would receive the notification of the data change of the opendaylight-inventory.&lt;br/&gt;
And, when the VTN receive the notification of the node addition in the opendaylight-inventory (which, I think, caused by the step 2), it calls the &quot;get-flow-stat...&quot; RPC for the switch.&lt;br/&gt;
If my understanding is correct, it would make sense that the VTN feature would call the RPC before the step 4 occasionally.&lt;/p&gt;</comment>
                            <comment id="57542" author="hideyuki.tai@necam.com" created="Tue, 2 Feb 2016 21:45:36 +0000"  >&lt;p&gt;I had a conversation about the bug with Anil.&lt;/p&gt;

&lt;p&gt;The information what I got from his is as follows:&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;This is what happens&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; 1) openflowplugin get connection request&lt;br/&gt;
 2) it decides controllers role for the device &lt;br/&gt;
 3) it register for the rpc&lt;br/&gt;
 4) it sends role change request to the device&lt;br/&gt;
 5) If role change is successful, it sends the sendNodeAddedNotification to the application&lt;br/&gt;
 6) Application receives the nodeAdded notifications (inventory manager) writes node details to the data store&lt;br/&gt;
 7) and then application gets the data change notification about the new node added&lt;/p&gt;</comment>
                            <comment id="57546" author="hideyuki.tai@necam.com" created="Tue, 2 Feb 2016 23:29:45 +0000"  >&lt;p&gt;Attachment karaf.log.1 has been added with description: Logs on the issue in which DEBUG logs for the inventory-manager was enabled&lt;/p&gt;</comment>
                            <comment id="57543" author="hideyuki.tai@necam.com" created="Tue, 2 Feb 2016 23:29:56 +0000"  >&lt;p&gt;Here is one additional observation from my side.&lt;/p&gt;

&lt;p&gt;I enabled DEBUG logs of &quot;org.opendaylight.openflowplugin.applications.inventory.manager&quot;, and reproduced the problem.&lt;/p&gt;

&lt;p&gt;I&apos;ve found out that the inventory-manager received the &quot;Node connector updated&quot; notification right after the OFP-He registered controller for the ownership for the switch.&lt;br/&gt;
That was before the OFP-He registered its RPC for the switch.&lt;/p&gt;

&lt;p&gt;Following that &quot;Node connector updated&quot; notification in the inventory-manager, the VTN feature recived the notification of data changes on the opendaylight-inventory, and the VTN feature called the &quot;get-stats-...&quot; RPC for the switch.&lt;/p&gt;

&lt;p&gt;Though the inventory-manager received the &quot;Node updated&quot; notification after the OFP-He registered its RPC for the switch.&lt;/p&gt;


&lt;p&gt;2016-02-02 08:23:44,173 | INFO  | entLoopGroup-9-4 | ConnectionAdapterImpl            | 162 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.7.0.SNAPSHOT | Hello received / branch&lt;br/&gt;
2016-02-02 08:23:44,174 | INFO  | entLoopGroup-9-4 | OfEntityManager                  | 165 - org.opendaylight.openflowplugin - 0.2.0.SNAPSHOT | requestOpenflowEntityOwnership: Registered controller for the ownership of Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:2&amp;#93;&lt;/span&gt;&lt;br/&gt;
2016-02-02 08:23:44,175 | DEBUG | pool-28-thread-1 | NodeChangeCommiter               | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | Node connector updated notification received.&lt;br/&gt;
2016-02-02 08:23:44,175 | DEBUG | pool-28-thread-1 | NodeChangeCommiter               | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | Node connector updated notification received.&lt;br/&gt;
2016-02-02 08:23:44,175 | DEBUG | pool-28-thread-1 | NodeChangeCommiter               | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | Node connector updated notification received.&lt;br/&gt;
2016-02-02 08:23:44,175 | DEBUG | pool-28-thread-1 | NodeChangeCommiter               | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | Node connector updated notification received.&lt;br/&gt;
2016-02-02 08:23:44,175 | DEBUG | nventoryProvider | NodeChangeCommiter               | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | updating node connector : KeyedInstanceIdentifier&lt;/p&gt;
{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:2]]], org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector[key=NodeConnectorKey [_id=Uri [_value=openflow:2:3]]]]}
&lt;p&gt;.&lt;br/&gt;
2016-02-02 08:23:44,175 | DEBUG | nventoryProvider | NodeChangeCommiter               | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | updating node connector : KeyedInstanceIdentifier&lt;/p&gt;
{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:2]]], org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector[key=NodeConnectorKey [_id=Uri [_value=openflow:2:1]]]]}
&lt;p&gt;.&lt;br/&gt;
2016-02-02 08:23:44,175 | DEBUG | nventoryProvider | NodeChangeCommiter               | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | updating node connector : KeyedInstanceIdentifier&lt;/p&gt;
{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:2]]], org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector[key=NodeConnectorKey [_id=Uri [_value=openflow:2:2]]]]}
&lt;p&gt;.&lt;br/&gt;
2016-02-02 08:23:44,175 | DEBUG | nventoryProvider | NodeChangeCommiter               | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | updating node connector : KeyedInstanceIdentifier&lt;/p&gt;
{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:2]]], org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector[key=NodeConnectorKey [_id=Uri [_value=openflow:2:LOCAL]]]]}
&lt;p&gt;.&lt;br/&gt;
2016-02-02 08:23:44,175 | INFO  | lt-dispatcher-26 | OfEntityManager                  | 165 - org.opendaylight.openflowplugin - 0.2.0.SNAPSHOT | onDeviceOwnershipChanged: Set controller as a MASTER controller because it&apos;s the OWNER of the Entity{type=&apos;openflow&apos;, id=/(urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:general-entity?revision=2015-08-20)entity/entity[&lt;/p&gt;
{(urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:general-entity?revision=2015-08-20)name=openflow:2}
&lt;p&gt;]}&lt;br/&gt;
2016-02-02 08:23:44,175 | DEBUG | nventoryProvider | FlowCapableInventoryProvider     | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | Processed 4 operations, submitting transaction DOM-CHAIN-2-1544&lt;br/&gt;
2016-02-02 08:23:44,178 | INFO  | ult-dispatcher-3 | VTNInventoryManager              | 178 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | Node has been created: id=openflow:2, proto=OF10&lt;br/&gt;
2016-02-02 08:23:44,178 | TRACE | ult-dispatcher-3 | VTNInventoryManager              | 178 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | Delivering node event: id=openflow:2, type=CREATED&lt;br/&gt;
2016-02-02 08:23:44,178 | INFO  | ult-dispatcher-3 | VTNInventoryManager              | 178 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | Port has been created: &lt;/p&gt;
{id=openflow:2:3, name=s2-eth2, enabled=true, cost=1000, links=none}
&lt;p&gt;2016-02-02 08:23:44,178 | TRACE | ult-dispatcher-3 | VTNInventoryManager              | 178 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | Delivering port event: id=openflow:2:3, type=CREATED&lt;/p&gt;

&lt;p&gt;(snip)&lt;/p&gt;

&lt;p&gt;2016-02-02 08:23:44,179 | ERROR | er Task Thread-0 | StatsReaderService               | 178 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | get-flow-stats: Caught an exception: canceled=false, input=GetFlowStatisticsFromFlowTableInput [_cookie=FlowCookie &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=9175521290813964288&amp;#93;&lt;/span&gt;, _cookieMask=FlowCookie &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=18446462598732840960&amp;#93;&lt;/span&gt;, _node=NodeRef [_value=KeyedInstanceIdentifier&lt;/p&gt;
{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:2]]]]}
&lt;p&gt;], _tableId=0, augmentation=[]]&lt;br/&gt;
java.util.concurrent.ExecutionException: org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementationNotAvailableException: No local or remote implementation available for rpc AbsoluteSchemaPath&lt;/p&gt;
{path=[(urn:opendaylight:flow:statistics?revision=2013-08-19)get-flow-statistics-from-flow-table]}

&lt;p&gt;(snip)&lt;/p&gt;

&lt;p&gt;2016-02-02 08:23:44,180 | ERROR | er Task Thread-0 | StatsReaderService               | 178 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | Failed to issue flow stats RPC: get-flow-stats&lt;br/&gt;
org.opendaylight.vtn.manager.VTNException: No local or remote implementation available for rpc AbsoluteSchemaPath&lt;/p&gt;
{path=[(urn:opendaylight:flow:statistics?revision=2013-08-19)get-flow-statistics-from-flow-table]}

&lt;p&gt;(snip)&lt;/p&gt;

&lt;p&gt;2016-02-02 08:23:44,181 | INFO  | lt-dispatcher-26 | OfEntityManager                  | 165 - org.opendaylight.openflowplugin - 0.2.0.SNAPSHOT | registerRoutedRPCForSwitch: Registered routed rpc for ModelDrivenSwitch openflow:2&lt;br/&gt;
2016-02-02 08:23:44,181 | INFO  | ofEntity-1       | RolePushTask                     | 165 - org.opendaylight.openflowplugin - 0.2.0.SNAPSHOT | OpenFlow 1.0 devices don&apos;t support multi controller features, skipping role push.&lt;br/&gt;
2016-02-02 08:23:44,181 | INFO  | ofEntity-1       | OfEntityManager                  | 165 - org.opendaylight.openflowplugin - 0.2.0.SNAPSHOT | onDeviceOwnershipChanged: Controller is successfully set as a MASTER controller for 2&lt;br/&gt;
2016-02-02 08:23:44,181 | INFO  | ofEntity-1       | OfEntityManager                  | 165 - org.opendaylight.openflowplugin - 0.2.0.SNAPSHOT | sendNodeAddedNotification: Node Added notification is sent for ModelDrivenSwitch openflow:2&lt;br/&gt;
2016-02-02 08:23:44,182 | INFO  | pool-28-thread-1 | StatNodeRegistrationImpl         | 170 - org.opendaylight.openflowplugin.applications.statistics-manager - 0.2.0.SNAPSHOT | Received onNodeUpdated for node FlowCapableNodeUpdated [_ipAddress=IpAddress [_ipv4Address=Ipv4Address &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=192.168.2.60&amp;#93;&lt;/span&gt;, _value=&lt;span class=&quot;error&quot;&gt;&amp;#91;1, 9, 2, ., 1, 6, 8, ., 2, ., 6, 0&amp;#93;&lt;/span&gt;], _switchFeatures=SwitchFeatures [_capabilities=&lt;span class=&quot;error&quot;&gt;&amp;#91;class org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowFeatureCapabilityArpMatchIp, class org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowFeatureCapabilityFlowStats, class org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowFeatureCapabilityPortStats, class org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowFeatureCapabilityQueueStats, class org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowFeatureCapabilityTableStats&amp;#93;&lt;/span&gt;, _maxBuffers=256, _maxTables=254, augmentation=[]]] &lt;br/&gt;
2016-02-02 08:23:44,182 | INFO  | pool-28-thread-1 | StatNodeRegistrationImpl         | 170 - org.opendaylight.openflowplugin.applications.statistics-manager - 0.2.0.SNAPSHOT | onNodeUpdated: Send group/meter feature request to the device KeyedInstanceIdentifier&lt;/p&gt;
{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:2]]]]}
&lt;p&gt;2016-02-02 08:23:44,182 | DEBUG | pool-28-thread-1 | NodeChangeCommiter               | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | Node updated notification received,KeyedInstanceIdentifier&lt;/p&gt;
{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:2]]]]}
&lt;p&gt;2016-02-02 08:23:44,182 | DEBUG | nventoryProvider | FlowCapableInventoryProvider     | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | Processed 1 operations, submitting transaction DOM-CHAIN-2-1545&lt;br/&gt;
2016-02-02 08:23:44,182 | DEBUG | nventoryProvider | NodeChangeCommiter               | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | updating node :InstanceIdentifier&lt;/p&gt;
{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:2]]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode]}
&lt;p&gt; &lt;br/&gt;
2016-02-02 08:23:44,183 | DEBUG | nventoryProvider | NodeChangeCommiter               | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | writing table :KeyedInstanceIdentifier&lt;/p&gt;
{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:2]]], org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode, org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table[key=TableKey [_id=0]]]}
&lt;p&gt; &lt;br/&gt;
2016-02-02 08:23:44,183 | DEBUG | nventoryProvider | FlowCapableInventoryProvider     | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | Processed 2 operations, submitting transaction DOM-CHAIN-2-1546&lt;br/&gt;
2016-02-02 08:23:44,183 | INFO  | pool-28-thread-1 | StatNodeRegistrationImpl         | 170 - org.opendaylight.openflowplugin.applications.statistics-manager - 0.2.0.SNAPSHOT | Received onNodeUpdated for node FlowCapableNodeUpdated &lt;span class=&quot;error&quot;&gt;&amp;#91;_description=None, _hardware=Open vSwitch, _manufacturer=Nicira, Inc., _serialNumber=None, _software=2.1.0&amp;#93;&lt;/span&gt; &lt;br/&gt;
2016-02-02 08:23:44,183 | DEBUG | pool-28-thread-1 | NodeChangeCommiter               | 169 - org.opendaylight.openflowplugin.applications.inventory-manager - 0.2.0.SNAPSHOT | Node updated notification received,KeyedInstanceIdentifier&lt;/p&gt;
{targetType=interface org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node, path=[org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes, org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node[key=NodeKey [_id=Uri [_value=openflow:2]]]]}</comment>
                            <comment id="57544" author="hideyuki.tai@necam.com" created="Wed, 3 Feb 2016 03:32:17 +0000"  >&lt;p&gt;One observation.&lt;/p&gt;

&lt;p&gt;It seems to me that the postHandshakeBasic method of ConnectionConductorImpl class is related to this bug. &lt;/p&gt;

&lt;p&gt;In the openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/ConnectionConductorImpl.java:&lt;/p&gt;

&lt;p&gt;476     protected void postHandshakeBasic(GetFeaturesOutput featureOutput,&lt;br/&gt;
477                                       Short negotiatedVersion) {&lt;br/&gt;
478         version = negotiatedVersion;&lt;br/&gt;
479         if (version == OFConstants.OFP_VERSION_1_0) &lt;/p&gt;
{
480             // Because the GetFeaturesOutput contains information about the port
481             // in OF1.0 (that we would otherwise get from the PortDesc) we have
482             // to pass
483             // it up for parsing to convert into a NodeConnectorUpdate
484             //
485             // BUG-1988 - this must be the first item in queue in order not to
486             // get behind link-up message
487             enqueueMessage(featureOutput);
488         }</comment>
                            <comment id="60399" author="vishnoianil@gmail.com" created="Tue, 12 Dec 2017 01:03:45 +0000"  >&lt;p&gt;No activity on this bug from last 2 years, also Helium plugin design&#160;is deprecated now. Please reopen the bug if you see the issue with carbon/nitrogen/oxygen branches.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="14025" name="karaf.log" size="366185" author="Hideyuki1985" created="Wed, 27 Jan 2016 02:38:43 +0000"/>
                            <attachment id="14026" name="karaf.log.1" size="150457" author="Hideyuki1985" created="Tue, 2 Feb 2016 23:29:45 +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>5090</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=5090]]></customfieldvalue>

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

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