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

Missing synchronisation in DeviceFlowRegistryImpl

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Medium
    • Resolution: Done
    • None
    • Oxygen-SR2, Fluorine
    • None
    • None

    Description

      getExistingKey doesn't protect its iteration over the flow registry, which shows up as

      2018-05-03T01:13:59,405 | ERROR | opendaylight-cluster-data-akka.actor.default-dispatcher-41 | AbstractFuture

      32 - com.google.guava - 23.3.0.jre RuntimeException while executing runnable CallbackListener {org.opendaylight.openf lowplugin.impl.registry.flow.DeviceFlowRegistryImpl$1@28f6f7e2}

      with executor MoreExecutors.directExecutor()
      java.util.ConcurrentModificationException: null
      at com.google.common.collect.HashBiMap$Itr.hasNext(HashBiMap.java:412) ~[32:com.google.guava:23.3.0.jre]
      at org.opendaylight.openflowplugin.impl.registry.flow.DeviceFlowRegistryImpl.getExistingKey(DeviceFlowRegistryImpl.j
      ava:293) ~[?:?]
      at org.opendaylight.openflowplugin.impl.registry.flow.DeviceFlowRegistryImpl.addToFlowRegistry(DeviceFlowRegistryImp
      l.java:270) ~[?:?]
      at org.opendaylight.openflowplugin.impl.registry.flow.DeviceFlowRegistryImpl.storeDescriptor(DeviceFlowRegistryImpl.
      java:180) ~[?:?]
      at org.opendaylight.openflowplugin.impl.registry.flow.DeviceFlowRegistryImpl.lambda$new$0(DeviceFlowRegistryImpl.jav
      a:72) ~[?:?]

      Attachments

        # Subject Branch Project Status CR V

        Activity

          People

            skitt Stephen Kitt
            skitt Stephen Kitt
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: