From: Tom Pantelis Date: Thu, 27 Apr 2017 11:23:34 +0000 (-0400) Subject: Add more debug logging for DTCL registration/notification code paths X-Git-Tag: release/nitrogen~305 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=4d15b2022b97238fa9da4df4239f88c619b2e264 Add more debug logging for DTCL registration/notification code paths Added logging so the listener instance and actor can be traced end-to-end from FE registration to the BE publisher actor. Also added log context to some classes to identify which shard it belongs to. Change-Id: I3e6dd92e7632139372407abf94a160096aa7750e Signed-off-by: Tom Pantelis --- diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractDataListenerSupport.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractDataListenerSupport.java index f9995a28b1..15de81e290 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractDataListenerSupport.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractDataListenerSupport.java @@ -42,7 +42,7 @@ abstract class AbstractDataListenerSupport ext this.dataChangeListenerActor = actorContext.getActorSystem().actorOf( DataTreeChangeListenerActor.props(getInstance(), registeredPath) .withDispatcher(actorContext.getNotificationDispatcherPath())); + + LOG.debug("{}: Created actor {} for DTCL {}", actorContext.getDatastoreContext().getLogicalStoreType(), + dataChangeListenerActor, listener); } @Override @@ -69,11 +72,12 @@ final class DataTreeChangeListenerProxy ext @Override public void onComplete(final Throwable failure, final ActorRef shard) { if (failure instanceof LocalShardNotFoundException) { - LOG.debug("No local shard found for {} - DataTreeChangeListener {} at path {} " - + "cannot be registered", shardName, getInstance(), registeredPath); + LOG.debug("{}: No local shard found for {} - DataTreeChangeListener {} at path {} " + + "cannot be registered", logContext(), shardName, getInstance(), registeredPath); } else if (failure != null) { - LOG.error("Failed to find local shard {} - DataTreeChangeListener {} at path {} " - + "cannot be registered: {}", shardName, getInstance(), registeredPath, failure); + LOG.error("{}: Failed to find local shard {} - DataTreeChangeListener {} at path {} " + + "cannot be registered: {}", logContext(), shardName, getInstance(), registeredPath, + failure); } else { doRegistration(shard); } @@ -83,7 +87,7 @@ final class DataTreeChangeListenerProxy ext private void setListenerRegistrationActor(final ActorSelection actor) { if (actor == null) { - LOG.debug("Ignoring null actor on {}", this); + LOG.debug("{}: Ignoring null actor on {}", logContext(), this); return; } @@ -109,7 +113,7 @@ final class DataTreeChangeListenerProxy ext @Override public void onComplete(final Throwable failure, final Object result) { if (failure != null) { - LOG.error("Failed to register DataTreeChangeListener {} at path {}", + LOG.error("{}: Failed to register DataTreeChangeListener {} at path {}", logContext(), getInstance(), registeredPath, failure); } else { RegisterDataTreeChangeListenerReply reply = (RegisterDataTreeChangeListenerReply) result; @@ -129,4 +133,8 @@ final class DataTreeChangeListenerProxy ext ActorRef getDataChangeListenerActor() { return dataChangeListenerActor; } + + private String logContext() { + return actorContext.getDatastoreContext().getLogicalStoreType().toString(); + } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerSupport.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerSupport.java index f250fb2904..a3ed4a19c9 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerSupport.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerSupport.java @@ -27,7 +27,7 @@ final class DataTreeChangeListenerSupport extends AbstractDataListenerSupport listener, final DOMImmutableDataChangeEvent notification) { - LOG.debug("Notifying listener {} about {}", listener.getInstance(), notification); + LOG.debug("{}: Notifying listener {} about {}", logContext, listener.getInstance(), notification); listener.getInstance().onDataChanged(notification); } @@ -49,7 +54,7 @@ final class DefaultShardDataChangeListenerPublisher implements ShardDataChangeLi public void submitNotifications(final DataChangeListenerRegistration listener, final Iterable notifications) { final AsyncDataChangeListener> instance = listener.getInstance(); - LOG.debug("Notifying listener {} about {}", instance, notifications); + LOG.debug("{}: Notifying listener {} about {}", logContext, instance, notifications); for (DOMImmutableDataChangeEvent n : notifications) { instance.onDataChanged(n); @@ -57,7 +62,7 @@ final class DefaultShardDataChangeListenerPublisher implements ShardDataChangeLi } @Override - public void publishChanges(DataTreeCandidate candidate, String logContext) { + public void publishChanges(DataTreeCandidate candidate) { ResolveDataChangeEventsTask.create(candidate, dataChangeListenerTree).resolve(this); } @@ -73,15 +78,15 @@ final class DefaultShardDataChangeListenerPublisher implements ShardDataChangeLi onRegistration.accept(registration); if (initialState.isPresent()) { - notifySingleListener(path, listener, scope, initialState.get()); + notifySingleListener(path, listener, scope, initialState.get(), logContext); } } static void notifySingleListener(final YangInstanceIdentifier path, final AsyncDataChangeListener> listener, - final DataChangeScope scope, final DataTreeCandidate initialState) { - DefaultShardDataChangeListenerPublisher publisher = new DefaultShardDataChangeListenerPublisher(); + final DataChangeScope scope, final DataTreeCandidate initialState, String logContext) { + DefaultShardDataChangeListenerPublisher publisher = new DefaultShardDataChangeListenerPublisher(logContext); publisher.registerDataChangeListener(path, listener, scope, Optional.absent(), noop -> { }); - publisher.publishChanges(initialState, ""); + publisher.publishChanges(initialState); } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java index 02326e0f84..895ce30e8b 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DefaultShardDataTreeChangeListenerPublisher.java @@ -30,15 +30,22 @@ import org.slf4j.LoggerFactory; final class DefaultShardDataTreeChangeListenerPublisher extends AbstractDOMStoreTreeChangePublisher implements ShardDataTreeChangeListenerPublisher { private static final Logger LOG = LoggerFactory.getLogger(DefaultShardDataTreeChangeListenerPublisher.class); + private String logContext; + + DefaultShardDataTreeChangeListenerPublisher(String logContext) { + this.logContext = logContext; + } @Override - public void publishChanges(final DataTreeCandidate candidate, String logContext) { + public void publishChanges(final DataTreeCandidate candidate) { + LOG.debug("{}: publishChanges: {}", logContext, candidate); processCandidateTree(candidate); } @Override protected void notifyListener(AbstractDOMDataTreeChangeListenerRegistration registration, Collection changes) { + LOG.debug("{}: notifyListener: listener: {}", logContext, registration.getInstance()); registration.getInstance().onDataTreeChanged(changes); } @@ -51,10 +58,10 @@ final class DefaultShardDataTreeChangeListenerPublisher extends AbstractDOMStore public void registerTreeChangeListener(YangInstanceIdentifier treeId, DOMDataTreeChangeListener listener, Optional initialState, Consumer> onRegistration) { + LOG.debug("{}: registerTreeChangeListener: path: {}, listener: {}", logContext, treeId, listener); + AbstractDOMDataTreeChangeListenerRegistration - registration = super.registerTreeChangeListener(treeId, - (org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener)changes -> - listener.onDataTreeChanged(changes)); + registration = super.registerTreeChangeListener(treeId, new ForwardingDOMDataTreeChangeListener(listener)); onRegistration.accept( new org.opendaylight.controller.md.sal.dom.spi.AbstractDOMDataTreeChangeListenerRegistration< @@ -66,14 +73,36 @@ final class DefaultShardDataTreeChangeListenerPublisher extends AbstractDOMStore }); if (initialState.isPresent()) { - notifySingleListener(treeId, listener, initialState.get()); + notifySingleListener(treeId, listener, initialState.get(), logContext); } } static void notifySingleListener(YangInstanceIdentifier treeId, DOMDataTreeChangeListener listener, - DataTreeCandidate state) { - DefaultShardDataTreeChangeListenerPublisher publisher = new DefaultShardDataTreeChangeListenerPublisher(); + DataTreeCandidate state, String logContext) { + LOG.debug("{}: notifySingleListener: path: {}, listener: {}", logContext, treeId, listener); + DefaultShardDataTreeChangeListenerPublisher publisher = + new DefaultShardDataTreeChangeListenerPublisher(logContext); + publisher.logContext = logContext; publisher.registerTreeChangeListener(treeId, listener, Optional.absent(), noop -> { }); - publisher.publishChanges(state, ""); + publisher.publishChanges(state); + } + + private static class ForwardingDOMDataTreeChangeListener + implements org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener { + final DOMDataTreeChangeListener delegate; + + ForwardingDOMDataTreeChangeListener(DOMDataTreeChangeListener delegate) { + this.delegate = delegate; + } + + @Override + public void onDataTreeChanged(Collection changes) { + delegate.onDataTreeChanged(changes); + } + + @Override + public String toString() { + return delegate.toString(); + } } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ForwardingDataTreeChangeListener.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ForwardingDataTreeChangeListener.java index 12e4294916..6cda0de152 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ForwardingDataTreeChangeListener.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ForwardingDataTreeChangeListener.java @@ -14,6 +14,8 @@ import java.util.Collection; import org.opendaylight.controller.cluster.datastore.messages.DataTreeChanged; import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeListener; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Internal implementation of a {@link DOMDataTreeChangeListener} which @@ -21,6 +23,8 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; * message and forwards them towards the client's {@link DataTreeChangeListenerActor}. */ final class ForwardingDataTreeChangeListener implements DOMDataTreeChangeListener { + private static final Logger LOG = LoggerFactory.getLogger(ForwardingDataTreeChangeListener.class); + private final ActorSelection actor; ForwardingDataTreeChangeListener(final ActorSelection actor) { @@ -29,6 +33,12 @@ final class ForwardingDataTreeChangeListener implements DOMDataTreeChangeListene @Override public void onDataTreeChanged(Collection changes) { + LOG.debug("Sending DataTreeChanged to {}", actor); actor.tell(new DataTreeChanged(changes), ActorRef.noSender()); } + + @Override + public String toString() { + return "ForwardingDataTreeChangeListener [actor=" + actor + "]"; + } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataChangeListenerPublisherActorProxy.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataChangeListenerPublisherActorProxy.java index a17c603596..28b58f7262 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataChangeListenerPublisherActorProxy.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataChangeListenerPublisherActorProxy.java @@ -40,7 +40,7 @@ class ShardDataChangeListenerPublisherActorProxy extends AbstractShardDataTreeNo Optional initialState, Consumer>>> onRegistration) { - notifierActor().tell(new ShardDataChangePublisherActor.RegisterListener(path, listener, scope, initialState, + publisherActor().tell(new ShardDataChangePublisherActor.RegisterListener(path, listener, scope, initialState, onRegistration), ActorRef.noSender()); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataChangePublisherActor.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataChangePublisherActor.java index cb7d80dbdc..ef40480e4d 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataChangePublisherActor.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataChangePublisherActor.java @@ -27,7 +27,7 @@ public class ShardDataChangePublisherActor extends ShardDataTreeNotificationPublisherActor { private ShardDataChangePublisherActor(final String name, final String logContext) { - super(new DefaultShardDataChangeListenerPublisher(), name, logContext); + super(new DefaultShardDataChangeListenerPublisher(logContext), name, logContext); } @Override @@ -36,7 +36,7 @@ public class ShardDataChangePublisherActor RegisterListener reg = (RegisterListener)message; if (reg.initialState.isPresent()) { DefaultShardDataChangeListenerPublisher.notifySingleListener(reg.path, reg.listener, reg.scope, - reg.initialState.get()); + reg.initialState.get(), logContext()); } publisher().registerDataChangeListener(reg.path, reg.listener, reg.scope, Optional.absent(), diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTree.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTree.java index 1460982bf3..4eeed882fa 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTree.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTree.java @@ -163,7 +163,8 @@ public class ShardDataTree extends ShardDataTreeTransactionParent { @VisibleForTesting public ShardDataTree(final Shard shard, final SchemaContext schemaContext, final TreeType treeType) { this(shard, schemaContext, treeType, YangInstanceIdentifier.EMPTY, - new DefaultShardDataTreeChangeListenerPublisher(), new DefaultShardDataChangeListenerPublisher(), ""); + new DefaultShardDataTreeChangeListenerPublisher(""), + new DefaultShardDataChangeListenerPublisher(""), ""); } final String logContext() { @@ -538,8 +539,8 @@ public class ShardDataTree extends ShardDataTreeTransactionParent { @VisibleForTesting public void notifyListeners(final DataTreeCandidate candidate) { - treeChangeListenerPublisher.publishChanges(candidate, logContext); - dataChangeListenerPublisher.publishChanges(candidate, logContext); + treeChangeListenerPublisher.publishChanges(candidate); + dataChangeListenerPublisher.publishChanges(candidate); } /** diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangeListenerPublisherActorProxy.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangeListenerPublisherActorProxy.java index ceaeeccaad..020319203b 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangeListenerPublisherActorProxy.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangeListenerPublisherActorProxy.java @@ -36,8 +36,10 @@ class ShardDataTreeChangeListenerPublisherActorProxy extends AbstractShardDataTr public void registerTreeChangeListener(YangInstanceIdentifier treeId, DOMDataTreeChangeListener listener, Optional currentState, Consumer> onRegistration) { - notifierActor().tell(new ShardDataTreeChangePublisherActor.RegisterListener(treeId, listener, currentState, - onRegistration), ActorRef.noSender()); + final ShardDataTreeChangePublisherActor.RegisterListener regMessage = + new ShardDataTreeChangePublisherActor.RegisterListener(treeId, listener, currentState, onRegistration); + log.debug("{}: Sending {} to publisher actor {}", logContext(), regMessage, publisherActor()); + publisherActor().tell(regMessage, ActorRef.noSender()); } @Override diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangePublisherActor.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangePublisherActor.java index f054ccdae8..61a3fa13be 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangePublisherActor.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangePublisherActor.java @@ -25,16 +25,17 @@ public class ShardDataTreeChangePublisherActor extends ShardDataTreeNotificationPublisherActor { private ShardDataTreeChangePublisherActor(final String name, final String logContext) { - super(new DefaultShardDataTreeChangeListenerPublisher(), name, logContext); + super(new DefaultShardDataTreeChangeListenerPublisher(logContext), name, logContext); } @Override protected void handleReceive(Object message) { if (message instanceof RegisterListener) { RegisterListener reg = (RegisterListener)message; + LOG.debug("{}: Received {}", logContext(), reg); if (reg.initialState.isPresent()) { DefaultShardDataTreeChangeListenerPublisher.notifySingleListener(reg.path, reg.listener, - reg.initialState.get()); + reg.initialState.get(), logContext()); } publisher().registerTreeChangeListener(reg.path, reg.listener, Optional.absent(), reg.onRegistration); @@ -61,5 +62,11 @@ public class ShardDataTreeChangePublisherActor this.initialState = Preconditions.checkNotNull(initialState); this.onRegistration = Preconditions.checkNotNull(onRegistration); } + + @Override + public String toString() { + return "RegisterListener [path=" + path + ", listener=" + listener + ", initialState present=" + + initialState.isPresent() + "]"; + } } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeNotificationPublisher.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeNotificationPublisher.java index 30b7eaf2ae..4dbd818488 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeNotificationPublisher.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeNotificationPublisher.java @@ -18,5 +18,5 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; interface ShardDataTreeNotificationPublisher { long PUBLISH_DELAY_THRESHOLD_IN_MS = TimeUnit.MILLISECONDS.convert(1, TimeUnit.SECONDS); - void publishChanges(DataTreeCandidate candidate, String logContext); + void publishChanges(DataTreeCandidate candidate); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeNotificationPublisherActor.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeNotificationPublisherActor.java index ea08830829..c22bc3bd98 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeNotificationPublisherActor.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeNotificationPublisherActor.java @@ -46,7 +46,7 @@ public class ShardDataTreeNotificationPublisherActor prefix = @@ -141,7 +144,7 @@ public class PrefixedShardConfigUpdateHandler { final YangInstanceIdentifier identifier = prefix.getValue(); - LOG.debug("{}: Deserialized {} from datastore", memberName, identifier); + LOG.debug("{}: Deserialized {} from datastore", logName, identifier); final ContainerNode replicas = (ContainerNode) entryNode.getChild(new NodeIdentifier(SHARD_REPLICAS_QNAME)).get(); @@ -153,13 +156,13 @@ public class PrefixedShardConfigUpdateHandler { .map(child -> MemberName.forName(child.getValue())) .collect(Collectors.toList()); - LOG.debug("{}: Replicas read from ds {}", memberName, retReplicas.toString()); + LOG.debug("{}: Replicas read from ds {}", logName, retReplicas.toString()); final PrefixShardConfiguration newConfig = new PrefixShardConfiguration(new DOMDataTreeIdentifier(type, identifier), PrefixShardStrategy.NAME, retReplicas); - LOG.debug("{}: Resulting config {}", memberName, newConfig); + LOG.debug("{}: Resulting config {} - sending PrefixShardCreated to {}", logName, newConfig, handlingActor); handlingActor.tell(new PrefixShardCreated(newConfig), noSender()); } @@ -183,5 +186,10 @@ public class PrefixedShardConfigUpdateHandler { private void resolveDelete(final DataTreeCandidateNode rootNode) { } + + @Override + public String toString() { + return "ShardConfigHandler [logName=" + logName + ", handlingActor=" + handlingActor + "]"; + } } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerTest.java index f3dcaa2b70..a2e6b117eb 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerTest.java @@ -37,7 +37,7 @@ public class DataChangeListenerTest extends AbstractActorTest { // Let the DataChangeListener know that notifications should be // enabled - subject.tell(new EnableNotification(true), getRef()); + subject.tell(new EnableNotification(true, "test"), getRef()); subject.tell(new DataChanged(mockChangeEvent), getRef()); @@ -122,7 +122,7 @@ public class DataChangeListenerTest extends AbstractActorTest { // Let the DataChangeListener know that notifications should be // enabled - subject.tell(new EnableNotification(true), getRef()); + subject.tell(new EnableNotification(true, "test"), getRef()); subject.tell(new DataChanged(mockChangeEvent1), getRef()); expectMsgClass(DataChangedReply.class); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerActorTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerActorTest.java index 62b95c214b..a98d55a99f 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerActorTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerActorTest.java @@ -38,7 +38,7 @@ public class DataTreeChangeListenerActorTest extends AbstractActorTest { // Let the DataChangeListener know that notifications should be // enabled - subject.tell(new EnableNotification(true), getRef()); + subject.tell(new EnableNotification(true, "test"), getRef()); subject.tell(new DataTreeChanged(mockCandidates), getRef()); @@ -126,7 +126,7 @@ public class DataTreeChangeListenerActorTest extends AbstractActorTest { // Let the DataChangeListener know that notifications should be // enabled - subject.tell(new EnableNotification(true), getRef()); + subject.tell(new EnableNotification(true, "test"), getRef()); subject.tell(new DataTreeChanged(mockCandidates1), getRef()); expectMsgClass(DataTreeChangedReply.class); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerProxyTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerProxyTest.java index 6f2f99b24e..820fe5614f 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerProxyTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerProxyTest.java @@ -226,6 +226,7 @@ public class DataTreeChangeListenerProxyTest extends AbstractActorTest { final YangInstanceIdentifier path = YangInstanceIdentifier.of(TestModel.TEST_QNAME); doReturn(executor).when(actorContext).getClientDispatcher(); + doReturn(DatastoreContext.newBuilder().build()).when(actorContext).getDatastoreContext(); doReturn(mockActorSystem).when(actorContext).getActorSystem(); String shardName = "shard-1";