Bug 2526: Race condition may cause missing routes in RPC BucketStore 53/13753/7
authortpantelis <tpanteli@brocade.com>
Fri, 19 Dec 2014 08:45:43 +0000 (03:45 -0500)
committertpantelis <tpanteli@brocade.com>
Sat, 20 Dec 2014 02:14:41 +0000 (21:14 -0500)
commitc083d5c6ef874e38eebca402105e740f3614d6f7
tree0c1b462a00a87dc9a0cd02088ebc3a3b945ff23b
parent63d1393226781ef6fa1c2cf0cdba5f0b5240ab6e
Bug 2526: Race condition may cause missing routes in RPC BucketStore

Changed the RpcRegistry class to derive from BucketStore instead of
creating the BucketStore as a separate actor. This was done because the
copy-on-write update operations in the BucketStore need to be done
atomically so the RpcRegistry needs direct access to the BucketStore in
order to do this safely and efficiently. The RpcRegistry handles the
sematics of the Bucket data - this keeps the BucketStore data agnostic.

Change-Id: Ief96c28775b729f459d324971403222e5a578029
Signed-off-by: tpantelis <tpanteli@brocade.com>
opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/RoutingTable.java
opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistry.java
opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/Bucket.java
opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketImpl.java
opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStore.java
opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/Messages.java
opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/RpcRegistryTest.java
opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStoreTest.java