X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=akka%2Frepackaged-akka-jar%2Fsrc%2Fmain%2Fresources%2Factor_reference.conf;h=d0569ef3a69afb5a379c44793a1bb982392292f2;hb=refs%2Fchanges%2F01%2F97901%2F2;hp=56256f9aca49c5814ff4f01d70e50da5315e1903;hpb=c355a5b632433b9d2a54107d24e644e68610f270;p=controller.git diff --git a/akka/repackaged-akka-jar/src/main/resources/actor_reference.conf b/akka/repackaged-akka-jar/src/main/resources/actor_reference.conf index 56256f9aca..d0569ef3a6 100644 --- a/akka/repackaged-akka-jar/src/main/resources/actor_reference.conf +++ b/akka/repackaged-akka-jar/src/main/resources/actor_reference.conf @@ -47,7 +47,8 @@ akka { # This is useful when you are uncertain of what configuration is used. log-config-on-start = off - # Log at info level when messages are sent to dead letters. + # Log at info level when messages are sent to dead letters, or published to + # eventStream as `DeadLetter`, `Dropped` or `UnhandledMessage`. # Possible values: # on: all dead letters are logged # off: no logging of dead letters @@ -57,7 +58,12 @@ akka { # Possibility to turn off logging of dead letters while the actor system # is shutting down. Logging is only done when enabled by 'log-dead-letters' # setting. - log-dead-letters-during-shutdown = on + log-dead-letters-during-shutdown = off + + # When log-dead-letters is enabled, this will re-enable the logging after configured duration. + # infinite: suspend the logging forever; + # or a duration (eg: 5 minutes), after which the logging will be re-enabled. + log-dead-letters-suspend-duration = 5 minutes # List FQCN of extensions which shall be loaded at actor system startup. # Library extensions are regular extensions that are loaded at startup and are @@ -67,7 +73,7 @@ akka { # # Should not be set by end user applications in 'application.conf', use the extensions property for that # - library-extensions = ${?akka.library-extensions} ["akka.serialization.SerializationExtension"] + library-extensions = ${?akka.library-extensions} ["akka.serialization.SerializationExtension$"] # List FQCN of extensions which shall be loaded at actor system startup. # Should be on the format: 'extensions = ["foo", "bar"]' etc. @@ -89,6 +95,18 @@ akka { # terminate the ActorSystem itself, with or without using CoordinatedShutdown. jvm-shutdown-hooks = on + # Version must be the same across all modules and if they are different the startup + # will fail. It's possible but not recommended, to disable this check, and only log a warning, + # by setting this property to `off`. + fail-mixed-versions = on + + # Some modules (remoting only right now) can emit custom events to the Java Flight Recorder if running + # on JDK 11 or later. If you for some reason do not want that, it can be disabled and switched to no-ops + # with this toggle. + java-flight-recorder { + enabled = true + } + actor { # Either one of "local", "remote" or "cluster" or the @@ -102,29 +120,32 @@ akka { # In addition to the default there is akka.actor.StoppingSupervisorStrategy. guardian-supervisor-strategy = "akka.actor.DefaultSupervisorStrategy" - # Timeout for ActorSystem.actorOf + # Timeout for Extension creation and a few other potentially blocking + # initialization tasks. creation-timeout = 20s # Serializes and deserializes (non-primitive) messages to ensure immutability, # this is only intended for testing. serialize-messages = off - # Additional serialization bindings which are enabled automatically when allow-java-serialization is disabled. - # settings are provided - java-serialization-disabled-additional-serialization-bindings = {} - # Serializes and deserializes creators (in Props) to ensure that they can be # sent over the network, this is only intended for testing. Purely local deployments # as marked with deploy.scope == LocalScope are exempt from verification. serialize-creators = off + # If serialize-messages or serialize-creators are enabled classes that starts with + # a prefix listed here are not verified. + no-serialization-verification-needed-class-prefix = ["akka."] + # Timeout for send operations to top-level actors which are in the process # of being started. This is only relevant if using a bounded mailbox or the # CallingThreadDispatcher for a top-level actor. unstarted-push-timeout = 10s + # TypedActor deprecated since 2.6.0. typed { - # Default timeout for typed actor methods with non-void return type + # Default timeout for the deprecated TypedActor (not the new actor APIs in 2.6) + # methods with non-void return type. timeout = 5s } @@ -297,7 +318,7 @@ akka { # exploration will be +- 5 explore-step-size = 0.1 - # Probability of doing an exploration v.s. optmization. + # Probability of doing an exploration v.s. optimization. chance-of-exploration = 0.4 # When downsizing after a long streak of underutilization, the resizer @@ -443,7 +464,7 @@ akka { } # This will be used if you have set "executor = "fork-join-executor"" - # Underlying thread pool implementation is akka.dispatch.forkjoin.ForkJoinPool + # Underlying thread pool implementation is java.util.concurrent.ForkJoinPool fork-join-executor { # Min number of threads to cap factor-based parallelism number to parallelism-min = 8 @@ -451,7 +472,7 @@ akka { # The parallelism factor is used to determine thread pool size using the # following formula: ceil(available processors * factor). Resulting size # is then bounded by the parallelism-min and parallelism-max values. - parallelism-factor = 3.0 + parallelism-factor = 1.0 # Max number of threads to cap factor-based parallelism number to parallelism-max = 64 @@ -533,6 +554,20 @@ akka { mailbox-requirement = "" } + # Default separate internal dispatcher to run Akka internal tasks and actors on + # protecting them against starvation because of accidental blocking in user actors (which run on the + # default dispatcher) + internal-dispatcher { + type = "Dispatcher" + executor = "fork-join-executor" + throughput = 5 + fork-join-executor { + parallelism-min = 4 + parallelism-factor = 1.0 + parallelism-max = 64 + } + } + default-blocking-io-dispatcher { type = "Dispatcher" executor = "thread-pool-executor" @@ -651,7 +686,7 @@ akka { debug { # enable function of Actor.loggable(), which is to log any received message # at DEBUG level, see the “Testing Actor Systems” section of the Akka - # Documentation at http://akka.io/docs + # Documentation at https://akka.io/docs receive = off # enable DEBUG logging of all AutoReceiveMessages (Kill, PoisonPill etc.) @@ -678,7 +713,6 @@ akka { # # This setting is a short-cut to # - using DisabledJavaSerializer instead of JavaSerializer - # - enable-additional-serialization-bindings = on # # Completely disable the use of `akka.serialization.JavaSerialization` by the # Akka Serialization extension, instead DisabledJavaSerializer will @@ -691,14 +725,28 @@ akka { # # Please note that this option does not stop you from manually invoking java serialization # - # The default value for this might be changed to off in future versions of Akka. allow-java-serialization = on + # Log warnings when the Java serialization is used to serialize messages. + # Java serialization is not very performant and should not be used in production + # environments unless you don't care about performance and security. In that case + # you can turn this off. + warn-about-java-serializer-usage = on + + # To be used with the above warn-about-java-serializer-usage + # When warn-about-java-serializer-usage = on, and this warn-on-no-serialization-verification = off, + # warnings are suppressed for classes extending NoSerializationVerificationNeeded + # to reduce noise. + warn-on-no-serialization-verification = on + # Entries for pluggable serializers and their bindings. serializers { java = "akka.serialization.JavaSerializer" bytes = "akka.serialization.ByteArraySerializer" - + primitive-long = "akka.serialization.LongSerializer" + primitive-int = "akka.serialization.IntSerializer" + primitive-string = "akka.serialization.StringSerializer" + primitive-bytestring = "akka.serialization.ByteStringSerializer" primitive-boolean = "akka.serialization.BooleanSerializer" } @@ -713,38 +761,18 @@ akka { "[B" = bytes "java.io.Serializable" = java - // TODO issue #27330: BooleanSerializer not enabled for serialization in 2.5.x yet - #"java.lang.Boolean" = primitive-boolean - #"scala.Boolean" = primitive-boolean - } - - # Additional serialization-bindings that are replacing Java serialization are - # defined in this section for backwards compatibility reasons. They are included - # by default but can be excluded for backwards compatibility with Akka 2.4.x. - # They can be disabled with enable-additional-serialization-bindings=off. - # - # This should only be needed for backwards compatibility reasons. - enable-additional-serialization-bindings = on - - # Additional serialization-bindings that are replacing Java serialization are - # defined in this section for backwards compatibility reasons. They are included - # by default but can be excluded for backwards compatibility with Akka 2.4.x. - # They can be disabled with enable-additional-serialization-bindings=off. - additional-serialization-bindings { + "java.lang.String" = primitive-string + "akka.util.ByteString$ByteString1C" = primitive-bytestring + "akka.util.ByteString$ByteString1" = primitive-bytestring + "akka.util.ByteString$ByteStrings" = primitive-bytestring + "java.lang.Long" = primitive-long + "scala.Long" = primitive-long + "java.lang.Integer" = primitive-int + "scala.Int" = primitive-int + "java.lang.Boolean" = primitive-boolean + "scala.Boolean" = primitive-boolean } - # Log warnings when the default Java serialization is used to serialize messages. - # The default serializer uses Java serialization which is not very performant and should not - # be used in production environments unless you don't care about performance. In that case - # you can turn this off. - warn-about-java-serializer-usage = on - - # To be used with the above warn-about-java-serializer-usage - # When warn-about-java-serializer-usage = on, and this warn-on-no-serialization-verification = off, - # warnings are suppressed for classes extending NoSerializationVerificationNeeded - # to reduce noize. - warn-on-no-serialization-verification = on - # Configuration namespace of serialization identifiers. # Each serializer implementation must have an entry in the following format: # `akka.actor.serialization-identifiers."FQCN" = ID` @@ -754,33 +782,32 @@ akka { serialization-identifiers { "akka.serialization.JavaSerializer" = 1 "akka.serialization.ByteArraySerializer" = 4 - "akka.serialization.BooleanSerializer" = 35 - } - - # Configuration items which are used by the akka.actor.ActorDSL._ methods - dsl { - # Maximum queue size of the actor created by newInbox(); this protects - # against faulty programs which use select() and consistently miss messages - inbox-size = 1000 - # Default timeout to assume for operations like Inbox.receive et al - default-timeout = 5s + primitive-long = 18 + primitive-int = 19 + primitive-string = 20 + primitive-bytestring = 21 + primitive-boolean = 35 } } serialization.protobuf { - - # Additional classes that are allowed even if they are not defined in `serialization-bindings`. - # It can be exact class name or name of super class or interfaces (one level). - # This is useful when a class is not used for serialization any more and therefore removed - # from `serialization-bindings`, but should still be possible to deserialize. + # deprecated, use `allowed-classes` instead whitelist-class = [ "com.google.protobuf.GeneratedMessage", "com.google.protobuf.GeneratedMessageV3", "scalapb.GeneratedMessageCompanion", - "akka.protobuf.GeneratedMessage" + "akka.protobuf.GeneratedMessage", + "akka.protobufv3.internal.GeneratedMessageV3" ] + + # Additional classes that are allowed even if they are not defined in `serialization-bindings`. + # It can be exact class name or name of super class or interfaces (one level). + # This is useful when a class is not used for serialization any more and therefore removed + # from `serialization-bindings`, but should still be possible to deserialize. + allowed-classes = ${akka.serialization.protobuf.whitelist-class} + } # Used to set the behavior of the scheduler. @@ -887,11 +914,11 @@ akka { # Fully qualified config path which holds the dispatcher configuration # for the read/write worker actors - worker-dispatcher = "akka.actor.default-dispatcher" + worker-dispatcher = "akka.actor.internal-dispatcher" # Fully qualified config path which holds the dispatcher configuration # for the selector management actors - management-dispatcher = "akka.actor.default-dispatcher" + management-dispatcher = "akka.actor.internal-dispatcher" # Fully qualified config path which holds the dispatcher configuration # on which file IO tasks are scheduled @@ -969,11 +996,11 @@ akka { # Fully qualified config path which holds the dispatcher configuration # for the read/write worker actors - worker-dispatcher = "akka.actor.default-dispatcher" + worker-dispatcher = "akka.actor.internal-dispatcher" # Fully qualified config path which holds the dispatcher configuration # for the selector management actors - management-dispatcher = "akka.actor.default-dispatcher" + management-dispatcher = "akka.actor.internal-dispatcher" } udp-connected { @@ -1025,18 +1052,18 @@ akka { # Fully qualified config path which holds the dispatcher configuration # for the read/write worker actors - worker-dispatcher = "akka.actor.default-dispatcher" + worker-dispatcher = "akka.actor.internal-dispatcher" # Fully qualified config path which holds the dispatcher configuration # for the selector management actors - management-dispatcher = "akka.actor.default-dispatcher" + management-dispatcher = "akka.actor.internal-dispatcher" } dns { # Fully qualified config path which holds the dispatcher configuration # for the manager and resolver router actors. # For actual router configuration see akka.actor.deployment./IO-DNS/* - dispatcher = "akka.actor.default-dispatcher" + dispatcher = "akka.actor.internal-dispatcher" # Name of the subconfig at path akka.io.dns, see inet-address below # @@ -1151,6 +1178,11 @@ akka { # This property is related to `akka.jvm-shutdown-hooks` above. run-by-jvm-shutdown-hook = on + # Run the coordinated shutdown when ActorSystem.terminate is called. + # Enabling this and disabling terminate-actor-system is not a supported + # combination (will throw ConfigurationException at startup). + run-by-actor-system-terminate = on + # When Coordinated Shutdown is triggered an instance of `Reason` is # required. That value can be used to override the default settings. # Only 'exit-jvm', 'exit-code' and 'terminate-actor-system' may be