From: Ivan Hrasko Date: Wed, 9 Jun 2021 08:08:46 +0000 (+0200) Subject: Switch to using tell-based protocol X-Git-Tag: v5.0.0~21 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=f8d8f8cdd36dd6fd8d7a11a314af61c46ee163e6 Switch to using tell-based protocol Using Artery with ask-based protocol in our current settings leads to easily running out of native memory. Switch to tell-based protocol, which can slice its messages to fit in smaller buffers. JIRA: CONTROLLER-1983 Change-Id: I0a296dbb3ba6e4e659c94761d78cfb985633061c Signed-off-by: Ivan Hrasko Signed-off-by: Robert Varga --- diff --git a/opendaylight/md-sal/sal-clustering-config/src/main/resources/initial/datastore.cfg b/opendaylight/md-sal/sal-clustering-config/src/main/resources/initial/datastore.cfg index f6566523b6..678903c74c 100644 --- a/opendaylight/md-sal/sal-clustering-config/src/main/resources/initial/datastore.cfg +++ b/opendaylight/md-sal/sal-clustering-config/src/main/resources/initial/datastore.cfg @@ -86,12 +86,13 @@ operational.persistent=false #custom-raft-policy-implementation= # When fragmenting messages thru the akka remoting framework, this is the maximum size in bytes -# for a message slice. -#maximum-message-slice-size=20480000 +# for a message slice. This needs to be below Akka's maximum-frame-size and defaults to 480KiB. +maximum-message-slice-size=491520 # Enable tell-based protocol between frontend (applications) and backend (shards). Using this protocol -# should avoid AskTimeoutExceptions seen under heavy load. Defaults to false (use ask-based protocol). -#use-tell-based-protocol=true +# should avoid AskTimeoutExceptions seen under heavy load. Defaults to false (use tell-based protocol). +# Set to false to enable ask-based protocol. +use-tell-based-protocol=true # Tune the maximum number of entries a follower is allowed to lag behind the leader before it is # considered out-of-sync. This flag may require tuning in face of a large number of small transactions. 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 196517f697..03e741a73a 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 @@ -106,8 +106,8 @@ odl-cluster-data { transport = tcp advanced { - maximum-frame-size = 400 MiB - #maximum-large-frame-size = 2 MiB + maximum-frame-size = 512 KiB + maximum-large-frame-size = 2 MiB } } }