*/
package org.opendaylight.controller.cluster.datastore.entityownership;
+import static java.util.Objects.requireNonNull;
import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.CANDIDATE_NODE_ID;
import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNER_NODE_ID;
import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityPath;
import akka.pattern.Patterns;
import akka.util.Timeout;
import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import java.util.Collection;
+import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.TimeUnit;
private volatile DataTree localEntityOwnershipShardDataTree;
DistributedEntityOwnershipService(final ActorContext context) {
- this.context = Preconditions.checkNotNull(context);
+ this.context = requireNonNull(context);
}
public static DistributedEntityOwnershipService start(final ActorContext context,
"entity-owners", ENTITY_OWNERSHIP_SHARD_NAME, ModuleShardStrategy.NAME, entityOwnersMemberNames),
newShardBuilder(context, strategyConfig), null);
- Future<Object> createFuture = context.executeOperationAsync(shardManagerActor,
- createShard, MESSAGE_TIMEOUT);
-
+ Future<Object> createFuture = context.executeOperationAsync(shardManagerActor, createShard, MESSAGE_TIMEOUT);
createFuture.onComplete(new OnComplete<Object>() {
@Override
public void onComplete(final Throwable failure, final Object response) {
@Override
public void onComplete(final Throwable failure, final Object response) {
if (failure != null) {
- LOG.debug("Error sending message {} to {}", message, shardActor, failure);
+ // FIXME: CONTROLLER-1904: reduce the severity to info once we have a retry mechanism
+ LOG.error("Error sending message {} to {}", message, shardActor, failure);
} else {
LOG.debug("{} message to {} succeeded", message, shardActor);
}
@Override
public void onComplete(final Throwable failure, final ActorRef shardActor) {
if (failure != null) {
+ // FIXME: CONTROLLER-1904: reduce the severity to info once we have a retry mechanism
LOG.error("Failed to find local {} shard", ENTITY_OWNERSHIP_SHARD_NAME, failure);
} else {
localEntityOwnershipShard = shardActor;
@Override
public DOMEntityOwnershipCandidateRegistration registerCandidate(final DOMEntity entity)
throws CandidateAlreadyRegisteredException {
- Preconditions.checkNotNull(entity, "entity cannot be null");
+ requireNonNull(entity, "entity cannot be null");
if (registeredEntities.putIfAbsent(entity, entity) != null) {
throw new CandidateAlreadyRegisteredException(entity);
@Override
public DOMEntityOwnershipListenerRegistration registerListener(final String entityType,
final DOMEntityOwnershipListener listener) {
- Preconditions.checkNotNull(entityType, "entityType cannot be null");
- Preconditions.checkNotNull(listener, "listener cannot be null");
-
RegisterListenerLocal registerListener = new RegisterListenerLocal(listener, entityType);
LOG.debug("Registering listener with message: {}", registerListener);
@Override
public Optional<EntityOwnershipState> getOwnershipState(final DOMEntity forEntity) {
- Preconditions.checkNotNull(forEntity, "forEntity cannot be null");
+ requireNonNull(forEntity, "forEntity cannot be null");
DataTree dataTree = getLocalEntityOwnershipShardDataTree();
if (dataTree == null) {
- return Optional.absent();
+ return Optional.empty();
}
Optional<NormalizedNode<?, ?>> entityNode = dataTree.takeSnapshot().readNode(
entityPath(forEntity.getType(), forEntity.getIdentifier()));
if (!entityNode.isPresent()) {
- return Optional.absent();
+ return Optional.empty();
}
// Check if there are any candidates, if there are none we do not really have ownership state
final boolean hasCandidates = optionalCandidates.isPresent()
&& ((MapNode) optionalCandidates.get()).getValue().size() > 0;
if (!hasCandidates) {
- return Optional.absent();
+ return Optional.empty();
}
MemberName localMemberName = context.getCurrentMemberName();