X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-config%2Fsrc%2Fmain%2Fresources%2Finitial%2Ffactory-akka.conf;h=8f9b5041eeb5c4f58368e2de58545f44064db2d0;hp=464645b6ae3aef4f041e97fe83edcd0028739943;hb=58e85a6f7c26366affdc65477b817826bedfe6a7;hpb=6321ac3879f1491c192287c8486db7e524257a41 diff --git a/opendaylight/md-sal/sal-clustering-config/src/main/resources/initial/factory-akka.conf b/opendaylight/md-sal/sal-clustering-config/src/main/resources/initial/factory-akka.conf index 464645b6ae..8f9b5041ee 100644 --- a/opendaylight/md-sal/sal-clustering-config/src/main/resources/initial/factory-akka.conf +++ b/opendaylight/md-sal/sal-clustering-config/src/main/resources/initial/factory-akka.conf @@ -56,6 +56,11 @@ odl-cluster-data { loggers = ["akka.event.slf4j.Slf4jLogger"] logger-startup-timeout = 300s + # JFR requires boot delegation, which we do not have by default + java-flight-recorder { + enabled = false + } + actor { warn-about-java-serializer-usage = off provider = "akka.cluster.ClusterActorRefProvider" @@ -90,16 +95,19 @@ odl-cluster-data { # with read-only associations use-passive-connections = off - netty.tcp { + classic.netty.tcp { maximum-frame-size = 419430400 send-buffer-size = 52428800 receive-buffer-size = 52428800 } artery { + enabled = on + transport = tcp + advanced { - #maximum-frame-size = 256 KiB - #maximum-large-frame-size = 2 MiB + maximum-frame-size = 512 KiB + maximum-large-frame-size = 2 MiB } } } @@ -113,27 +121,37 @@ odl-cluster-data { # 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 + + distributed-data { + # How often the Replicator should send out gossip information. + # This value controls how quickly Entity Ownership Service data is replicated + # across cluster nodes. + gossip-interval = 100 ms + + # How often the subscribers will be notified of changes, if any. + # This value controls how quickly Entity Ownership Service decisions are + # propagated within a node. + notify-subscribers-interval = 20 ms + } + + downing-provider-class = "akka.cluster.sbr.SplitBrainResolverProvider" + + split-brain-resolver { + active-strategy = keep-majority + stable-after = 7s + } } persistence { journal { - # This would activate the deprecated levedb persistence plugin. This plugin was used - # by default by all OpenDaylight versions, but is considered not ready for production - # use by Akka. Magnesium defaults to segmented-file journal (below) and this option will - # be removed in a future release. - # - # plugin = akka.persistence.journal.leveldb - # The following activates the default segmented file journal. Each persistent actor # is stored in a separate directory, with multiple segment files. Segments are removed - # when they are not longer required. + # when they are no longer required. # plugin = akka.persistence.journal.segmented-file @@ -145,6 +163,24 @@ odl-cluster-data { max-entry-size = 16M # Maximum size of a segment max-segment-size = 128M + # Map each segment into memory. Defaults to true, use false to keep a heap-based + # buffer instead. + memory-mapped = true + } + } + + # Journal configuration for shards that have persistence turned off. They still need to have a journal plugin + # configured, since they still need to store things in the journal occasionally, but having larger segment sizes + # would be wastefull. + non-persistent { + journal { + class = "org.opendaylight.controller.akka.segjournal.SegmentedFileJournal" + # Root directory for segmented journal storage + root-directory = "segmented-journal" + # Maximum size of a single entry in the segmented journal + max-entry-size = 512K + # Maximum size of a segment + max-segment-size = 1M # Map each segment into memory. Note that while this can improve performance, # it will also place additional burden on system resources. memory-mapped = false