Upgrade to Aeron 1.19.1 (#27043)
* Upgrade to Aeron 1.19.1 No mention of on the wire incompatibilities in release notes for versions 1.15->1.19 * fix compilation issue with new aeron * Set default publication unblock timeout to 40s This needs to be bigger than the liveness timeout. Aeron defaults these to 5seconds and 10seconds. Akka uses 20s for the liveness so use 40s for the unblock to keep the same relation between the properties as Aeron has. * Add publication unblock timeout in sharedmedia driver * Update akka-remote/src/main/scala/akka/remote/artery/ArterySettings.scala Co-Authored-By: Helena Edelson <helena@users.noreply.github.com>
This commit is contained in:
parent
6660e8504a
commit
fd1acb9326
6 changed files with 13 additions and 3 deletions
|
|
@ -64,6 +64,7 @@ object SharedMediaDriverSupport {
|
|||
val driverContext = new MediaDriver.Context
|
||||
driverContext.aeronDirectoryName(aeronDir)
|
||||
driverContext.clientLivenessTimeoutNs(arterySettings.Advanced.Aeron.ClientLivenessTimeout.toNanos)
|
||||
driverContext.publicationUnblockTimeoutNs(arterySettings.Advanced.Aeron.PublicationUnblockTimeout.toNanos)
|
||||
driverContext.imageLivenessTimeoutNs(arterySettings.Advanced.Aeron.ImageLivenessTimeout.toNanos)
|
||||
driverContext.driverTimeoutMs(arterySettings.Advanced.Aeron.DriverTimeout.toMillis)
|
||||
val idleCpuLevel = arterySettings.Advanced.Aeron.IdleCpuLevel
|
||||
|
|
|
|||
|
|
@ -1090,6 +1090,10 @@ akka {
|
|||
# Only used when transport is aeron-udp.
|
||||
client-liveness-timeout = 20 seconds
|
||||
|
||||
# Timout after after which an uncommitted publication will be unblocked
|
||||
# Only used when transport is aeron-udp.
|
||||
publication-unblock-timeout = 40 seconds
|
||||
|
||||
# Timeout for each the INACTIVE and LINGER stages an aeron image
|
||||
# will be retained for when it is no longer referenced.
|
||||
# This timeout must be less than the 'handshake-timeout'.
|
||||
|
|
|
|||
|
|
@ -203,6 +203,10 @@ private[akka] final class ArterySettings private (config: Config) {
|
|||
config
|
||||
.getMillisDuration("client-liveness-timeout")
|
||||
.requiring(interval => interval > Duration.Zero, "client-liveness-timeout must be more than zero")
|
||||
val PublicationUnblockTimeout: FiniteDuration =
|
||||
config
|
||||
.getMillisDuration("publication-unblock-timeout")
|
||||
.requiring(interval => interval > Duration.Zero, "publication-unblock-timeout must be greater than zero")
|
||||
val ImageLivenessTimeout: FiniteDuration = config
|
||||
.getMillisDuration("image-liveness-timeout")
|
||||
.requiring(interval => interval > Duration.Zero, "image-liveness-timeout must be more than zero")
|
||||
|
|
|
|||
|
|
@ -95,6 +95,7 @@ private[remote] class ArteryAeronUdpTransport(_system: ExtendedActorSystem, _pro
|
|||
driverContext.aeronDirectoryName(randomName)
|
||||
}
|
||||
driverContext.clientLivenessTimeoutNs(settings.Advanced.Aeron.ClientLivenessTimeout.toNanos)
|
||||
driverContext.publicationUnblockTimeoutNs(settings.Advanced.Aeron.PublicationUnblockTimeout.toNanos)
|
||||
driverContext.imageLivenessTimeoutNs(settings.Advanced.Aeron.ImageLivenessTimeout.toNanos)
|
||||
driverContext.driverTimeoutMs(settings.Advanced.Aeron.DriverTimeout.toMillis)
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ import static io.aeron.driver.status.PublisherLimit.PUBLISHER_LIMIT_TYPE_ID;
|
|||
import static io.aeron.driver.status.ReceiveChannelStatus.RECEIVE_CHANNEL_STATUS_TYPE_ID;
|
||||
import static io.aeron.driver.status.ReceiverPos.RECEIVER_POS_TYPE_ID;
|
||||
import static io.aeron.driver.status.SendChannelStatus.SEND_CHANNEL_STATUS_TYPE_ID;
|
||||
import static io.aeron.driver.status.StreamPositionCounter.*;
|
||||
import static io.aeron.driver.status.StreamCounter.*;
|
||||
import static io.aeron.driver.status.SystemCounterDescriptor.SYSTEM_COUNTER_TYPE_ID;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@ object Dependencies {
|
|||
val slf4jVersion = "1.7.25"
|
||||
val scalaXmlVersion = "1.0.6"
|
||||
// check agrona version when updating this
|
||||
val aeronVersion = "1.15.1"
|
||||
val aeronVersion = "1.19.1"
|
||||
// needs to be inline with the aeron version
|
||||
val agronaVersion = "0.9.31"
|
||||
val agronaVersion = "1.0.1"
|
||||
val nettyVersion = "3.10.6.Final"
|
||||
val jacksonVersion = "2.9.9"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue