Uploaded image for project: 'OpenFlowPlugin'
  1. OpenFlowPlugin
  2. OPNFLWPLUG-418

Concurrent modification exception seen when programming flows into mininet

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Done
    • None
    • None
    • General
    • None
    • Operating System: All
      Platform: All

    • 3062

    Description

      Add flows to the data stroe through REST while mininet is connected. Sometimes the following exception is seen:

      2015-04-24 22:50:36,238 | ERROR | entLoopGroup-8-3 | ExecutionList | 97 - com.google.guava - 18.0.0 | RuntimeException while executing runnable com.google.common.util.concurrent.Futures$6@79c46fe0 with executor INSTANCE
      java.util.ConcurrentModificationException
      at java.util.HashMap$HashIterator.nextEntry(HashMap.java:922)[:1.7.0_71]
      at java.util.HashMap$KeyIterator.next(HashMap.java:956)[:1.7.0_71]
      at org.opendaylight.openflowplugin.impl.device.DeviceContextImpl.extractNextOutstandingMessage(DeviceContextImpl.java:437)[261:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT]
      at org.opendaylight.openflowplugin.impl.device.BarrierProcessor.processOutstandingRequests(BarrierProcessor.java:44)[261:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT]
      at org.opendaylight.openflowplugin.impl.device.BarrierTaskBuilder$2.onSuccess(BarrierTaskBuilder.java:78)[261:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT]
      at org.opendaylight.openflowplugin.impl.device.BarrierTaskBuilder$2.onSuccess(BarrierTaskBuilder.java:75)[261:org.opendaylight.openflowplugin.impl:0.1.0.SNAPSHOT]
      at com.google.common.util.concurrent.Futures$6.run(Futures.java:1319)[97:com.google.guava:18.0.0]
      at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457)[97:com.google.guava:18.0.0]
      at com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156)[97:com.google.guava:18.0.0]
      at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145)[97:com.google.guava:18.0.0]
      at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:185)[97:com.google.guava:18.0.0]
      at com.google.common.util.concurrent.SettableFuture.set(SettableFuture.java:53)[97:com.google.guava:18.0.0]
      at org.opendaylight.openflowjava.protocol.impl.core.connection.AbstractRpcListener.successfulRpc(AbstractRpcListener.java:101)[258:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
      at org.opendaylight.openflowjava.protocol.impl.core.connection.ResponseExpectedRpcListener.completed(ResponseExpectedRpcListener.java:38)[258:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
      at org.opendaylight.openflowjava.protocol.impl.core.connection.ConnectionAdapterImpl.consume(ConnectionAdapterImpl.java:315)[258:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
      at org.opendaylight.openflowjava.protocol.impl.core.DelegatingInboundHandler.channelRead(DelegatingInboundHandler.java:46)[258:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)[151:io.netty.transport:4.0.26.Final]
      at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)[151:io.netty.transport:4.0.26.Final]
      at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)[177:io.netty.codec:4.0.26.Final]
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)[151:io.netty.transport:4.0.26.Final]
      at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)[151:io.netty.transport:4.0.26.Final]
      at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)[177:io.netty.codec:4.0.26.Final]
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)[151:io.netty.transport:4.0.26.Final]
      at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)[151:io.netty.transport:4.0.26.Final]
      at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)[177:io.netty.codec:4.0.26.Final]
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)[151:io.netty.transport:4.0.26.Final]
      at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)[151:io.netty.transport:4.0.26.Final]
      at io.netty.handler.timeout.ReadTimeoutHandler.channelRead(ReadTimeoutHandler.java:150)[178:io.netty.handler:4.0.26.Final]
      at org.opendaylight.openflowjava.protocol.impl.core.IdleHandler.channelRead(IdleHandler.java:39)[258:org.opendaylight.openflowjava.openflow-protocol-impl:0.6.0.SNAPSHOT]
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)[151:io.netty.transport:4.0.26.Final]
      at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)[151:io.netty.transport:4.0.26.Final]
      at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)[151:io.netty.transport:4.0.26.Final]
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)[151:io.netty.transport:4.0.26.Final]
      at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)[151:io.netty.transport:4.0.26.Final]
      at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847)[151:io.netty.transport:4.0.26.Final]
      at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)[151:io.netty.transport:4.0.26.Final]
      at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)[151:io.netty.transport:4.0.26.Final]
      at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)[151:io.netty.transport:4.0.26.Final]
      at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)[151:io.netty.transport:4.0.26.Final]
      at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:349)[151:io.netty.transport:4.0.26.Final]
      at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)[152:io.netty.common:4.0.26.Final]
      at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)[152:io.netty.common:4.0.26.Final]
      at java.lang.Thread.run(Thread.java:745)[:1.7.0_71]

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            Unassigned Unassigned
            jmedved@cisco.com Jan Medved
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: