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"
}
remote {
log-remote-lifecycle-events = off
+ # Disable passive connections, as we are seeing issues
+ # 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
}
}
}
# 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 {
- plugin = akka.persistence.journal.leveldb
-
- # The following activates the alternative segmented file journal. Each persistent actor
+ # 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
+ plugin = akka.persistence.journal.segmented-file
+
segmented-file {
class = "org.opendaylight.controller.akka.segjournal.SegmentedFileJournal"
# Root directory for segmented journal storage
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