Fixes concurrency bug by using a ConcurrentMap
Change-Id: Ib87efe01cb926a3b4c789c9875458ad2ba1b7c8c
(cherry picked from commit 25ba56836827f4c17ced3d9f4148a284c16b9fe4)
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
index 1482add..013fe9d 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java
@@ -130,11 +130,11 @@
private Cache<Long, InternalCacheEntry> pendingBatches;
private final Timer timer = new Timer("onos-openflow-collector");
- private final Map<Dpid, FlowStatsCollector> simpleCollectors = Maps.newHashMap();
+ private final Map<Dpid, FlowStatsCollector> simpleCollectors = Maps.newConcurrentMap();
// NewAdaptiveFlowStatsCollector Set
- private final Map<Dpid, NewAdaptiveFlowStatsCollector> afsCollectors = Maps.newHashMap();
- private final Map<Dpid, TableStatisticsCollector> tableStatsCollectors = Maps.newHashMap();
+ private final Map<Dpid, NewAdaptiveFlowStatsCollector> afsCollectors = Maps.newConcurrentMap();
+ private final Map<Dpid, TableStatisticsCollector> tableStatsCollectors = Maps.newConcurrentMap();
/**
* Creates an OpenFlow host provider.