Bug 1593 - Flow Statistics manager is updating store with incorrect key 35/10135/4
authorAnil Vishnoi <avishnoi@in.ibm.com>
Thu, 21 Aug 2014 13:30:36 +0000 (19:00 +0530)
committeravishnoi <avishnoi@in.ibm.com>
Mon, 25 Aug 2014 10:47:10 +0000 (10:47 +0000)
commit156ff6a6f01d07dacbbc807f7b0deff41ac7ee2d
treef67894e479e03045112f79e813c2606b3f4ca562
parentf4bad4be4f0838122b9799d133878877088e870d
Bug 1593 - Flow Statistics manager is updating store with incorrect key
Statistics manager cache the metadata related to stats data of all the entities (flow,group,
meter,queue) like when was their respective stats were updated in operational data store.
If statistics manager see that stats are not being updated from last two stats fetch cycle,
it consider it stale and remove it. Object that it uses as keys for hash map cache contains
some variant data (counters/durations) that varies in every stats fetch cycle. It creats
duplicate entry in the cache for the same entity. After two fetch cycle statistics manager
find old entry stale and removes it, but in actual that's not the case. This exception is
thrown when it tries to remove the stats related to next duplicate entry (which was already
removed ). Fixed it by using invariant key for caching the metadata to avoid the duplication.

Change-Id: Iad5823ab70938a66fd3d024dc921b74e0852c204
Signed-off-by: Anil Vishnoi <avishnoi@in.ibm.com>
opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/AbstractStatsTracker.java
opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/FlowStatsEntry.java
opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/FlowStatsTracker.java
opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/FlowTableStatsTracker.java
opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/GroupDescStatsTracker.java
opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/GroupStatsTracker.java
opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/MeterConfigStatsTracker.java
opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/MeterStatsTracker.java
opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/NodeConnectorStatsTracker.java
opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/QueueStatsTracker.java