Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
BUG 8649: remove bounded mailbox from ShardManager and notification actors
[controller.git]
/
opendaylight
/
md-sal
/
sal-distributed-datastore
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
datastore
/
AbstractDataStore.java
diff --git
a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractDataStore.java
b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractDataStore.java
index c0bb8662babccd23538eed8bce9f6378e7f2636f..477e05bcc6ecb7c92d1bda3e22cd28c52def06fd 100644
(file)
--- a/
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractDataStore.java
+++ b/
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/AbstractDataStore.java
@@
-33,6
+33,7
@@
import org.opendaylight.controller.cluster.datastore.utils.Dispatchers;
import org.opendaylight.controller.cluster.datastore.utils.PrimaryShardInfoFutureCache;
import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker;
import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeListener;
import org.opendaylight.controller.cluster.datastore.utils.PrimaryShardInfoFutureCache;
import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker;
import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeListener;
+import org.opendaylight.controller.md.sal.dom.api.ClusteredDOMDataTreeChangeListener;
import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeListener;
import org.opendaylight.controller.sal.core.spi.data.DOMStoreTreeChangePublisher;
import org.opendaylight.mdsal.dom.api.DOMDataTreeCommitCohort;
import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeListener;
import org.opendaylight.controller.sal.core.spi.data.DOMStoreTreeChangePublisher;
import org.opendaylight.mdsal.dom.api.DOMDataTreeCommitCohort;
@@
-282,8
+283,7
@@
public abstract class AbstractDataStore implements DistributedDataStoreInterface
for (int i = 0; i < 100; i++) {
try {
for (int i = 0; i < 100; i++) {
try {
- return actorSystem.actorOf(creator.props().withDispatcher(shardDispatcher).withMailbox(
- ActorContext.BOUNDED_MAILBOX), shardManagerId);
+ return actorSystem.actorOf(creator.props().withDispatcher(shardDispatcher), shardManagerId);
} catch (Exception e) {
lastException = e;
Uninterruptibles.sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
} catch (Exception e) {
lastException = e;
Uninterruptibles.sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
@@
-315,7
+315,10
@@
public abstract class AbstractDataStore implements DistributedDataStoreInterface
delegate,shardLookup, shardName, insideShard);
final DataTreeChangeListenerProxy<DOMDataTreeChangeListener> listenerRegistrationProxy =
delegate,shardLookup, shardName, insideShard);
final DataTreeChangeListenerProxy<DOMDataTreeChangeListener> listenerRegistrationProxy =
- new DataTreeChangeListenerProxy<>(actorContext, delegate::onDataTreeChanged, insideShard);
+ new DataTreeChangeListenerProxy<>(actorContext,
+ // wrap this in the ClusteredDOMDataTreeChangeLister interface
+ // since we always want clustered registration
+ (ClusteredDOMDataTreeChangeListener) delegate::onDataTreeChanged, insideShard);
listenerRegistrationProxy.init(shardName);
return (ListenerRegistration<L>) listenerRegistrationProxy;
listenerRegistrationProxy.init(shardName);
return (ListenerRegistration<L>) listenerRegistrationProxy;