Prevent deadlock when updating PCEP stats when Tx chain fails 68/89968/4
authorAjay Lele <ajayslele@gmail.com>
Tue, 26 May 2020 18:05:10 +0000 (11:05 -0700)
committerRobert Varga <nite@hq.sk>
Fri, 17 Jul 2020 10:05:09 +0000 (10:05 +0000)
commit2cb352533464b608896336b88e69ddd8f5df0031
tree293b53f4de9486ed23e62c29039239c6428e7238
parentb686c59ff8b52fda5f8413be75089bf61187bce9
Prevent deadlock when updating PCEP stats when Tx chain fails

Multiple threads are blocked on TopologyStatsProviderImpl
instance lock which is held from TopologyStatsProviderImpl#unbind()
which in turn is waiting for delete transaction commit
future to complete. The transaction chain has failed but
the callback TopologyStatsProviderImpl#onTransactionChainFailed()
is blocked on lock held by earlier thread, thus creating a deadlock.
Patch avoids this by registering callback on delete transaction
commit future instead of the blocking call.

JIRA: BGPCEP-901
Signed-off-by: Ajay Lele <ajayslele@gmail.com>
Change-Id: I4a65b3dd00fb6f1255bf6eeb8b5f1d03f3b3a182
pcep/topology/topology-stats/src/main/java/org/opendaylight/bgpcep/pcep/topology/stats/provider/TopologyStatsProviderImpl.java