BUG-5097: Error trying to update EffectiveRibIn from a removed Peer 99/33699/9
authorClaudio D. Gasparini <cgaspari@cisco.com>
Wed, 27 Jan 2016 18:51:13 +0000 (19:51 +0100)
committerGerrit Code Review <gerrit@opendaylight.org>
Mon, 8 Feb 2016 19:21:55 +0000 (19:21 +0000)
commit207734e373a0a32a77edeab560a5379023ddb39d
tree701ace6497b40f7862cff6152489eccb6ad53bb5
parent72ce9fc76785dd5a4ee8d25b3ad3a8033cdd94f9
BUG-5097: Error trying to update EffectiveRibIn from a removed Peer

When more than one peer are removed at same time, cause a race
condition between remove Peer from DS and update removed routes.
Fix by creating a shared Singleton cache with removed peers between
listeners.

Change-Id: Ic4b2ab8283e07695203f9e4d9ceb245985104766
Signed-off-by: Claudio D. Gasparini <cgaspari@cisco.com>
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibInWriter.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPPeer.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/CacheDisconnectedPeersImpl.java [new file with mode: 0644]
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/LocRibWriter.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBImpl.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBSupportContextImpl.java
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/CacheDisconnectedPeers.java [new file with mode: 0644]
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIB.java
bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/LocRibWriterTest.java