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) ~[?:?] |