[OPNFLWPLUG-806] Race condition in statistics collection related transaction chain handling Created: 22/Oct/16  Updated: 27/Sep/21  Resolved: 10/Dec/16

Status: Resolved
Project: OpenFlowPlugin
Component/s: General
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Anil Vishnoi Assignee: Anil Vishnoi
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 7011
Priority: High

 Description   

I am attaching 16 switches to openflow plugin and installing random number of groups and flows to these switches and then disconnecting the switches. I am doing these steps in a loop. During this loop if any write transaction for writing statistics to operational data store fails, it eventually stops the stats collection for that specific node. There are two issues here:
(1) TransactionChain close is not happening before the next cycle starts. So next iteration eventually end up using the same transaction chain and it throws exception in WriteTransaction.put() operation saying previous operation is not yet ready. This exception kills the HashWheelTimerTask for that specific node.
(2) Even though if this exception is caught, pollStatistics() stops the statistics because it throws the similar exception. Following URL has the relevant log for the node for which stats collection stops.

https://gist.githubusercontent.com/vishnoianil/5a5b6a68b93506bd27c760da866d1396/raw/b924c7fa5efed09df986c08f13febfd339b8d30b/gistfile1.txt



 Comments   
Comment by Anil Vishnoi [ 22/Oct/16 ]

stable/boron: https://git.opendaylight.org/gerrit/#/c/47379/
master : https://git.opendaylight.org/gerrit/#/c/47380/1

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