<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:28:52 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>[OPNFLWJAVA-66] Error is returned when invoke remove-flow RPC</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWJAVA-66</link>
                <project id="10154" key="OPNFLWJAVA">openflowjava</project>
                    <description>&lt;p&gt;When we try out the VTN Example socumented in thie page (&lt;a href=&quot;https://wiki.opendaylight.org/view/OpenDaylight_Virtual_Tenant_Network_(VTN):VTN_Manager:Release/Lithium/VTN/HowTos/How_to_configure_L2_network_with_VTN_virtualization&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.opendaylight.org/view/OpenDaylight_Virtual_Tenant_Network_(VTN):VTN_Manager:Release/Lithium/VTN/HowTos/How_to_configure_L2_network_with_VTN_virtualization&lt;/a&gt;) . We observe the following error in our karaf .log &lt;/p&gt;

&lt;p&gt;ation - 0.4.0.SNAPSHOT | Routing table has been updated.&lt;br/&gt;
2015-11-10 08:37:26,054 | WARN  | entLoopGroup-7-2 | ResponseExpectedRpcListener      | 146 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.7.0.SNAPSHOT | Request for RpcResultKey &lt;span class=&quot;error&quot;&gt;&amp;#91;xid=3235, outputClazz=org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierOutput&amp;#93;&lt;/span&gt; did not receive a response&lt;br/&gt;
2015-11-10 08:37:26,055 | WARN  | entLoopGroup-7-2 | ResponseExpectedRpcListener      | 146 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.7.0.SNAPSHOT | Request for RpcResultKey &lt;span class=&quot;error&quot;&gt;&amp;#91;xid=3460, outputClazz=org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierOutput&amp;#93;&lt;/span&gt; did not receive a response&lt;br/&gt;
2015-11-10 08:37:26,056 | WARN  | entLoopGroup-7-1 | ResponseExpectedRpcListener      | 146 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.7.0.SNAPSHOT | Request for RpcResultKey &lt;span class=&quot;error&quot;&gt;&amp;#91;xid=3235, outputClazz=org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierOutput&amp;#93;&lt;/span&gt; did not receive a response&lt;br/&gt;
2015-11-10 08:37:26,060 | ERROR | TN Flow Thread-0 | FlowRemoveContext                | 311 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | remove-flow: RPC returned error: errors=[RpcError &lt;span class=&quot;error&quot;&gt;&amp;#91;message=barrier sending failed, severity=WARNING, errorType=RPC, tag=TIMOUT, applicationTag=OPENFLOW_PLUGIN, info=switch failed to respond on barrier request, barrier.xid = 3235, cause=null&amp;#93;&lt;/span&gt;, RpcError &lt;span class=&quot;error&quot;&gt;&amp;#91;message=check switch connection, severity=ERROR, errorType=RPC, tag=OPENFLOW, applicationTag=OPENFLOW_LIBRARY, info=barrier-input sending failed, cause=java.util.concurrent.TimeoutException: Request timed out&amp;#93;&lt;/span&gt;]&lt;br/&gt;
java.util.concurrent.TimeoutException: Request timed out&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.ResponseExpectedRpcListener.discard(ResponseExpectedRpcListener.java:33)&lt;span class=&quot;error&quot;&gt;&amp;#91;146:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.ConnectionAdapterImpl$1.onRemoval(ConnectionAdapterImpl.java:105)&lt;span class=&quot;error&quot;&gt;&amp;#91;146:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.cache.LocalCache.processPendingNotifications(LocalCache.java:1956)&lt;span class=&quot;error&quot;&gt;&amp;#91;39:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.cache.LocalCache$Segment.runUnlockedCleanup(LocalCache.java:3460)&lt;span class=&quot;error&quot;&gt;&amp;#91;39:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.cache.LocalCache$Segment.postWriteCleanup(LocalCache.java:3436)&lt;span class=&quot;error&quot;&gt;&amp;#91;39:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.cache.LocalCache$Segment.put(LocalCache.java:2891)&lt;span class=&quot;error&quot;&gt;&amp;#91;39:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.cache.LocalCache.put(LocalCache.java:4149)&lt;span class=&quot;error&quot;&gt;&amp;#91;39:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.cache.LocalCache$LocalManualCache.put(LocalCache.java:4754)&lt;span class=&quot;error&quot;&gt;&amp;#91;39:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.ResponseExpectedRpcListener.operationSuccessful(ResponseExpectedRpcListener.java:44)&lt;span class=&quot;error&quot;&gt;&amp;#91;146:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.AbstractRpcListener.operationComplete(AbstractRpcListener.java:63)&lt;span class=&quot;error&quot;&gt;&amp;#91;146:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:680)&lt;span class=&quot;error&quot;&gt;&amp;#91;99:io.netty.common:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:567)&lt;span class=&quot;error&quot;&gt;&amp;#91;99:io.netty.common:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:406)&lt;span class=&quot;error&quot;&gt;&amp;#91;99:io.netty.common:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:82)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.ChannelOutboundBuffer.safeSuccess(ChannelOutboundBuffer.java:672)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:262)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.ChannelOutboundBuffer.removeBytes(ChannelOutboundBuffer.java:342)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:318)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:761)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:311)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:729)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1127)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:663)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:644)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:663)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:644)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.DefaultChannelPipeline.flush(DefaultChannelPipeline.java:897)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannel.flush(AbstractChannel.java:192)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue.flush(ChannelOutboundQueue.java:212)&lt;span class=&quot;error&quot;&gt;&amp;#91;146:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue.access$000(ChannelOutboundQueue.java:37)&lt;span class=&quot;error&quot;&gt;&amp;#91;146:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue$1.run(ChannelOutboundQueue.java:81)&lt;span class=&quot;error&quot;&gt;&amp;#91;146:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:327)&lt;span class=&quot;error&quot;&gt;&amp;#91;99:io.netty.common:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:110)&lt;span class=&quot;error&quot;&gt;&amp;#91;99:io.netty.common:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)&lt;span class=&quot;error&quot;&gt;&amp;#91;99:io.netty.common:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.lang.Thread.run(Thread.java:745)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_65&amp;#93;&lt;/span&gt;&lt;br/&gt;
2015-11-10 08:37:26,062 | ERROR | TN Flow Thread-0 | FlowRemoveContext                | 311 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | remove-flow: RPC returned error: errors=[RpcError &lt;span class=&quot;error&quot;&gt;&amp;#91;message=barrier sending failed, severity=WARNING, errorType=RPC, tag=TIMOUT, applicationTag=OPENFLOW_PLUGIN, info=switch failed to respond on barrier request, barrier.xid = 3460, cause=null&amp;#93;&lt;/span&gt;, RpcError &lt;span class=&quot;error&quot;&gt;&amp;#91;message=check switch connection, severity=ERROR, errorType=RPC, tag=OPENFLOW, applicationTag=OPENFLOW_LIBRARY, info=barrier-input sending failed, cause=java.util.concurrent.TimeoutException: Request timed out&amp;#93;&lt;/span&gt;]&lt;br/&gt;
java.util.concurrent.TimeoutException: Request timed out&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.ResponseExpectedRpcListener.discard(ResponseExpectedRpcListener.java:33)&lt;span class=&quot;error&quot;&gt;&amp;#91;146:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.ConnectionAdapterImpl$1.onRemoval(ConnectionAdapterImpl.java:105)&lt;span class=&quot;error&quot;&gt;&amp;#91;146:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.cache.LocalCache.processPendingNotifications(LocalCache.java:1956)&lt;span class=&quot;error&quot;&gt;&amp;#91;39:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.cache.LocalCache$Segment.runUnlockedCleanup(LocalCache.java:3460)&lt;span class=&quot;error&quot;&gt;&amp;#91;39:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.cache.LocalCache$Segment.postWriteCleanup(LocalCache.java:3436)&lt;span class=&quot;error&quot;&gt;&amp;#91;39:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.cache.LocalCache$Segment.put(LocalCache.java:2891)&lt;span class=&quot;error&quot;&gt;&amp;#91;39:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.cache.LocalCache.put(LocalCache.java:4149)&lt;span class=&quot;error&quot;&gt;&amp;#91;39:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.cache.LocalCache$LocalManualCache.put(LocalCache.java:4754)&lt;span class=&quot;error&quot;&gt;&amp;#91;39:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.ResponseExpectedRpcListener.operationSuccessful(ResponseExpectedRpcListener.java:44)&lt;span class=&quot;error&quot;&gt;&amp;#91;146:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.AbstractRpcListener.operationComplete(AbstractRpcListener.java:63)&lt;span class=&quot;error&quot;&gt;&amp;#91;146:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:680)&lt;span class=&quot;error&quot;&gt;&amp;#91;99:io.netty.common:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:567)&lt;span class=&quot;error&quot;&gt;&amp;#91;99:io.netty.common:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:406)&lt;span class=&quot;error&quot;&gt;&amp;#91;99:io.netty.common:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:82)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.ChannelOutboundBuffer.safeSuccess(ChannelOutboundBuffer.java:672)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:262)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.ChannelOutboundBuffer.removeBytes(ChannelOutboundBuffer.java:342)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:318)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:761)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:311)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:729)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1127)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:663)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:644)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:663)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:644)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.DefaultChannelPipeline.flush(DefaultChannelPipeline.java:897)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.AbstractChannel.flush(AbstractChannel.java:192)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue.flush(ChannelOutboundQueue.java:212)&lt;span class=&quot;error&quot;&gt;&amp;#91;146:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue.access$000(ChannelOutboundQueue.java:37)&lt;span class=&quot;error&quot;&gt;&amp;#91;146:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue$1.run(ChannelOutboundQueue.java:81)&lt;span class=&quot;error&quot;&gt;&amp;#91;146:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:327)&lt;span class=&quot;error&quot;&gt;&amp;#91;99:io.netty.common:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)&lt;span class=&quot;error&quot;&gt;&amp;#91;98:io.netty.transport:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:110)&lt;span class=&quot;error&quot;&gt;&amp;#91;99:io.netty.common:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)&lt;span class=&quot;error&quot;&gt;&amp;#91;99:io.netty.common:4.0.30.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.lang.Thread.run(Thread.java:745)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_65&amp;#93;&lt;/span&gt;&lt;br/&gt;
2015-11-10 08:37:26,309 | INFO  | ult-dispatcher-5 | VTNInventoryManager              | 311 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | Port has been removed: {id=openflow:2:1&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="24296">OPNFLWJAVA-66</key>
            <summary>Error is returned when invoke remove-flow RPC</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="-1">Unassigned</assignee>
                                    <reporter username="gvrangan">Venkatrangan Govindarajan</reporter>
                        <labels>
                    </labels>
                <created>Tue, 10 Nov 2015 23:46:07 +0000</created>
                <updated>Mon, 30 Oct 2017 15:41:43 +0000</updated>
                            <resolved>Tue, 1 Mar 2016 07:49:34 +0000</resolved>
                                    <version>unspecified</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="46865" author="gvrangan" created="Tue, 10 Nov 2015 23:47:10 +0000"  >&lt;p&gt;The error occurs after the VTN is deleted. When VTN is deleted, VTN Manager tries to delete all the installed flows.&lt;/p&gt;</comment>
                            <comment id="46866" author="abhijit2511" created="Sat, 30 Jan 2016 02:47:10 +0000"  >&lt;p&gt;Looks like an issue with OpenFlow Java and switch connections. Moving to OpenFlow Java.&lt;/p&gt;</comment>
                            <comment id="46867" author="michal.polkorab@gmail.com" created="Mon, 1 Feb 2016 09:01:00 +0000"  >&lt;p&gt;Can you please acquire Wireshark capture (pcap files) of network communication ?&lt;/p&gt;

&lt;p&gt;On the first look it looks like switch didn&apos;t send barrier reply in specified timeout.&lt;/p&gt;</comment>
                            <comment id="46868" author="yasuda" created="Tue, 2 Feb 2016 08:50:35 +0000"  >&lt;p&gt;It seems to me that openflowjava cannot handle concurrent barrier requests to the same switch.&lt;/p&gt;

&lt;p&gt;openflowjava seems to put an ongoing barrier request into AbstractConnectionAdapter.responseCache.&lt;/p&gt;

&lt;p&gt;openflow-protocol-impl/src/main/java/.../protocol/impl/core/connection/AbstractConnectionAdapter.java:&lt;/p&gt;

&lt;p&gt;    /** expiring cache for future rpcResponses */&lt;br/&gt;
    protected Cache&amp;lt;RpcResponseKey, ResponseExpectedRpcListener&amp;lt;?&amp;gt;&amp;gt; responseCache;&lt;/p&gt;

&lt;p&gt;Assuming that 2 threads in a controller issue barrier requests to the same switch at the same time, the first request will be put into responseCache. But the second request will remove the first request from responseCache because RpcResponseKey class doesn&apos;t see xid field (transaction ID) in equals(Object) and hashCode().&lt;/p&gt;

&lt;p&gt;So the first request will be passed to REMOVAL_LISTENER immediately with RemovalCause.REPLACED, and it will result in timeout error.&lt;/p&gt;

&lt;p&gt;    protected static final RemovalListener&amp;lt;RpcResponseKey, ResponseExpectedRpcListener&amp;lt;?&amp;gt;&amp;gt; REMOVAL_LISTENER = new RemovalListener&amp;lt;RpcResponseKey, ResponseExpectedRpcListener&amp;lt;?&amp;gt;&amp;gt;() {&lt;br/&gt;
        @Override&lt;br/&gt;
        public void onRemoval(final RemovalNotification&amp;lt;RpcResponseKey, ResponseExpectedRpcListener&amp;lt;?&amp;gt;&amp;gt; notification) {&lt;br/&gt;
            if (!notification.getCause().equals(RemovalCause.EXPLICIT)) &lt;/p&gt;
{
                notification.getValue().discard();
            }
&lt;p&gt;        }&lt;br/&gt;
    };&lt;/p&gt;

&lt;p&gt;openflow-protocol-impl/src/main/java/.../protocol/impl/core/connection/ResponseExpectedRpcListener.java:&lt;/p&gt;

&lt;p&gt;    public void discard() {&lt;br/&gt;
        LOG.warn(&quot;Request for {} did not receive a response&quot;, key);&lt;br/&gt;
        failedRpc(new TimeoutException(&quot;Request timed out&quot;));&lt;br/&gt;
    }&lt;/p&gt;

&lt;p&gt;I think RpcResponseKey class should see xid field in equals(Object) and hashCode() so that openflowjava can handle concurrent requests to the same switch.&lt;/p&gt;</comment>
                            <comment id="46869" author="michal.polkorab@gmail.com" created="Tue, 2 Feb 2016 10:41:30 +0000"  >&lt;p&gt;Openflowjava should handle concurrent messages correctly - they are enqueued in a LinkedBlockingQueue and from this point on, messages are handled only by netty thread. So the concurrency should be no issue here.&lt;/p&gt;

&lt;p&gt;The XID is used - you can see it in AbstractConnectionAdapter#sendToSwitchExpectRpcResultFuture() ... where RpcResponseKey key = new RpcResponseKey(input.getXid(), responseClazz.getName());&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;this key is used for lookup when a barrier reply comes back.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Could you provide wireshark pcap files and logs with openflowjava set to DEBUG ?&lt;/p&gt;</comment>
                            <comment id="46870" author="yasuda" created="Tue, 2 Feb 2016 11:15:10 +0000"  >&lt;p&gt;(In reply to Michal Polkorab from comment #5)&lt;br/&gt;
&amp;gt; The XID is used - you can see it in&lt;br/&gt;
&amp;gt; AbstractConnectionAdapter#sendToSwitchExpectRpcResultFuture() ... where&lt;br/&gt;
&amp;gt; RpcResponseKey key = new RpcResponseKey(input.getXid(),&lt;br/&gt;
&amp;gt; responseClazz.getName());&lt;br/&gt;
&amp;gt;  - this key is used for lookup when a barrier reply comes back.&lt;/p&gt;

&lt;p&gt;No. RpcResponseKey sees only outputClazz in hashCode()/equals(Object) and never sees xid. So xid is never used for lookup.&lt;/p&gt;

&lt;p&gt;RpcResponseKey.java:&lt;/p&gt;

&lt;p&gt;    @Override&lt;br/&gt;
    public int hashCode() &lt;/p&gt;
{
        final int prime = 31;
        int result = 1;
        result = prime * result
                + ((outputClazz == null) ? 0 : outputClazz.hashCode());
        return result;
    }

&lt;p&gt;    @Override&lt;br/&gt;
    public boolean equals(Object obj) {&lt;br/&gt;
        if (this == obj) &lt;/p&gt;
{
            return true;
        }
&lt;p&gt;        if (obj == null) &lt;/p&gt;
{
            return false;
        }&lt;br/&gt;
        if (getClass() != obj.getClass()) {            return false;        }
&lt;p&gt;        RpcResponseKey other = (RpcResponseKey) obj;&lt;br/&gt;
        if (outputClazz == null) {&lt;br/&gt;
            if (other.outputClazz != null) &lt;/p&gt;
{
                return false;
            }
&lt;p&gt;        } else if (!outputClazz.equals(other.outputClazz)) &lt;/p&gt;
{
            return false;
        }
&lt;p&gt;        return true;&lt;br/&gt;
    }&lt;/p&gt;

&lt;p&gt;For example, the below equals() returns true because RpcResponseKey.equals(Object) always ignores xid.&lt;/p&gt;

&lt;p&gt;     RpcResponseKey r1 = new RpcResponseKey(1L, &quot;output-class&quot;);&lt;br/&gt;
     RpcResponseKey r2 = new RpcResponseKey(2L, &quot;output-class&quot;);&lt;br/&gt;
     r1.equals(r2);&lt;/p&gt;</comment>
                            <comment id="46871" author="yasuda" created="Tue, 2 Feb 2016 11:57:55 +0000"  >&lt;p&gt;I could reproduce this issue with applying the following patch to openflowjava.&lt;/p&gt;

&lt;p&gt;diff --git a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/connection/AbstractConnectionAdapter.java b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/connection/AbstractConnectionAdapter.java&lt;br/&gt;
index 57f1498..0e666c7 100644&lt;br/&gt;
&amp;#8212; a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/connection/AbstractConnectionAdapter.java&lt;br/&gt;
+++ b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/connection/AbstractConnectionAdapter.java&lt;br/&gt;
@@ -83,6 +83,10 @@ abstract class AbstractConnectionAdapter implements ConnectionAdapter {&lt;br/&gt;
         @Override&lt;br/&gt;
         public void onRemoval(final RemovalNotification&amp;lt;RpcResponseKey, ResponseExpectedRpcListener&amp;lt;?&amp;gt;&amp;gt; notification) {&lt;br/&gt;
             if (!notification.getCause().equals(RemovalCause.EXPLICIT)) {&lt;br/&gt;
+                if (RemovalCause.REPLACED.equals(notification.getCause())) {&lt;br/&gt;
+                    LOG.warn(&quot;Request was replaced: key={}&quot;,&lt;br/&gt;
+                             notification.getKey());&lt;br/&gt;
+                }&lt;br/&gt;
                 notification.getValue().discard();&lt;br/&gt;
             }&lt;br/&gt;
         }&lt;/p&gt;


&lt;p&gt;2016-02-02 20:46:04,202 | WARN  | entLoopGroup-9-3 | AbstractConnectionAdapter        | 162 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.7.0.SNAPSHOT | Request was replaced: key=RpcResultKey &lt;span class=&quot;error&quot;&gt;&amp;#91;xid=139, outputClazz=org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierOutput&amp;#93;&lt;/span&gt;&lt;br/&gt;
2016-02-02 20:46:04,202 | WARN  | entLoopGroup-9-3 | ResponseExpectedRpcListener      | 162 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.7.0.SNAPSHOT | Request for RpcResultKey &lt;span class=&quot;error&quot;&gt;&amp;#91;xid=138, outputClazz=org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierOutput&amp;#93;&lt;/span&gt; did not receive a response&lt;br/&gt;
2016-02-02 20:46:04,204 | ERROR | TN Flow Thread-0 | FlowRemoveContext                | 178 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | remove-flow: RPC returned error: errors=[RpcError &lt;span class=&quot;error&quot;&gt;&amp;#91;message=barrier sending failed, severity=WARNING, errorType=RPC, tag=TIMOUT, applicationTag=OPENFLOW_PLUGIN, info=switch failed to respond on barrier request, barrier.xid = 138, cause=null&amp;#93;&lt;/span&gt;, RpcError &lt;span class=&quot;error&quot;&gt;&amp;#91;message=check switch connection, severity=ERROR, errorType=RPC, tag=OPENFLOW, applicationTag=OPENFLOW_LIBRARY, info=barrier-input sending failed, cause=java.util.concurrent.TimeoutException: Request timed out&amp;#93;&lt;/span&gt;]&lt;br/&gt;
java.util.concurrent.TimeoutException: Request timed out&lt;br/&gt;
	at org.opendaylight.openflowjava.protocol.impl.core.connection.ResponseExpectedRpcListener.discard(ResponseExpectedRpcListener.java:33)&lt;span class=&quot;error&quot;&gt;&amp;#91;162:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowjava.protocol.impl.core.connection.AbstractConnectionAdapter$1.onRemoval(AbstractConnectionAdapter.java:90)&lt;span class=&quot;error&quot;&gt;&amp;#91;162:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.cache.LocalCache.processPendingNotifications(LocalCache.java:1956)&lt;span class=&quot;error&quot;&gt;&amp;#91;54:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.cache.LocalCache$Segment.runUnlockedCleanup(LocalCache.java:3460)&lt;span class=&quot;error&quot;&gt;&amp;#91;54:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.cache.LocalCache$Segment.postWriteCleanup(LocalCache.java:3436)&lt;span class=&quot;error&quot;&gt;&amp;#91;54:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.cache.LocalCache$Segment.put(LocalCache.java:2891)&lt;span class=&quot;error&quot;&gt;&amp;#91;54:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.cache.LocalCache.put(LocalCache.java:4149)&lt;span class=&quot;error&quot;&gt;&amp;#91;54:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.google.common.cache.LocalCache$LocalManualCache.put(LocalCache.java:4754)&lt;span class=&quot;error&quot;&gt;&amp;#91;54:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowjava.protocol.impl.core.connection.ResponseExpectedRpcListener.operationSuccessful(ResponseExpectedRpcListener.java:44)&lt;span class=&quot;error&quot;&gt;&amp;#91;162:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowjava.protocol.impl.core.connection.AbstractRpcListener.operationComplete(AbstractRpcListener.java:63)&lt;span class=&quot;error&quot;&gt;&amp;#91;162:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:680)&lt;span class=&quot;error&quot;&gt;&amp;#91;113:io.netty.common:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:567)&lt;span class=&quot;error&quot;&gt;&amp;#91;113:io.netty.common:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:406)&lt;span class=&quot;error&quot;&gt;&amp;#91;113:io.netty.common:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:82)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.ChannelOutboundBuffer.safeSuccess(ChannelOutboundBuffer.java:672)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:262)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.ChannelOutboundBuffer.removeBytes(ChannelOutboundBuffer.java:342)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:318)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:765)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:311)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:733)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1127)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:673)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:654)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:673)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:654)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.DefaultChannelPipeline.flush(DefaultChannelPipeline.java:897)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.AbstractChannel.flush(AbstractChannel.java:192)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue.flush(ChannelOutboundQueue.java:212)&lt;span class=&quot;error&quot;&gt;&amp;#91;162:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue.access$000(ChannelOutboundQueue.java:37)&lt;span class=&quot;error&quot;&gt;&amp;#91;162:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.openflowjava.protocol.impl.core.connection.ChannelOutboundQueue$1.run(ChannelOutboundQueue.java:81)&lt;span class=&quot;error&quot;&gt;&amp;#91;162:org.opendaylight.openflowjava.openflow-protocol-impl:0.7.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:329)&lt;span class=&quot;error&quot;&gt;&amp;#91;113:io.netty.common:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)&lt;span class=&quot;error&quot;&gt;&amp;#91;114:io.netty.transport:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)&lt;span class=&quot;error&quot;&gt;&amp;#91;113:io.netty.common:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)&lt;span class=&quot;error&quot;&gt;&amp;#91;113:io.netty.common:4.0.33.Final&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.lang.Thread.run(Thread.java:745)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_80&amp;#93;&lt;/span&gt;&lt;br/&gt;
2016-02-02 20:46:04,210 | WARN  | entLoopGroup-9-3 | ConnectionAdapterImpl            | 162 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.7.0.SNAPSHOT | received unexpected rpc response: RpcResultKey &lt;span class=&quot;error&quot;&gt;&amp;#91;xid=139, outputClazz=org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.BarrierOutput&amp;#93;&lt;/span&gt;&lt;br/&gt;
2016-02-02 20:46:04,210 | WARN  | TN Flow Thread-0 | TxSyncFuture                     | 178 - org.opendaylight.vtn.manager.implementation - 0.4.0.SNAPSHOT | Background task for MD-SAL transaction has failed: target=org.opendaylight.vtn.manager.internal.vnode.RemoveVlanMapTask@5690af87&lt;br/&gt;
org.opendaylight.vtn.manager.VTNException: RPC returned error&lt;br/&gt;
	at org.opendaylight.vtn.manager.internal.util.rpc.RpcUtils.checkResult(RpcUtils.java:189)&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:92)&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.flow.remove.FlowRemoveTask.checkResults(FlowRemoveTask.java:78)&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.flow.remove.FlowRemoveTask.run(FlowRemoveTask.java:114)&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.concurrent.VTNThreadPool$WorkerThread.run(VTNThreadPool.java:400)&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;</comment>
                            <comment id="46876" author="yasuda" created="Tue, 2 Feb 2016 11:57:55 +0000"  >&lt;p&gt;Attachment mininet.pcap has been added with description: Packets between connection and mininet.&lt;/p&gt;</comment>
                            <comment id="46872" author="michal.polkorab@gmail.com" created="Tue, 2 Feb 2016 15:49:28 +0000"  >&lt;p&gt;I agree with your remarks now. The reason why the xid is not used is due to communication with virtual switches (OVS or Cpqd - probably Cpqd) - as the switches replied to requests with different xid-s. I thought we have already fixed this behavior - but unfortunately not. Thanks for reporting the bug.&lt;/p&gt;

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

&lt;p&gt;Hopefully noone uses old switches today - otherwise this might cause problems in communication.&lt;/p&gt;</comment>
                            <comment id="46873" author="yasuda" created="Wed, 3 Feb 2016 10:26:17 +0000"  >&lt;p&gt;(In reply to Michal Polkorab from comment #8)&lt;br/&gt;
&amp;gt; Fix is pushed here:&lt;br/&gt;
&amp;gt; &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/33906&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/33906&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I verified the patch fixed this issue. Thanks.&lt;br/&gt;
Could you cherry-pick the patch to master?&lt;/p&gt;</comment>
                            <comment id="46874" author="michal.polkorab@gmail.com" created="Wed, 3 Feb 2016 10:37:37 +0000"  >&lt;p&gt;Definitely, I will just wait for any failure reports. If there are none, I will also cherry-pick the change to master.&lt;/p&gt;</comment>
                            <comment id="46875" author="michal.polkorab@gmail.com" created="Tue, 1 Mar 2016 07:49:34 +0000"  >&lt;p&gt;Fix for Boron: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/35353/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/35353/&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13270" name="mininet.pcap" size="122158" author="yasuda" created="Tue, 2 Feb 2016 11:57:55 +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>4614</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=4614]]></customfieldvalue>

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

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