X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-remoterpc-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fremote%2Frpc%2Fregistry%2Fgossip%2FBucketStore.java;h=39235bd97834786c02b250393d9e16f10b8a2064;hb=9120c2cf7c530f566d8af94d4f9dc2cb2d3351f7;hp=934609b7cfcfeb8ea14a8c1ff803c53ba938b1aa;hpb=b0648268f5f85e2533d39e37b01b35487823cac3;p=controller.git diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStore.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStore.java index 934609b7cf..39235bd978 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStore.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStore.java @@ -13,9 +13,7 @@ import akka.actor.ActorRefProvider; import akka.actor.Address; import akka.actor.Props; import akka.cluster.ClusterActorRefProvider; -import akka.event.Logging; -import akka.event.LoggingAdapter; -import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Preconditions; import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -29,6 +27,8 @@ import org.opendaylight.controller.remote.rpc.registry.gossip.Messages.BucketSto import org.opendaylight.controller.remote.rpc.registry.gossip.Messages.BucketStoreMessages.GetBucketsByMembersReply; import org.opendaylight.controller.remote.rpc.registry.gossip.Messages.BucketStoreMessages.UpdateRemoteBuckets; import org.opendaylight.controller.utils.ConditionalProbe; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * A store that syncs its data across nodes in the cluster. @@ -43,7 +43,7 @@ public class BucketStore> extends AbstractUntypedActorWithMe private static final Long NO_VERSION = -1L; - final LoggingAdapter log = Logging.getLogger(getContext().system(), this); + protected final Logger log = LoggerFactory.getLogger(getClass()); /** * Bucket owned by the node @@ -69,8 +69,8 @@ public class BucketStore> extends AbstractUntypedActorWithMe private final RemoteRpcProviderConfig config; - public BucketStore(){ - config = new RemoteRpcProviderConfig(getContext().system().settings().config()); + public BucketStore(RemoteRpcProviderConfig config){ + this.config = Preconditions.checkNotNull(config); } @Override @@ -79,7 +79,7 @@ public class BucketStore> extends AbstractUntypedActorWithMe selfAddress = provider.getDefaultAddress(); if ( provider instanceof ClusterActorRefProvider) { - getContext().actorOf(Props.create(Gossiper.class).withMailbox(config.getMailBoxName()), "gossiper"); + getContext().actorOf(Props.create(Gossiper.class, config).withMailbox(config.getMailBoxName()), "gossiper"); } } @@ -102,7 +102,7 @@ public class BucketStore> extends AbstractUntypedActorWithMe } else if (message instanceof GetBucketVersions) { receiveGetBucketVersions(); } else if (message instanceof UpdateRemoteBuckets) { - receiveUpdateRemoteBuckets(((UpdateRemoteBuckets) message).getBuckets()); + receiveUpdateRemoteBuckets(((UpdateRemoteBuckets) message).getBuckets()); } else { if(log.isDebugEnabled()) { log.debug("Unhandled message [{}]", message); @@ -116,7 +116,7 @@ public class BucketStore> extends AbstractUntypedActorWithMe */ void receiveGetAllBuckets(){ final ActorRef sender = getSender(); - sender.tell(new GetAllBucketsReply(getAllBuckets()), getSelf()); + sender.tell(new GetAllBucketsReply(getAllBuckets()), getSelf()); } /** @@ -124,9 +124,8 @@ public class BucketStore> extends AbstractUntypedActorWithMe * * @return self owned + remote buckets */ - @SuppressWarnings("rawtypes") - Map getAllBuckets(){ - Map all = new HashMap<>(remoteBuckets.size() + 1); + Map> getAllBuckets(){ + Map> all = new HashMap<>(remoteBuckets.size() + 1); //first add the local bucket all.put(selfAddress, new BucketImpl<>(localBucket)); @@ -142,11 +141,10 @@ public class BucketStore> extends AbstractUntypedActorWithMe * * @param members requested members */ - @SuppressWarnings("rawtypes") void receiveGetBucketsByMembers(Set
members){ final ActorRef sender = getSender(); - Map buckets = getBucketsByMembers(members); - sender.tell(new GetBucketsByMembersReply(buckets), getSelf()); + Map> buckets = getBucketsByMembers(members); + sender.tell(new GetBucketsByMembersReply(buckets), getSelf()); } /** @@ -155,9 +153,8 @@ public class BucketStore> extends AbstractUntypedActorWithMe * @param members requested members * @return buckets for requested memebers */ - @SuppressWarnings("rawtypes") - Map getBucketsByMembers(Set
members) { - Map buckets = new HashMap<>(); + Map> getBucketsByMembers(Set
members) { + Map> buckets = new HashMap<>(); //first add the local bucket if asked if (members.contains(selfAddress)) { @@ -189,8 +186,7 @@ public class BucketStore> extends AbstractUntypedActorWithMe * @param receivedBuckets buckets sent by remote * {@link org.opendaylight.controller.remote.rpc.registry.gossip.Gossiper} */ - @SuppressWarnings({ "rawtypes", "unchecked" }) - void receiveUpdateRemoteBuckets(Map receivedBuckets){ + void receiveUpdateRemoteBuckets(Map> receivedBuckets){ log.debug("{}: receiveUpdateRemoteBuckets: {}", selfAddress, receivedBuckets); if (receivedBuckets == null || receivedBuckets.isEmpty()) { @@ -200,7 +196,7 @@ public class BucketStore> extends AbstractUntypedActorWithMe //Remote cant update self's bucket receivedBuckets.remove(selfAddress); - for (Map.Entry entry : receivedBuckets.entrySet()){ + for (Map.Entry> entry : receivedBuckets.entrySet()){ Long localVersion = versions.get(entry.getKey()); if (localVersion == null) { @@ -230,7 +226,7 @@ public class BucketStore> extends AbstractUntypedActorWithMe } } - protected BucketImpl getLocalBucket() { + public BucketImpl getLocalBucket() { return localBucket; } @@ -239,12 +235,11 @@ public class BucketStore> extends AbstractUntypedActorWithMe versions.put(selfAddress, localBucket.getVersion()); } - protected Map> getRemoteBuckets() { + public Map> getRemoteBuckets() { return remoteBuckets; } - @VisibleForTesting - Map getVersions() { + public Map getVersions() { return versions; } }