Skip to content

Commit 555ed88

Browse files
chore: akka-http to 2.7.0-M1, akka to 2.10.0-M1, align with changes from upstream (#1321)
* chore: akka-http to 2.7.0-M1, akka to 2.10.0-M1, align with changes from upstream * use log4j-slf4j2-impl instead of log4j-slf4j-impl * revert versions in sample
1 parent fc6a485 commit 555ed88

File tree

31 files changed

+122
-93
lines changed

31 files changed

+122
-93
lines changed

.scala-steward.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ pullRequests.frequency = "@monthly"
22

33
updates.pin = [
44
# To be updated in tandem with upstream Akka
5-
{groupId = "com.fasterxml.jackson.core", version = "2.15."}
5+
{groupId = "com.fasterxml.jackson.core", version = "2.17."}
66
{groupId = "org.scalatest", artifactId = "scalatest", version = "3.2."}
77
]
88

cluster-bootstrap/src/main/scala/akka/management/cluster/bootstrap/ClusterBootstrapSettings.scala

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,20 @@ import java.util.concurrent.TimeUnit
1010

1111
import akka.actor.ActorSystem
1212
import akka.event.LoggingAdapter
13+
1314
import com.typesafe.config.Config
15+
1416
import scala.concurrent.duration.{ FiniteDuration, _ }
15-
import scala.compat.java8.OptionConverters._
16-
import akka.util.JavaDurationConverters._
17+
import scala.jdk.DurationConverters._
18+
import scala.jdk.OptionConverters._
1719

1820
final class ClusterBootstrapSettings(config: Config, log: LoggingAdapter) {
1921
import akka.management.AkkaManagementSettings._
2022

2123
val managementBasePath: Option[String] =
2224
Option(config.getString("akka.management.http.base-path")).filter(_.trim.nonEmpty)
2325

24-
def getManagementBasePath: Optional[String] = managementBasePath.asJava
26+
def getManagementBasePath: Optional[String] = managementBasePath.toJava
2527

2628
private val bootConfig = config.getConfig("akka.management.cluster.bootstrap")
2729

@@ -84,16 +86,16 @@ final class ClusterBootstrapSettings(config: Config, log: LoggingAdapter) {
8486
}
8587

8688
/** Java API */
87-
def getContactPointDiscoveryServiceName: Optional[String] = contactPointDiscovery.serviceName.asJava
89+
def getContactPointDiscoveryServiceName: Optional[String] = contactPointDiscovery.serviceName.toJava
8890

8991
/** Java API */
90-
def getContactPointDiscoveryServiceNamespace: Optional[String] = contactPointDiscovery.serviceNamespace.asJava
92+
def getContactPointDiscoveryServiceNamespace: Optional[String] = contactPointDiscovery.serviceNamespace.toJava
9193

9294
/** Java API */
93-
def getContactPointDiscoveryPortName: Optional[String] = contactPointDiscovery.portName.asJava
95+
def getContactPointDiscoveryPortName: Optional[String] = contactPointDiscovery.portName.toJava
9496

9597
/** Java API */
96-
def getContactPointDiscoveryProtocol: Optional[String] = contactPointDiscovery.protocol.asJava
98+
def getContactPointDiscoveryProtocol: Optional[String] = contactPointDiscovery.protocol.toJava
9799

98100
/** Java API */
99101
def getContactPointDiscoveryEffectiveName(system: ActorSystem): String = contactPointDiscovery.effectiveName(system)
@@ -102,24 +104,24 @@ final class ClusterBootstrapSettings(config: Config, log: LoggingAdapter) {
102104
def getContactPointDiscoveryMethod: String = contactPointDiscovery.discoveryMethod
103105

104106
/** Java API */
105-
def getContactPointDiscoveryStableMargin: java.time.Duration = contactPointDiscovery.stableMargin.asJava
107+
def getContactPointDiscoveryStableMargin: java.time.Duration = contactPointDiscovery.stableMargin.toJava
106108

107109
/** Java API */
108-
def getContactPointDiscoveryInterval: java.time.Duration = contactPointDiscovery.interval.asJava
110+
def getContactPointDiscoveryInterval: java.time.Duration = contactPointDiscovery.interval.toJava
109111

110112
/** Java API */
111113
def getContactPointDiscoveryExponentialBackoffRandomFactor: Double =
112114
contactPointDiscovery.exponentialBackoffRandomFactor
113115

114116
/** Java API */
115117
def getContactPointDiscoveryExponentialBackoffMax: java.time.Duration =
116-
contactPointDiscovery.exponentialBackoffMax.asJava
118+
contactPointDiscovery.exponentialBackoffMax.toJava
117119

118120
/** Java API */
119121
def getContactPointDiscoveryRequiredContactPointsNr: Int = contactPointDiscovery.requiredContactPointsNr
120122

121123
/** Java API */
122-
def getContactPointDiscoveryResolveTimeout: java.time.Duration = contactPointDiscovery.resolveTimeout.asJava
124+
def getContactPointDiscoveryResolveTimeout: java.time.Duration = contactPointDiscovery.resolveTimeout.toJava
123125

124126
object contactPoint {
125127
private val contactPointConfig = bootConfig.getConfig("contact-point")
@@ -149,7 +151,7 @@ final class ClusterBootstrapSettings(config: Config, log: LoggingAdapter) {
149151
def getContactPointFallbackPort: Int = contactPoint.fallbackPort
150152

151153
/** Java API */
152-
def getContactPointProbingFailureTimeout: java.time.Duration = contactPoint.probingFailureTimeout.asJava
154+
def getContactPointProbingFailureTimeout: java.time.Duration = contactPoint.probingFailureTimeout.toJava
153155

154156
object joinDecider {
155157
val implClass: String = bootConfig.getString("join-decider.class")

cluster-bootstrap/src/main/scala/akka/management/cluster/bootstrap/JoinDecider.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ package akka.management.cluster.bootstrap
66

77
import java.time.LocalDateTime
88

9-
import scala.collection.JavaConverters._
109
import scala.concurrent.Future
10+
import scala.jdk.CollectionConverters._
11+
1112
import akka.actor.Address
1213
import akka.discovery.ServiceDiscovery.ResolvedTarget
1314

cluster-bootstrap/src/main/scala/akka/management/cluster/bootstrap/LowestAddressJoinDecider.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ package akka.management.cluster.bootstrap
66

77
import java.time.Duration
88

9+
import scala.annotation.nowarn
910
import scala.concurrent.Future
11+
1012
import akka.actor.ActorSystem
1113
import akka.actor.Address
1214
import akka.discovery.ServiceDiscovery.ResolvedTarget
13-
import akka.util.unused
1415

1516
/**
1617
* The decision of joining "self" is made by deterministically sorting the discovered services
@@ -140,7 +141,8 @@ class LowestAddressJoinDecider(system: ActorSystem, settings: ClusterBootstrapSe
140141
* contact points have not been confirmed (unreachable or not running).
141142
* `hasEnoughContactPoints` and `isPastStableMargin` must still be fulfilled.
142143
*/
143-
protected def isConfirmedCommunicationWithAllContactPointsRequired(@unused info: SeedNodesInformation): Boolean =
144+
protected def isConfirmedCommunicationWithAllContactPointsRequired(
145+
@nowarn("msg=never used") info: SeedNodesInformation): Boolean =
144146
settings.contactPointDiscovery.contactWithAllContactPoints
145147

146148
/**

cluster-http/src/main/scala/akka/management/cluster/javadsl/ClusterMembershipCheck.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@ import java.util.concurrent.CompletionStage
88

99
import akka.management.cluster.scaladsl.{ ClusterMembershipCheck => ScalaClusterReadinessCheck }
1010

11-
import scala.compat.java8.FutureConverters._
11+
import scala.concurrent.ExecutionContext
12+
import scala.jdk.FutureConverters._
13+
1214
import akka.actor.ActorSystem
13-
import akka.dispatch.ExecutionContexts
1415

1516
class ClusterMembershipCheck(system: ActorSystem)
1617
extends java.util.function.Supplier[CompletionStage[java.lang.Boolean]] {
1718

1819
private val delegate = new ScalaClusterReadinessCheck(system)
1920

2021
override def get(): CompletionStage[java.lang.Boolean] = {
21-
delegate.apply().map(Boolean.box)(ExecutionContexts.parasitic).toJava
22+
delegate.apply().map(Boolean.box)(ExecutionContext.parasitic).asJava
2223
}
2324
}

cluster-http/src/main/scala/akka/management/cluster/scaladsl/ClusterMembershipCheck.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import akka.cluster.{ Cluster, MemberStatus }
1010
import akka.util.Helpers
1111
import com.typesafe.config.Config
1212

13-
import scala.collection.JavaConverters._
1413
import scala.concurrent.Future
14+
import scala.jdk.CollectionConverters._
1515

1616
/**
1717
* Internal API

discovery-aws-api-async/src/main/scala/akka/discovery/awsapi/ecs/AsyncEcsDiscovery.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ package akka.discovery.awsapi.ecs
66

77
import java.net.{ InetAddress, NetworkInterface }
88

9-
import scala.collection.JavaConverters._
9+
import scala.jdk.CollectionConverters._
1010

1111
import akka.annotation.ApiMayChange
1212

discovery-aws-api-async/src/main/scala/akka/discovery/awsapi/ecs/AsyncEcsServiceDiscovery.scala

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ package akka.discovery.awsapi.ecs
77
import java.net.InetAddress
88
import java.util.concurrent.TimeoutException
99

10-
import scala.collection.JavaConverters._
1110
import scala.collection.immutable.Seq
12-
import scala.compat.java8.FutureConverters.toScala
1311
import scala.concurrent.duration._
1412
import scala.concurrent.{ ExecutionContext, Future }
13+
import scala.jdk.CollectionConverters._
14+
import scala.jdk.FutureConverters._
1515
import scala.util.Try
1616

1717
import akka.actor.ActorSystem
@@ -98,8 +98,8 @@ object AsyncEcsServiceDiscovery {
9898
accumulator: Seq[String] = Seq.empty
9999
)(implicit ec: ExecutionContext): Future[Seq[String]] =
100100
for {
101-
listTasksResponse <- toScala(
102-
ecsClient.listTasks(
101+
listTasksResponse <- ecsClient
102+
.listTasks(
103103
ListTasksRequest
104104
.builder()
105105
.cluster(cluster)
@@ -108,7 +108,7 @@ object AsyncEcsServiceDiscovery {
108108
.desiredStatus(DesiredStatus.RUNNING)
109109
.build()
110110
)
111-
)
111+
.asScala
112112
accumulatedTasksArns = accumulator ++ listTasksResponse.taskArns().asScala
113113
taskArns <- listTasksResponse.nextToken() match {
114114
case null =>
@@ -131,11 +131,11 @@ object AsyncEcsServiceDiscovery {
131131
for {
132132
// Each DescribeTasksRequest can contain at most 100 task ARNs.
133133
describeTasksResponses <- Future.traverse(taskArns.grouped(100))(taskArnGroup =>
134-
toScala(
135-
ecsClient.describeTasks(
134+
ecsClient
135+
.describeTasks(
136136
DescribeTasksRequest.builder().cluster(cluster).tasks(taskArnGroup.asJava).include(TaskField.TAGS).build()
137137
)
138-
))
138+
.asScala)
139139
tasks = describeTasksResponses.flatMap(_.tasks().asScala).toList
140140
} yield tasks
141141

discovery-aws-api-async/src/main/scala/akka/discovery/awsapi/ecs/AsyncEcsTaskSetDiscovery.scala

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ package akka.discovery.awsapi.ecs
77
import java.net.InetAddress
88
import java.util.concurrent.TimeoutException
99

10-
import scala.collection.JavaConverters._
1110
import scala.collection.immutable.Seq
12-
import scala.compat.java8.FutureConverters.toScala
1311
import scala.concurrent.duration._
1412
import scala.concurrent.{ ExecutionContext, Future }
13+
import scala.jdk.FutureConverters._
14+
import scala.jdk.CollectionConverters._
1515
import scala.util.Try
1616

1717
import akka.actor.ActorSystem
@@ -131,11 +131,13 @@ object AsyncEcsTaskSetDiscovery {
131131
private[this] def resolveTaskSet(ecsClient: EcsAsyncClient, cluster: String, taskArn: String)(
132132
implicit ec: ExecutionContext
133133
): Future[Option[TaskSet]] =
134-
toScala(
135-
ecsClient.describeTasks(
134+
ecsClient
135+
.describeTasks(
136136
DescribeTasksRequest.builder().cluster(cluster).tasks(taskArn).include(TaskField.TAGS).build()
137137
)
138-
).map(_.tasks().asScala.headOption).map(_.map(task => TaskSet(task.startedBy())))
138+
.asScala
139+
.map(_.tasks().asScala.headOption)
140+
.map(_.map(task => TaskSet(task.startedBy())))
139141

140142
private[this] def listTaskArns(
141143
ecsClient: EcsAsyncClient,
@@ -145,8 +147,8 @@ object AsyncEcsTaskSetDiscovery {
145147
accumulator: Seq[String] = Seq.empty
146148
)(implicit ec: ExecutionContext): Future[Seq[String]] =
147149
for {
148-
listTasksResponse <- toScala(
149-
ecsClient.listTasks(
150+
listTasksResponse <- ecsClient
151+
.listTasks(
150152
ListTasksRequest
151153
.builder()
152154
.cluster(cluster)
@@ -155,7 +157,7 @@ object AsyncEcsTaskSetDiscovery {
155157
.desiredStatus(DesiredStatus.RUNNING)
156158
.build()
157159
)
158-
)
160+
.asScala
159161
accumulatedTasksArns = accumulator ++ listTasksResponse.taskArns().asScala
160162
taskArns <- listTasksResponse.nextToken() match {
161163
case null =>
@@ -178,11 +180,11 @@ object AsyncEcsTaskSetDiscovery {
178180
for {
179181
// Each DescribeTasksRequest can contain at most 100 task ARNs.
180182
describeTasksResponses <- Future.traverse(taskArns.grouped(100))(taskArnGroup =>
181-
toScala(
182-
ecsClient.describeTasks(
183+
ecsClient
184+
.describeTasks(
183185
DescribeTasksRequest.builder().cluster(cluster).tasks(taskArnGroup.asJava).include(TaskField.TAGS).build()
184186
)
185-
))
187+
.asScala)
186188
tasks = describeTasksResponses.flatMap(_.tasks().asScala).toList
187189
} yield tasks
188190

discovery-aws-api/src/main/scala/akka/discovery/awsapi/ec2/Ec2TagBasedServiceDiscovery.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ import com.amazonaws.retry.PredefinedRetryPolicies
2020
import com.amazonaws.services.ec2.model.{ DescribeInstancesRequest, Filter, Reservation }
2121
import com.amazonaws.services.ec2.{ AmazonEC2, AmazonEC2ClientBuilder }
2222
import scala.annotation.tailrec
23-
import scala.collection.JavaConverters._
2423
import scala.collection.immutable.Seq
2524
import scala.concurrent.duration.FiniteDuration
2625
import scala.concurrent.{ ExecutionContext, Future }
26+
import scala.jdk.CollectionConverters._
2727
import scala.util.{ Failure, Success, Try }
2828

2929
/** INTERNAL API */

discovery-aws-api/src/main/scala/akka/discovery/awsapi/ecs/EcsServiceDiscovery.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ import com.amazonaws.retry.PredefinedRetryPolicies
1818
import com.amazonaws.services.ecs.model.{ DescribeTasksRequest, DesiredStatus, ListTasksRequest, Task }
1919
import com.amazonaws.services.ecs.{ AmazonECS, AmazonECSClientBuilder }
2020
import scala.annotation.tailrec
21-
import scala.collection.JavaConverters._
2221
import scala.collection.immutable.Seq
2322
import scala.concurrent.{ ExecutionContext, Future }
2423
import scala.concurrent.duration._
24+
import scala.jdk.CollectionConverters._
2525
import scala.util.Try
2626

2727
final class EcsServiceDiscovery(system: ActorSystem) extends ServiceDiscovery {

discovery-aws-api/src/test/scala/akka/discovery/awsapi/ec2/Ec2TagBasedSimpleServiceDiscoveryTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import org.scalatest.matchers.should.Matchers
1111

1212
class FiltersParsingTest extends AnyFunSuite with Matchers {
1313

14-
import scala.collection.JavaConverters._
14+
import scala.jdk.CollectionConverters._
1515

1616
test("empty string does not break parsing") {
1717
val filters = ""

discovery-kubernetes-api/src/main/scala/akka/discovery/kubernetes/Settings.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import java.util.Optional
99
import akka.actor._
1010
import com.typesafe.config.Config
1111

12-
import scala.compat.java8.OptionConverters._
12+
import scala.jdk.OptionConverters._
1313

1414
final class Settings(system: ExtendedActorSystem) extends Extension {
1515

@@ -48,7 +48,7 @@ final class Settings(system: ExtendedActorSystem) extends Extension {
4848
kubernetesApi.optDefinedValue("pod-namespace")
4949

5050
/** Java API */
51-
def getPodNamespace: Optional[String] = podNamespace.asJava
51+
def getPodNamespace: Optional[String] = podNamespace.toJava
5252

5353
val podDomain: String =
5454
kubernetesApi.getString("pod-domain")

integration-test/aws-api-ec2/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ libraryDependencies += "com.amazonaws" % "aws-java-sdk-cloudformation" % "1.12.6
88

99
libraryDependencies += "com.amazonaws" % "aws-java-sdk-autoscaling" % "1.12.635" % Test
1010

11-
libraryDependencies += "com.fasterxml.jackson.core" % "jackson-databind" % "2.15.3" // aws SDK depends on insecure jackson
11+
libraryDependencies += "com.fasterxml.jackson.core" % "jackson-databind" % "2.17.2" // aws SDK depends on insecure jackson
1212

1313
libraryDependencies += "org.scalatest" %% "scalatest" % Dependencies.ScalaTestVersion % Test

integration-test/aws-api-ec2/src/test/scala/akka/cluster/bootstrap/IntegrationTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class IntegrationTest
5959
with SpanSugar
6060
with Matchers {
6161

62-
import collection.JavaConverters._
62+
import scala.jdk.CollectionConverters._
6363

6464
private val buildId: String = System.getenv("BUILD_ID")
6565
assert(buildId != null, "BUILD_ID environment variable has to be defined")
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
enablePlugins(JavaAppPackaging)
2+
3+
resolvers += "Akka library repository".at("https://repo.akka.io/maven")
4+
5+
name := "bootstrap-demo-dns-api"
6+
7+
scalaVersion := "2.13.14"
8+
9+
def akkaManagementVersion(version: String) = version.split('+')(0)
10+
11+
libraryDependencies += "com.lightbend.akka.management" %% "akka-management-cluster-bootstrap" % akkaManagementVersion(
12+
version.value)
13+
14+
libraryDependencies += "com.lightbend.akka.management" %% "akka-management-cluster-http" % akkaManagementVersion(
15+
version.value)
16+
17+
libraryDependencies += "com.typesafe.akka" %% "akka-discovery" % "2.10.0-M1"

integration-test/kubernetes-api-java/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
<properties>
1818
<encoding>UTF-8</encoding>
1919
<maven.compiler.release>11</maven.compiler.release>
20-
<akka.version>2.9.3</akka.version>
21-
<akka.http.version>10.6.3</akka.http.version>
20+
<akka.version>2.10.0-M1</akka.version>
21+
<akka.http.version>10.7.0-M1</akka.http.version>
2222
<akka-management.version>1.5.2</akka-management.version>
2323
<scala.binary.version>2.13</scala.binary.version>
2424
</properties>
@@ -50,7 +50,7 @@
5050
<dependency>
5151
<groupId>ch.qos.logback</groupId>
5252
<artifactId>logback-classic</artifactId>
53-
<version>1.2.13</version>
53+
<version>1.5.7</version>
5454
</dependency>
5555
<dependency>
5656
<groupId>com.lightbend.akka.management</groupId>

0 commit comments

Comments
 (0)