odl-cluster-data { bounded-mailbox { mailbox-type = "org.opendaylight.controller.cluster.common.actor.MeteredBoundedMailbox" mailbox-capacity = 5000 mailbox-push-timeout-time = 10ms } metric-capture-enabled = true notification-dispatcher { # Dispatcher is the name of the event-based dispatcher type = Dispatcher # What kind of ExecutionService to use executor = "fork-join-executor" # Configuration for the fork join pool fork-join-executor { # Min number of threads to cap factor-based parallelism number to parallelism-min = 2 # Parallelism (threads) ... ceil(available processors * factor) parallelism-factor = 3.0 # Max number of threads to cap factor-based parallelism number to parallelism-max = 15 } # Throughput defines the maximum number of messages to be # processed per actor before the thread jumps to the next actor. # Set to 1 for as fair as possible. throughput = 1 } serialization-dispatcher { type = Dispatcher executor = "fork-join-executor" fork-join-executor { # Min number of threads to cap factor-based parallelism number to parallelism-min = 2 # Parallelism (threads) ... ceil(available processors * factor) parallelism-factor = 2.0 # Max number of threads to cap factor-based parallelism number to parallelism-max = 15 } throughput = 1 } shard-dispatcher { type = Dispatcher executor = "default-executor" # We use a ControlAwareMailbox so that raft messages that implement ControlMessage # are given higher priority. mailbox-type = "org.opendaylight.controller.cluster.common.actor.UnboundedDequeBasedControlAwareMailbox" } akka { loglevel = "INFO" loggers = ["akka.event.slf4j.Slf4jLogger"] logger-startup-timeout = 300s actor { warn-about-java-serializer-usage = off provider = "akka.cluster.ClusterActorRefProvider" serializers { java = "akka.serialization.JavaSerializer" proto = "akka.remote.serialization.ProtobufSerializer" readylocal = "org.opendaylight.controller.cluster.datastore.messages.ReadyLocalTransactionSerializer" simpleReplicatedLogEntry = "org.opendaylight.controller.cluster.raft.persisted.SimpleReplicatedLogEntrySerializer" } serialization-bindings { "com.google.protobuf.Message" = proto "org.opendaylight.controller.cluster.datastore.messages.ReadyLocalTransaction" = readylocal "org.opendaylight.controller.cluster.raft.persisted.SimpleReplicatedLogEntry" = simpleReplicatedLogEntry } default-dispatcher { # Setting throughput to 1 makes the dispatcher fair. It processes 1 message from # the mailbox before moving on to the next mailbox throughput = 1 } default-mailbox { # When not using a BalancingDispatcher it is recommended that we use the SingleConsumerOnlyUnboundedMailbox # as it is the most efficient for multiple producer/single consumer use cases mailbox-type="akka.dispatch.SingleConsumerOnlyUnboundedMailbox" } } remote { log-remote-lifecycle-events = off netty.tcp { maximum-frame-size = 419430400 send-buffer-size = 52428800 receive-buffer-size = 52428800 } artery { advanced { #maximum-frame-size = 256 KiB #maximum-large-frame-size = 2 MiB } } } cluster { seed-node-timeout = 12s # Following is an excerpt from Akka Cluster Documentation # link - http://doc.akka.io/docs/akka/snapshot/java/cluster-usage.html # Warning - Akka recommends against using the auto-down feature of Akka Cluster in production. # This is crucial for correct behavior if you use Cluster Singleton or Cluster Sharding, # especially together with Akka Persistence. #auto-down-unreachable-after = 30s allow-weakly-up-members = on use-dispatcher = cluster-dispatcher failure-detector.acceptable-heartbeat-pause = 3 s } persistence { journal.plugin = akka.persistence.journal.leveldb snapshot-store.local.class = "org.opendaylight.controller.cluster.persistence.LocalSnapshotStore" snapshot-store.plugin = akka.persistence.snapshot-store.local } } cluster-dispatcher { type = "Dispatcher" executor = "fork-join-executor" fork-join-executor { parallelism-min = 2 parallelism-max = 4 } } }