From 306187046f2de5b4a83a42698fc007250a94a229 Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Tue, 16 Apr 2019 20:26:38 +0200 Subject: [PATCH] Fix multi-node-testkit warnings (#26754) --- .../akka/remote/testconductor/Conductor.scala | 10 ++++---- .../akka/remote/testconductor/Player.scala | 23 ++++++++++--------- .../akka/remote/testkit/MultiNodeSpec.scala | 6 +++-- .../remote/testkit/PerfFlamesSupport.scala | 4 ++-- .../remote/artery/FanInThrougputSpec.scala | 2 +- .../remote/artery/FanOutThrougputSpec.scala | 2 +- .../remote/artery/MaxThroughputSpec.scala | 2 +- project/AkkaDisciplinePlugin.scala | 1 - 8 files changed, 25 insertions(+), 25 deletions(-) diff --git a/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Conductor.scala b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Conductor.scala index 47539b4c8b..13c34ecb9f 100644 --- a/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Conductor.scala +++ b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Conductor.scala @@ -12,7 +12,6 @@ import akka.actor.{ Address, DeadLetterSuppression, Deploy, - FSM, LoggingFSM, NoSerializationVerificationNeeded, OneForOneStrategy, @@ -441,10 +440,10 @@ private[akka] class Controller(private var initialParticipants: Int, controllerP override def supervisorStrategy = OneForOneStrategy() { case BarrierTimeout(data) => failBarrier(data) case FailedBarrier(data) => failBarrier(data) - case BarrierEmpty(data, msg) => SupervisorStrategy.Resume + case BarrierEmpty(_, _) => SupervisorStrategy.Resume case WrongBarrier(name, client, data) => { client ! ToClient(BarrierResult(name, false)); failBarrier(data) } - case ClientLost(data, node) => failBarrier(data) - case DuplicateNode(data, node) => failBarrier(data) + case ClientLost(data, _) => failBarrier(data) + case DuplicateNode(data, _) => failBarrier(data) } def failBarrier(data: Data): SupervisorStrategy.Directive = { @@ -580,7 +579,6 @@ private[akka] class BarrierCoordinator with LoggingFSM[BarrierCoordinator.State, BarrierCoordinator.Data] { import BarrierCoordinator._ import Controller._ - import FSM._ // this shall be set to true if all subsequent barriers shall fail var failed = false @@ -639,7 +637,7 @@ private[akka] class BarrierCoordinator handleBarrier(d.copy(arrived = together, deadline = enterDeadline)) } else handleBarrier(d.copy(arrived = together)) - case Event(RemoveClient(name), d @ Data(clients, barrier, arrived, _)) => + case Event(RemoveClient(name), d @ Data(clients, _, arrived, _)) => clients.find(_.name == name) match { case None => stay case Some(client) => diff --git a/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Player.scala b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Player.scala index 450fbcb908..4ab83ec2ee 100644 --- a/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Player.scala +++ b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Player.scala @@ -29,6 +29,7 @@ import akka.remote.transport.ThrottlerTransportAdapter.{ Blackhole, SetThrottle, import akka.dispatch.{ RequiresMessageQueue, UnboundedMessageQueueSemantics } import akka.util.ccompat._ +@ccompatUsedUntil213 object Player { final class Waiter extends Actor with RequiresMessageQueue[UnboundedMessageQueueSemantics] { @@ -115,7 +116,7 @@ trait Player { this: TestConductorExt => implicit val timeout = Timeout(barrierTimeout + Settings.QueryTimeout.duration) Await.result(client ? ToServer(EnterBarrier(b, Option(barrierTimeout))), Duration.Inf) } catch { - case e: AskTimeoutException => + case _: AskTimeoutException => client ! ToServer(FailBarrier(b)) // Why don't TimeoutException have a constructor that takes a cause? throw new TimeoutException("Client timed out while waiting for barrier " + b); @@ -184,7 +185,7 @@ private[akka] class ClientFSM(name: RoleName, controllerAddr: InetSocketAddress) startWith(Connecting, Data(None, None)) when(Connecting, stateTimeout = settings.ConnectTimeout) { - case Event(msg: ClientOp, _) => + case Event(_: ClientOp, _) => stay.replying(Status.Failure(new IllegalStateException("not connected yet"))) case Event(Connected(channel), _) => channel.write(Hello(name.name, TestConductor().address)) @@ -204,7 +205,7 @@ private[akka] class ClientFSM(name: RoleName, controllerAddr: InetSocketAddress) case Event(msg: NetworkOp, _) => log.error("received {} instead of Done", msg) goto(Failed) - case Event(msg: ServerOp, _) => + case Event(_: ServerOp, _) => stay.replying(Status.Failure(new IllegalStateException("not connected yet"))) case Event(StateTimeout, _) => log.error("connect timeout to TestConductor") @@ -221,15 +222,15 @@ private[akka] class ClientFSM(name: RoleName, controllerAddr: InetSocketAddress) case Event(ToServer(msg), d @ Data(Some(channel), None)) => channel.write(msg) val token = msg match { - case EnterBarrier(barrier, timeout) => Some(barrier -> sender()) - case GetAddress(node) => Some(node.name -> sender()) - case _ => None + case EnterBarrier(barrier, _) => Some(barrier -> sender()) + case GetAddress(node) => Some(node.name -> sender()) + case _ => None } stay.using(d.copy(runningOp = token)) - case Event(ToServer(op), Data(channel, Some((token, _)))) => + case Event(ToServer(op), Data(_, Some((token, _)))) => log.error("cannot write {} while waiting for {}", op, token) stay - case Event(op: ClientOp, d @ Data(Some(channel), runningOp)) => + case Event(op: ClientOp, d @ Data(Some(channel @ _), runningOp)) => op match { case BarrierResult(b, success) => runningOp match { @@ -244,7 +245,7 @@ private[akka] class ClientFSM(name: RoleName, controllerAddr: InetSocketAddress) log.warning("did not expect {}", op) } stay.using(d.copy(runningOp = None)) - case AddressReply(node, address) => + case AddressReply(_, address) => runningOp match { case Some((_, requester)) => requester ! address case None => log.warning("did not expect {}", op) @@ -273,7 +274,7 @@ private[akka] class ClientFSM(name: RoleName, controllerAddr: InetSocketAddress) "adapters available that support throttling. Specify `testTransport(on = true)` in your MultiNodeConfig") } stay - case d: DisconnectMsg => + case _: DisconnectMsg => // FIXME: Currently ignoring, needs support from Remoting stay case TerminateMsg(Left(false)) => @@ -340,7 +341,7 @@ private[akka] class PlayerHandler( override def exceptionCaught(ctx: ChannelHandlerContext, event: ExceptionEvent) = { log.debug("channel {} exception {}", event.getChannel, event.getCause) event.getCause match { - case c: ConnectException if reconnects > 0 => + case _: ConnectException if reconnects > 0 => reconnects -= 1 scheduler.scheduleOnce(nextAttempt.timeLeft)(reconnect()) case e => fsm ! ConnectionFailure(e.getMessage) diff --git a/akka-multi-node-testkit/src/main/scala/akka/remote/testkit/MultiNodeSpec.scala b/akka-multi-node-testkit/src/main/scala/akka/remote/testkit/MultiNodeSpec.scala index cbd497309f..b4cda57c2d 100644 --- a/akka-multi-node-testkit/src/main/scala/akka/remote/testkit/MultiNodeSpec.scala +++ b/akka-multi-node-testkit/src/main/scala/akka/remote/testkit/MultiNodeSpec.scala @@ -30,6 +30,7 @@ import akka.util.ccompat._ /** * Configure the role names and participants of the test, including configuration settings. */ +@ccompatUsedUntil213 abstract class MultiNodeConfig { private var _commonConf: Option[Config] = None @@ -437,7 +438,8 @@ abstract class MultiNodeSpec( // now add deployments, if so desired - private final case class Replacement(tag: String, role: RoleName) { + // Cannot be final because of https://github.com/scala/bug/issues/4440 + private case class Replacement(tag: String, role: RoleName) { lazy val addr = node(role).address.toString } @@ -450,7 +452,7 @@ abstract class MultiNodeSpec( case (base, r @ Replacement(tag, _)) => base.indexOf(tag) match { case -1 => base - case start => + case _ => val replaceWith = try r.addr catch { case NonFatal(e) => diff --git a/akka-multi-node-testkit/src/main/scala/akka/remote/testkit/PerfFlamesSupport.scala b/akka-multi-node-testkit/src/main/scala/akka/remote/testkit/PerfFlamesSupport.scala index fb8ae74ec5..8b4f1ea490 100644 --- a/akka-multi-node-testkit/src/main/scala/akka/remote/testkit/PerfFlamesSupport.scala +++ b/akka-multi-node-testkit/src/main/scala/akka/remote/testkit/PerfFlamesSupport.scala @@ -22,12 +22,12 @@ private[akka] trait PerfFlamesSupport { _: MultiNodeSpec => * * Options are currently to be passed in via `export PERF_MAP_OPTIONS` etc. */ - def runPerfFlames(nodes: RoleName*)(delay: FiniteDuration, time: FiniteDuration = 15.seconds): Unit = { + def runPerfFlames(nodes: RoleName*)(delay: FiniteDuration): Unit = { if (isPerfJavaFlamesAvailable && isNode(nodes: _*)) { import scala.concurrent.ExecutionContext.Implicits.global val afterDelay = akka.pattern.after(delay, system.scheduler)(Future.successful("GO!")) - afterDelay.onComplete { it => + afterDelay.onComplete { _ => import java.lang.management._ val name = ManagementFactory.getRuntimeMXBean.getName val pid = name.substring(0, name.indexOf('@')).toInt diff --git a/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/FanInThrougputSpec.scala b/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/FanInThrougputSpec.scala index f77e0b1d73..b9496d3ae4 100644 --- a/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/FanInThrougputSpec.scala +++ b/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/FanInThrougputSpec.scala @@ -124,7 +124,7 @@ abstract class FanInThroughputSpec extends RemotingMultiNodeSpec(FanInThroughput val sendingNodes = roles.tail - runPerfFlames(roles: _*)(delay = 5.seconds, time = 15.seconds) + runPerfFlames(roles: _*)(delay = 5.seconds) runOn(roles.head) { val rep = reporter(testName) diff --git a/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/FanOutThrougputSpec.scala b/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/FanOutThrougputSpec.scala index d67d3f658b..4f6a8cb800 100644 --- a/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/FanOutThrougputSpec.scala +++ b/akka-remote-tests/src/multi-jvm/scala/akka/remote/artery/FanOutThrougputSpec.scala @@ -123,7 +123,7 @@ abstract class FanOutThroughputSpec extends RemotingMultiNodeSpec(FanOutThroughp val targetNodes = roles.tail - runPerfFlames(roles: _*)(delay = 5.seconds, time = 15.seconds) + runPerfFlames(roles: _*)(delay = 5.seconds) runOn(targetNodes: _*) { val rep = reporter(testName) 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 a702aa7b68..c18c68a67a 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 @@ -451,7 +451,7 @@ abstract class MaxThroughputSpec extends RemotingMultiNodeSpec(MaxThroughputSpec import testSettings._ val receiverName = testName + "-rcv" - runPerfFlames(first, second)(delay = 5.seconds, time = 15.seconds) + runPerfFlames(first, second)(delay = 5.seconds) runOn(second) { val rep = reporter(testName) diff --git a/project/AkkaDisciplinePlugin.scala b/project/AkkaDisciplinePlugin.scala index d96e2c9cda..3b59df9a31 100644 --- a/project/AkkaDisciplinePlugin.scala +++ b/project/AkkaDisciplinePlugin.scala @@ -28,7 +28,6 @@ object AkkaDisciplinePlugin extends AutoPlugin with ScalafixSupport { "akka-actor-typed-tests", "akka-bench-jmh", "akka-bench-jmh-typed", - "akka-multi-node-testkit", "akka-persistence-tck", "akka-stream-tests", "akka-stream-tests-tck")