[OPNFLWPLUG-1013] Missing synchronisation in DeviceFlowRegistryImpl Created: 24/May/18  Updated: 04/Jun/18  Resolved: 04/Jun/18

Status: Resolved
Project: OpenFlowPlugin
Component/s: None
Affects Version/s: None
Fix Version/s: Oxygen-SR2, Fluorine

Type: Bug Priority: Medium
Reporter: Stephen Kitt Assignee: Stephen Kitt
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


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


Generated at Wed Feb 07 20:33:58 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.