From 95a81e41f93bf1c9f59e0991a2da4603b266981a Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Wed, 6 Jul 2016 22:49:10 +0200 Subject: [PATCH] enable compression by default --- .../scala/akka/remote/artery/LatencySpec.scala | 9 ++++----- .../scala/akka/remote/artery/MaxThroughputSpec.scala | 11 +++++------ akka-remote/src/main/resources/reference.conf | 4 ++-- .../remote/artery/compress/CompressionSettings.scala | 3 --- .../scala/akka/remote/artery/HandshakeRetrySpec.scala | 3 +-- .../artery/compress/CompressionIntegrationSpec.scala | 1 - .../HandshakeShouldDropCompressionTableSpec.scala | 2 -- 7 files changed, 12 insertions(+), 21 deletions(-) diff --git a/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/LatencySpec.scala b/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/LatencySpec.scala index 185221267c..56c46241a6 100644 --- a/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/LatencySpec.scala +++ b/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/LatencySpec.scala @@ -45,7 +45,6 @@ object LatencySpec extends MultiNodeConfig { advanced.idle-cpu-level=7 advanced.compression { - enabled = on actor-refs.advertisement-interval = 2 second manifests.advertisement-interval = 2 second } @@ -73,11 +72,11 @@ object LatencySpec extends MultiNodeConfig { } def receiverProps(reporter: RateReporter, settings: TestSettings, totalMessages: Int, - sendTimes: AtomicLongArray, histogram: Histogram, plotsRef: ActorRef): Props = + sendTimes: AtomicLongArray, histogram: Histogram, plotsRef: ActorRef): Props = Props(new Receiver(reporter, settings, totalMessages, sendTimes, histogram, plotsRef)) class Receiver(reporter: RateReporter, settings: TestSettings, totalMessages: Int, - sendTimes: AtomicLongArray, histogram: Histogram, plotsRef: ActorRef) extends Actor { + sendTimes: AtomicLongArray, histogram: Histogram, plotsRef: ActorRef) extends Actor { import settings._ var count = 0 @@ -131,10 +130,10 @@ object LatencySpec extends MultiNodeConfig { } final case class TestSettings( - testName: String, + testName: String, messageRate: Int, // msg/s payloadSize: Int, - repeat: Int) + repeat: Int) } diff --git a/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/MaxThroughputSpec.scala b/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/MaxThroughputSpec.scala index 0ad6c1c2bb..d12dba57db 100644 --- a/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/MaxThroughputSpec.scala +++ b/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/MaxThroughputSpec.scala @@ -60,7 +60,6 @@ object MaxThroughputSpec extends MultiNodeConfig { #advanced.aeron-dir = "target/aeron" advanced.compression { - enabled = on actor-refs.advertisement-interval = 2 second manifests.advertisement-interval = 2 second } @@ -102,7 +101,7 @@ object MaxThroughputSpec extends MultiNodeConfig { } def senderProps(target: ActorRef, testSettings: TestSettings, plotRef: ActorRef, - printTaskRunnerMetrics: Boolean): Props = + printTaskRunnerMetrics: Boolean): Props = Props(new Sender(target, testSettings, plotRef, printTaskRunnerMetrics)) class Sender(target: ActorRef, testSettings: TestSettings, plotRef: ActorRef, printTaskRunnerMetrics: Boolean) @@ -212,10 +211,10 @@ object MaxThroughputSpec extends MultiNodeConfig { } final case class TestSettings( - testName: String, - totalMessages: Long, - burstSize: Int, - payloadSize: Int, + testName: String, + totalMessages: Long, + burstSize: Int, + payloadSize: Int, senderReceiverPairs: Int) { // data based on measurement def totalSize(system: ActorSystem) = payloadSize + (if (CompressionSettings(system).enabled) 38 else 110) diff --git a/akka-remote/src/main/resources/reference.conf b/akka-remote/src/main/resources/reference.conf index f4e466d7df..80c8f4d2a8 100644 --- a/akka-remote/src/main/resources/reference.conf +++ b/akka-remote/src/main/resources/reference.conf @@ -142,8 +142,8 @@ akka { # compression of common strings in remoting messages, like actor destinations, serializers etc compression { - # global flag to disable all compression - enabled = off + # possibility to disable compression by setting this to off + enabled = on # unlocks additional very verbose debug logging of compression events (on DEBUG log level) debug = off diff --git a/akka-remote/src/main/scala/akka/remote/artery/compress/CompressionSettings.scala b/akka-remote/src/main/scala/akka/remote/artery/compress/CompressionSettings.scala index 1b7e1ca6ef..82a9c7e752 100644 --- a/akka-remote/src/main/scala/akka/remote/artery/compress/CompressionSettings.scala +++ b/akka-remote/src/main/scala/akka/remote/artery/compress/CompressionSettings.scala @@ -13,21 +13,18 @@ import scala.concurrent.duration._ /** INTERNAL API */ private[akka] class CompressionSettings(_config: Config) { val enabled = _config.getBoolean("enabled") - @inline private def globalEnabled = enabled val debug = _config.getBoolean("debug") object actorRefs { private val c = _config.getConfig("actor-refs") - val enabled = globalEnabled && c.getBoolean("enabled") val advertisementInterval = c.getDuration("advertisement-interval", TimeUnit.MILLISECONDS).millis val max = c.getInt("max") } object manifests { private val c = _config.getConfig("manifests") - val enabled = globalEnabled && c.getBoolean("enabled") val advertisementInterval = c.getDuration("advertisement-interval", TimeUnit.MILLISECONDS).millis val max = c.getInt("max") } diff --git a/akka-remote/src/test/scala/akka/remote/artery/HandshakeRetrySpec.scala b/akka-remote/src/test/scala/akka/remote/artery/HandshakeRetrySpec.scala index 16a7605a17..0edc30d3eb 100644 --- a/akka-remote/src/test/scala/akka/remote/artery/HandshakeRetrySpec.scala +++ b/akka-remote/src/test/scala/akka/remote/artery/HandshakeRetrySpec.scala @@ -20,11 +20,10 @@ object HandshakeRetrySpec { akka { actor.provider = remote remote.artery.enabled = on - remote.artery.compression.enabled = on remote.artery.hostname = localhost remote.artery.port = 0 remote.handshake-timeout = 10s - + } """) diff --git a/akka-remote/src/test/scala/akka/remote/artery/compress/CompressionIntegrationSpec.scala b/akka-remote/src/test/scala/akka/remote/artery/compress/CompressionIntegrationSpec.scala index 9e3b602bd0..a9aab071d3 100644 --- a/akka-remote/src/test/scala/akka/remote/artery/compress/CompressionIntegrationSpec.scala +++ b/akka-remote/src/test/scala/akka/remote/artery/compress/CompressionIntegrationSpec.scala @@ -26,7 +26,6 @@ object CompressionIntegrationSpec { actor.provider = "akka.remote.RemoteActorRefProvider" remote.artery.enabled = on remote.artery.advanced { - compression.enabled = on compression.debug = on } remote.artery.hostname = localhost diff --git a/akka-remote/src/test/scala/akka/remote/artery/compress/HandshakeShouldDropCompressionTableSpec.scala b/akka-remote/src/test/scala/akka/remote/artery/compress/HandshakeShouldDropCompressionTableSpec.scala index 4ee33cb9a0..74ac512e67 100644 --- a/akka-remote/src/test/scala/akka/remote/artery/compress/HandshakeShouldDropCompressionTableSpec.scala +++ b/akka-remote/src/test/scala/akka/remote/artery/compress/HandshakeShouldDropCompressionTableSpec.scala @@ -33,9 +33,7 @@ object HandshakeShouldDropCompressionTableSpec { remote.handshake-timeout = 10s remote.artery.advanced.compression { - enabled = on actor-refs { - enabled = on # we'll trigger advertisement manually advertisement-interval = 10 hours }