Use embedded media driver for StressSpec (#27037)
* Use embedded media driver for StressSpec The current setup starts a media driver for each JVM in the same directory which is caused the cnc file to be courruped in some way so that the client in Akka timed out waiting for it to be initialized. This test is disabled for Artery, see https://github.com/akka/akka/issues/21810 so all it does is startup and then end the test right away. Will look at enabling the test again separately. Fixes #27030
This commit is contained in:
parent
b52271da1c
commit
bc2d3aa4db
2 changed files with 5 additions and 11 deletions
|
|
@ -10,9 +10,9 @@ import java.util.function.Consumer
|
|||
|
||||
import scala.annotation.tailrec
|
||||
import scala.util.control.NonFatal
|
||||
|
||||
import akka.remote.RemoteSettings
|
||||
import akka.remote.artery.ArterySettings
|
||||
import akka.remote.artery.ArterySettings.AeronUpd
|
||||
import akka.remote.artery.aeron.TaskRunner
|
||||
import akka.remote.testkit.MultiNodeConfig
|
||||
import akka.remote.testkit.MultiNodeSpec
|
||||
|
|
@ -27,11 +27,11 @@ object SharedMediaDriverSupport {
|
|||
private val mediaDriver = new AtomicReference[Option[MediaDriver]](None)
|
||||
|
||||
def loadArterySettings(config: MultiNodeConfig): ArterySettings =
|
||||
(new RemoteSettings(ConfigFactory.load(config.config))).Artery
|
||||
new RemoteSettings(ConfigFactory.load(config.config)).Artery
|
||||
|
||||
def startMediaDriver(config: MultiNodeConfig): Unit = {
|
||||
val arterySettings = loadArterySettings(config)
|
||||
if (arterySettings.Enabled) {
|
||||
if (arterySettings.Enabled && arterySettings.Transport == AeronUpd) {
|
||||
val aeronDir = arterySettings.Advanced.Aeron.AeronDirectoryName
|
||||
require(aeronDir.nonEmpty, "aeron-dir must be defined")
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ object SharedMediaDriverSupport {
|
|||
})
|
||||
catch {
|
||||
case NonFatal(e) =>
|
||||
println(e.getMessage)
|
||||
println("Exception checking isDriverActive: " + e.getMessage)
|
||||
false
|
||||
}
|
||||
if (active) false
|
||||
|
|
|
|||
|
|
@ -129,8 +129,6 @@ private[cluster] object StressMultiJvmSpec extends MultiNodeConfig {
|
|||
|
||||
akka.remote.artery.advanced.aeron {
|
||||
idle-cpu-level = 1
|
||||
embedded-media-driver = off
|
||||
aeron-dir = "target/aeron-StressSpec"
|
||||
}
|
||||
|
||||
akka.actor.default-dispatcher.fork-join-executor {
|
||||
|
|
@ -678,11 +676,7 @@ class StressMultiJvmNode12 extends StressSpec
|
|||
class StressMultiJvmNode13 extends StressSpec
|
||||
|
||||
abstract class StressSpec
|
||||
extends MultiNodeSpec({
|
||||
// Aeron media driver must be started before ActorSystem
|
||||
SharedMediaDriverSupport.startMediaDriver(StressMultiJvmSpec)
|
||||
StressMultiJvmSpec
|
||||
})
|
||||
extends MultiNodeSpec(StressMultiJvmSpec)
|
||||
with MultiNodeClusterSpec
|
||||
with BeforeAndAfterEach
|
||||
with ImplicitSender {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue