<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:35:41 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>[OVSDB-166] removeOutputPortFromInstructions still have problem related 3136</title>
                <link>https://jira.opendaylight.org/browse/OVSDB-166</link>
                <project id="10158" key="OVSDB">ovsdb</project>
                    <description>&lt;p&gt;This is related to &lt;a href=&quot;https://jira.opendaylight.org/browse/OVSDB-150&quot; title=&quot;When delete port, output port list(for broadcast) has problem.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OVSDB-150&quot;&gt;&lt;del&gt;OVSDB-150&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;I added debug code like below for debugging(line 285),&lt;/p&gt;

&lt;p&gt;276         if (isPortDeleted) {&lt;br/&gt;
277             // Iterate through all actions in the modified list and adjust the order of&lt;br/&gt;
278             // the actions left behind. With that, all actions that have order higher than&lt;br/&gt;
279             // the action removed gets their value decremented by 1. Note that this iteration&lt;br/&gt;
280             // visits all entries to account for cases where the list order is not the same&lt;br/&gt;
281             // as the action&apos;s order.&lt;br/&gt;
282             //&lt;br/&gt;
283             for (int i = 0; i &amp;lt; actionList.size(); i++) {&lt;br/&gt;
284                 Action action = actionList.get&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/information.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;;&lt;br/&gt;
285                 logger.debug(&quot;################# i = {},  action = {}, order = {}, key = {}, rmo = {}&quot;, i, action.getAction(), action.getOrder(), action.getKey(), removedActionOrder     );&lt;/p&gt;


&lt;p&gt;and debug log likes below&lt;/p&gt;

&lt;p&gt;2015-05-22 19:01:48,318 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | removeOutputPortFromInstructions() Node Connector ID is - Type=openflow: DPID=77207755810117 port=6 existingInstructions=[Instruction{getInstruction=ApplyActionsCase{getApplyActions=ApplyActions{getAction=[Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:9&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=6, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:8&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=5, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:7&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=4, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:6&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=3, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:5&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=2, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:4&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=1, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:3&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=0, augmentations={}}], augmentations={}}, augmentations={}}, getOrder=0, augmentations={}}]&lt;br/&gt;
2015-05-22 19:01:48,319 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | ################# i = 0,  action = OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:9&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, order = 6, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=6&amp;#93;&lt;/span&gt;, rmo = 3&lt;br/&gt;
2015-05-22 19:01:48,320 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | ################# i = 1,  action = OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:8&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, order = 5, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=5&amp;#93;&lt;/span&gt;, rmo = 3&lt;br/&gt;
2015-05-22 19:01:48,320 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | ################# i = 2,  action = OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:7&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, order = 4, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=4&amp;#93;&lt;/span&gt;, rmo = 3&lt;br/&gt;
2015-05-22 19:01:48,321 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | ################# i = 3,  action = OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:5&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, order = 2, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=2&amp;#93;&lt;/span&gt;, rmo = 3&lt;br/&gt;
2015-05-22 19:01:48,321 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | ################# i = 4,  action = OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:4&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, order = 1, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=1&amp;#93;&lt;/span&gt;, rmo = 3&lt;br/&gt;
2015-05-22 19:01:48,322 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | ################# i = 5,  action = OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:3&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, order = 0, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=0&amp;#93;&lt;/span&gt;, rmo = 3&lt;br/&gt;
2015-05-22 19:01:48,322 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | removeOutputPortFromInstructions() : applyAction ApplyActions [_action=[Action [_action=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:9&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=0&amp;#93;&lt;/span&gt;, _order=0, augmentation=[]], Action [_action=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:8&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=1&amp;#93;&lt;/span&gt;, _order=1, augmentation=[]], Action [_action=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:7&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=2&amp;#93;&lt;/span&gt;, _order=2, augmentation=[]], Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:5&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=2, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:4&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=1, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:3&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=0, augmentations={}}], augmentation=[]]&lt;br/&gt;
2015-05-22 19:01:48,826 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | removeOutputPortFromInstructions() Node Connector ID is - Type=openflow: DPID=77207755810117 port=6 existingInstructions=[Instruction{getInstruction=ApplyActionsCase{getApplyActions=ApplyActions{getAction=[Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:8&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=7, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:9&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=8, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:7&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=6, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:6&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=5, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:5&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=4, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:4&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=3, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:2&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=2, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:1&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=1, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:3&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=0, augmentations={}}], augmentations={}}, augmentations={}}, getOrder=0, augmentations={}}]&lt;br/&gt;
2015-05-22 19:01:48,826 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | ################# i = 0,  action = OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:8&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, order = 7, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=7&amp;#93;&lt;/span&gt;, rmo = 5&lt;br/&gt;
2015-05-22 19:01:48,827 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | ################# i = 1,  action = OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:9&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, order = 8, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=8&amp;#93;&lt;/span&gt;, rmo = 5&lt;br/&gt;
2015-05-22 19:01:48,827 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | ################# i = 2,  action = OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:7&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, order = 6, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=6&amp;#93;&lt;/span&gt;, rmo = 5&lt;br/&gt;
2015-05-22 19:01:48,828 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | ################# i = 3,  action = OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:5&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, order = 4, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=4&amp;#93;&lt;/span&gt;, rmo = 5&lt;br/&gt;
2015-05-22 19:01:48,828 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | ################# i = 4,  action = OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:4&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, order = 3, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=3&amp;#93;&lt;/span&gt;, rmo = 5&lt;br/&gt;
2015-05-22 19:01:48,828 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | ################# i = 5,  action = OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:2&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, order = 2, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=2&amp;#93;&lt;/span&gt;, rmo = 5&lt;br/&gt;
2015-05-22 19:01:48,829 | DEBUG | ool-176-thread-1 | InstructionUtils                 | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT | removeOutputPortFromInstructions() : applyAction ApplyActions [_action=[Action [_action=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:8&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=0&amp;#93;&lt;/span&gt;, _order=0, augmentation=[]], Action [_action=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:9&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=1&amp;#93;&lt;/span&gt;, _order=1, augmentation=[]], Action [_action=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:7&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=2&amp;#93;&lt;/span&gt;, _order=2, augmentation=[]], Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:5&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=4, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:4&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=3, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:2&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=2, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:1&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=1, augmentations={}}, Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:3&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}}, getOrder=0, augmentations={}}], augmentation=[]]&lt;/p&gt;


&lt;p&gt;ab.setKey(new ActionKey&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/information.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;);                // this should be changed like below&lt;br/&gt;
ab.setKey(new ActionKey(action.getOrder() -1));&lt;/p&gt;


&lt;p&gt;if not orders will be all messed up.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="21858">OVSDB-166</key>
            <summary>removeOutputPortFromInstructions still have problem related 3136</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <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="jung33@gmail.com">Seungho Chung</assignee>
                                    <reporter username="jung33@gmail.com">Seungho Chung</reporter>
                        <labels>
                    </labels>
                <created>Tue, 2 Jun 2015 06:44:53 +0000</created>
                <updated>Tue, 2 Jun 2015 18:31:38 +0000</updated>
                            <resolved>Tue, 2 Jun 2015 18:31:38 +0000</resolved>
                                    <version>unspecified</version>
                                                    <component>Other</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="40842" author="flavio@flaviof.com" created="Tue, 2 Jun 2015 08:13:40 +0000"  >&lt;p&gt;(In reply to Seungho Chung from comment #0)&lt;br/&gt;
&amp;gt; This is related to &lt;a href=&quot;https://jira.opendaylight.org/browse/OVSDB-150&quot; title=&quot;When delete port, output port list(for broadcast) has problem.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;OVSDB-150&quot;&gt;&lt;del&gt;OVSDB-150&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; I added debug code like below for debugging(line 285),&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; 276         if (isPortDeleted) {&lt;br/&gt;
&amp;gt; 277             // Iterate through all actions in the modified list and&lt;br/&gt;
&amp;gt; adjust the order of&lt;br/&gt;
&amp;gt; 278             // the actions left behind. With that, all actions that have&lt;br/&gt;
&amp;gt; order higher than&lt;br/&gt;
&amp;gt; 279             // the action removed gets their value decremented by 1.&lt;br/&gt;
&amp;gt; Note that this iteration&lt;br/&gt;
&amp;gt; 280             // visits all entries to account for cases where the list&lt;br/&gt;
&amp;gt; order is not the same&lt;br/&gt;
&amp;gt; 281             // as the action&apos;s order.&lt;br/&gt;
&amp;gt; 282             //&lt;br/&gt;
&amp;gt; 283             for (int i = 0; i &amp;lt; actionList.size(); i++) {&lt;br/&gt;
&amp;gt; 284                 Action action = actionList.get&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/information.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;;&lt;br/&gt;
&amp;gt; 285                 logger.debug(&quot;################# i = {},  action = {},&lt;br/&gt;
&amp;gt; order = {}, key = {}, rmo = {}&quot;, i, action.getAction(), action.getOrder(),&lt;br/&gt;
&amp;gt; action.getKey(), removedActionOrder     );&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; and debug log likes below&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,318 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | removeOutputPortFromInstructions() Node Connector ID is - Type=openflow:&lt;br/&gt;
&amp;gt; DPID=77207755810117 port=6&lt;br/&gt;
&amp;gt; existingInstructions=[Instruction{getInstruction=ApplyActionsCase{getApplyAct&lt;br/&gt;
&amp;gt; ions=ApplyActions{getAction=[Action{getAction=OutputActionCase{getOutputActio&lt;br/&gt;
&amp;gt; n=OutputAction{getOutputNodeConnector=Uri&lt;br/&gt;
&amp;gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:9&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}},&lt;br/&gt;
&amp;gt; getOrder=6, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:8&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=5, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:7&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=4, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:6&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=3, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:5&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=2, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:4&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=1, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:3&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=0, augmentations={}}], augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=0, augmentations={}}]&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,319 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | ################# i = 0,  action =&lt;br/&gt;
&amp;gt; OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri&lt;br/&gt;
&amp;gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:9&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}},&lt;br/&gt;
&amp;gt; order = 6, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=6&amp;#93;&lt;/span&gt;, rmo = 3&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,320 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | ################# i = 1,  action =&lt;br/&gt;
&amp;gt; OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri&lt;br/&gt;
&amp;gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:8&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}},&lt;br/&gt;
&amp;gt; order = 5, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=5&amp;#93;&lt;/span&gt;, rmo = 3&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,320 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | ################# i = 2,  action =&lt;br/&gt;
&amp;gt; OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri&lt;br/&gt;
&amp;gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:7&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}},&lt;br/&gt;
&amp;gt; order = 4, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=4&amp;#93;&lt;/span&gt;, rmo = 3&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,321 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | ################# i = 3,  action =&lt;br/&gt;
&amp;gt; OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri&lt;br/&gt;
&amp;gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:5&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}},&lt;br/&gt;
&amp;gt; order = 2, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=2&amp;#93;&lt;/span&gt;, rmo = 3&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,321 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | ################# i = 4,  action =&lt;br/&gt;
&amp;gt; OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri&lt;br/&gt;
&amp;gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:4&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}},&lt;br/&gt;
&amp;gt; order = 1, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=1&amp;#93;&lt;/span&gt;, rmo = 3&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,322 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | ################# i = 5,  action =&lt;br/&gt;
&amp;gt; OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri&lt;br/&gt;
&amp;gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:3&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}},&lt;br/&gt;
&amp;gt; order = 0, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=0&amp;#93;&lt;/span&gt;, rmo = 3&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,322 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | removeOutputPortFromInstructions() : applyAction ApplyActions&lt;br/&gt;
&amp;gt; [_action=[Action&lt;br/&gt;
&amp;gt; [_action=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector&lt;br/&gt;
&amp;gt; =Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:9&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=0&amp;#93;&lt;/span&gt;, _order=0, augmentation=[]],&lt;br/&gt;
&amp;gt; Action&lt;br/&gt;
&amp;gt; [_action=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector&lt;br/&gt;
&amp;gt; =Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:8&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=1&amp;#93;&lt;/span&gt;, _order=1, augmentation=[]],&lt;br/&gt;
&amp;gt; Action&lt;br/&gt;
&amp;gt; [_action=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector&lt;br/&gt;
&amp;gt; =Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:7&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=2&amp;#93;&lt;/span&gt;, _order=2, augmentation=[]],&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:5&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=2, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:4&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=1, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:3&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=0, augmentations={}}], augmentation=[]]&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,826 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | removeOutputPortFromInstructions() Node Connector ID is - Type=openflow:&lt;br/&gt;
&amp;gt; DPID=77207755810117 port=6&lt;br/&gt;
&amp;gt; existingInstructions=[Instruction{getInstruction=ApplyActionsCase{getApplyAct&lt;br/&gt;
&amp;gt; ions=ApplyActions{getAction=[Action{getAction=OutputActionCase{getOutputActio&lt;br/&gt;
&amp;gt; n=OutputAction{getOutputNodeConnector=Uri&lt;br/&gt;
&amp;gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:8&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}},&lt;br/&gt;
&amp;gt; getOrder=7, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:9&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=8, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:7&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=6, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:6&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=5, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:5&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=4, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:4&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=3, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:2&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=2, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:1&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=1, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:3&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=0, augmentations={}}], augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=0, augmentations={}}]&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,826 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | ################# i = 0,  action =&lt;br/&gt;
&amp;gt; OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri&lt;br/&gt;
&amp;gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:8&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}},&lt;br/&gt;
&amp;gt; order = 7, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=7&amp;#93;&lt;/span&gt;, rmo = 5&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,827 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | ################# i = 1,  action =&lt;br/&gt;
&amp;gt; OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri&lt;br/&gt;
&amp;gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:9&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}},&lt;br/&gt;
&amp;gt; order = 8, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=8&amp;#93;&lt;/span&gt;, rmo = 5&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,827 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | ################# i = 2,  action =&lt;br/&gt;
&amp;gt; OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri&lt;br/&gt;
&amp;gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:7&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}},&lt;br/&gt;
&amp;gt; order = 6, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=6&amp;#93;&lt;/span&gt;, rmo = 5&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,828 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | ################# i = 3,  action =&lt;br/&gt;
&amp;gt; OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri&lt;br/&gt;
&amp;gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:5&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}},&lt;br/&gt;
&amp;gt; order = 4, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=4&amp;#93;&lt;/span&gt;, rmo = 5&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,828 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | ################# i = 4,  action =&lt;br/&gt;
&amp;gt; OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri&lt;br/&gt;
&amp;gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:4&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}},&lt;br/&gt;
&amp;gt; order = 3, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=3&amp;#93;&lt;/span&gt;, rmo = 5&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,828 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | ################# i = 5,  action =&lt;br/&gt;
&amp;gt; OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector=Uri&lt;br/&gt;
&amp;gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:2&amp;#93;&lt;/span&gt;, augmentations={}}, augmentations={}},&lt;br/&gt;
&amp;gt; order = 2, key = ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=2&amp;#93;&lt;/span&gt;, rmo = 5&lt;br/&gt;
&amp;gt; 2015-05-22 19:01:48,829 | DEBUG | ool-176-thread-1 | InstructionUtils       &lt;br/&gt;
&amp;gt; | 364 - org.opendaylight.ovsdb.openstack.net-virt-providers - 1.0.4.SNAPSHOT&lt;br/&gt;
&amp;gt; | removeOutputPortFromInstructions() : applyAction ApplyActions&lt;br/&gt;
&amp;gt; [_action=[Action&lt;br/&gt;
&amp;gt; [_action=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector&lt;br/&gt;
&amp;gt; =Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:8&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=0&amp;#93;&lt;/span&gt;, _order=0, augmentation=[]],&lt;br/&gt;
&amp;gt; Action&lt;br/&gt;
&amp;gt; [_action=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector&lt;br/&gt;
&amp;gt; =Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:9&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=1&amp;#93;&lt;/span&gt;, _order=1, augmentation=[]],&lt;br/&gt;
&amp;gt; Action&lt;br/&gt;
&amp;gt; [_action=OutputActionCase{getOutputAction=OutputAction{getOutputNodeConnector&lt;br/&gt;
&amp;gt; =Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:7&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, _key=ActionKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_order=2&amp;#93;&lt;/span&gt;, _order=2, augmentation=[]],&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:5&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=4, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:4&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=3, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:2&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=2, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:1&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=1, augmentations={}},&lt;br/&gt;
&amp;gt; Action{getAction=OutputActionCase{getOutputAction=OutputAction{getOutputNodeC&lt;br/&gt;
&amp;gt; onnector=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:77207755810117:3&amp;#93;&lt;/span&gt;, augmentations={}},&lt;br/&gt;
&amp;gt; augmentations={}}, getOrder=0, augmentations={}}], augmentation=[]]&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; ab.setKey(new ActionKey&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/information.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;);                // this should be changed like&lt;br/&gt;
&amp;gt; below&lt;br/&gt;
&amp;gt; ab.setKey(new ActionKey(action.getOrder() -1));&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; if not orders will be all messed up.&lt;/p&gt;


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

&lt;p&gt;Can you please submit a gerrit with you r proposed fix? I&apos;m not sure I understand what the bug is, as well as how to reproduce it.&lt;/p&gt;

&lt;p&gt;Thanks.&lt;/p&gt;</comment>
                            <comment id="40843" author="jung33@gmail.com" created="Tue, 2 Jun 2015 09:19:19 +0000"  >&lt;p&gt;I already submit to gerrit.&lt;/p&gt;

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

&lt;p&gt;only one line is changed.&lt;/p&gt;


&lt;p&gt;line 290 is changed, it used i(variable) for setKey, my proposal is use &quot;action.getOrder() -1&quot; for setKey.&lt;/p&gt;

&lt;p&gt;you can find order is over wrapped at log, it caused setKey used i(variable).&lt;/p&gt;



&lt;ol&gt;
	&lt;li&gt;
	&lt;ol&gt;
		&lt;li&gt;
		&lt;ol&gt;
			&lt;li&gt;
			&lt;ol&gt;
				&lt;li&gt;
				&lt;ol&gt;
					&lt;li&gt;
					&lt;ol&gt;
						&lt;li&gt;
						&lt;ol&gt;
							&lt;li&gt;
							&lt;ol&gt;
								&lt;li&gt;
								&lt;ol&gt;
									&lt;li&gt;
									&lt;ol&gt;
										&lt;li&gt;
										&lt;ol&gt;
											&lt;li&gt;
											&lt;ol&gt;
												&lt;li&gt;
												&lt;ol&gt;
													&lt;li&gt;
													&lt;ol&gt;
														&lt;li&gt;
														&lt;ol&gt;
															&lt;li&gt;
															&lt;ol&gt;
																&lt;li&gt;code Block ##############################&lt;br/&gt;
 276         if (isPortDeleted) {&lt;br/&gt;
 277             // Iterate through all actions in the modified list and adjust the order of&lt;br/&gt;
 278             // the actions left behind. With that, all actions that have order higher than&lt;br/&gt;
 279             // the action removed gets their value decremented by 1. Note that this iteration&lt;br/&gt;
 280             // visits all entries to account for cases where the list order is not the same&lt;br/&gt;
 281             // as the action&apos;s order.&lt;br/&gt;
 282             //&lt;br/&gt;
 283             for (int i = 0; i &amp;lt; actionList.size(); i++) {&lt;br/&gt;
 284                 Action action = actionList.get&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/information.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;;&lt;br/&gt;
 285                 if (action.getOrder() &amp;gt; removedActionOrder) 
{
 286                     /* Shift the action by rebuilding action, using adjusted order */
 287                     ab = new ActionBuilder();
 288                     ab.setAction(action.getAction());
 289                     ab.setOrder(action.getOrder() - 1);
 290                     ab.setKey(new ActionKey(action.getOrder() -1));
 291                     Action actionNewOrder = ab.build();
 292                     actionList.remove(action);
 293                     actionList.add(i, actionNewOrder);
 294                 }
&lt;p&gt; else if (action.getOrder() == removedActionOrder) {&lt;br/&gt;
 295                     // Sanity: implementation assumes no two actions have the same order&lt;br/&gt;
 296                     //&lt;br/&gt;
 297                     logger.error(&quot;Found action with same order as the action removed for {}, order {} index {}: {}&quot;,&lt;br/&gt;
 298                             ncid, removedActionOrder, i, action);&lt;br/&gt;
 299                 }&lt;br/&gt;
 300&lt;br/&gt;
 301                 // If action refers to a port output, then flow should be preserved.&lt;br/&gt;
 302                 // We do this, so that if we are only left with non-output port actions,&lt;br/&gt;
 303                 // we still remove the flow&lt;br/&gt;
 304                 //&lt;br/&gt;
 305                 if (action.getAction() instanceof OutputActionCase) &lt;/p&gt;
{
 306                     removeFlow = false;
 307                 }
&lt;p&gt; 308             }&lt;br/&gt;
############################################################&lt;/p&gt;&lt;/li&gt;
															&lt;/ol&gt;
															&lt;/li&gt;
														&lt;/ol&gt;
														&lt;/li&gt;
													&lt;/ol&gt;
													&lt;/li&gt;
												&lt;/ol&gt;
												&lt;/li&gt;
											&lt;/ol&gt;
											&lt;/li&gt;
										&lt;/ol&gt;
										&lt;/li&gt;
									&lt;/ol&gt;
									&lt;/li&gt;
								&lt;/ol&gt;
								&lt;/li&gt;
							&lt;/ol&gt;
							&lt;/li&gt;
						&lt;/ol&gt;
						&lt;/li&gt;
					&lt;/ol&gt;
					&lt;/li&gt;
				&lt;/ol&gt;
				&lt;/li&gt;
			&lt;/ol&gt;
			&lt;/li&gt;
		&lt;/ol&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
&lt;/ol&gt;
</comment>
                            <comment id="40844" author="flavio@flaviof.com" created="Tue, 2 Jun 2015 13:54:40 +0000"  >&lt;p&gt;(In reply to Seungho Chung from comment #2)&lt;br/&gt;
&amp;gt; I already submit to gerrit.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/21608/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/21608/&lt;/a&gt;&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; only one line is changed.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; line 290 is changed, it used i(variable) for setKey, my proposal is use&lt;br/&gt;
&amp;gt; &quot;action.getOrder() -1&quot; for setKey.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; you can find order is over wrapped at log, it caused setKey used i(variable).&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; ################ code Block ##############################&lt;br/&gt;
&amp;gt;  276         if (isPortDeleted) {&lt;br/&gt;
&amp;gt;  277             // Iterate through all actions in the modified list and&lt;br/&gt;
&amp;gt; adjust the order of&lt;br/&gt;
&amp;gt;  278             // the actions left behind. With that, all actions that&lt;br/&gt;
&amp;gt; have order higher than&lt;br/&gt;
&amp;gt;  279             // the action removed gets their value decremented by 1.&lt;br/&gt;
&amp;gt; Note that this iteration&lt;br/&gt;
&amp;gt;  280             // visits all entries to account for cases where the list&lt;br/&gt;
&amp;gt; order is not the same&lt;br/&gt;
&amp;gt;  281             // as the action&apos;s order.&lt;br/&gt;
&amp;gt;  282             //&lt;br/&gt;
&amp;gt;  283             for (int i = 0; i &amp;lt; actionList.size(); i++) {&lt;br/&gt;
&amp;gt;  284                 Action action = actionList.get&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/information.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;;&lt;br/&gt;
&amp;gt;  285                 if (action.getOrder() &amp;gt; removedActionOrder) &lt;/p&gt;
{
&amp;gt;  286                     /* Shift the action by rebuilding action, using
&amp;gt; adjusted order */
&amp;gt;  287                     ab = new ActionBuilder();
&amp;gt;  288                     ab.setAction(action.getAction());
&amp;gt;  289                     ab.setOrder(action.getOrder() - 1);
&amp;gt;  290                     ab.setKey(new ActionKey(action.getOrder() -1));
&amp;gt;  291                     Action actionNewOrder = ab.build();
&amp;gt;  292                     actionList.remove(action);
&amp;gt;  293                     actionList.add(i, actionNewOrder);
&amp;gt;  294                 }
&lt;p&gt; else if (action.getOrder() == removedActionOrder) {&lt;br/&gt;
&amp;gt;  295                     // Sanity: implementation assumes no two actions&lt;br/&gt;
&amp;gt; have the same order&lt;br/&gt;
&amp;gt;  296                     //&lt;br/&gt;
&amp;gt;  297                     logger.error(&quot;Found action with same order as the&lt;br/&gt;
&amp;gt; action removed for {}, order {} index {}: {}&quot;,&lt;br/&gt;
&amp;gt;  298                             ncid, removedActionOrder, i, action);&lt;br/&gt;
&amp;gt;  299                 }&lt;br/&gt;
&amp;gt;  300&lt;br/&gt;
&amp;gt;  301                 // If action refers to a port output, then flow should&lt;br/&gt;
&amp;gt; be preserved.&lt;br/&gt;
&amp;gt;  302                 // We do this, so that if we are only left with&lt;br/&gt;
&amp;gt; non-output port actions,&lt;br/&gt;
&amp;gt;  303                 // we still remove the flow&lt;br/&gt;
&amp;gt;  304                 //&lt;br/&gt;
&amp;gt;  305                 if (action.getAction() instanceof OutputActionCase) &lt;/p&gt;
{
&amp;gt;  306                     removeFlow = false;
&amp;gt;  307                 }
&lt;p&gt;&amp;gt;  308             }&lt;br/&gt;
&amp;gt; ############################################################&lt;/p&gt;


&lt;p&gt;hmm... so order and key must have same value? I will try to find out why we&lt;br/&gt;
need two attributes if they are expected to be same value. Meanwhile, please add&lt;br/&gt;
missing space to the gerrit.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;/p&gt;

&lt;p&gt;&amp;#8211; flavio&lt;/p&gt;</comment>
                            <comment id="40845" author="flavio@flaviof.com" created="Tue, 2 Jun 2015 18:24:12 +0000"  >&lt;p&gt;Gerrits:&lt;/p&gt;

&lt;p&gt;master:   &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/21688/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/21688/&lt;/a&gt;&lt;br/&gt;
lithium:  &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/21687/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/21687/&lt;/a&gt;&lt;br/&gt;
helium:   &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/21608/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/21608/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="40846" author="flavio@flaviof.com" created="Tue, 2 Jun 2015 18:31:38 +0000"  >&lt;p&gt;Thanks Seungho!&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>3538</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=3538]]></customfieldvalue>

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

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