diff --git a/.github/workflows/cve-scan-pr.yml b/.github/workflows/cve-scan-pr.yml index 0aa0b62ef7..5778d86d15 100644 --- a/.github/workflows/cve-scan-pr.yml +++ b/.github/workflows/cve-scan-pr.yml @@ -21,8 +21,6 @@ jobs: - name: Build Docker image of HMDA platform run: | env JAVA_OPTS="-Xss256m -Xmx4096m" sbt "project hmda-platform" dockerPublishLocalSkipTests - env: - AKKA_RESOLVER: ${{ secrets.AKKA_RESOLVER }} - name: Tag and name Docker image run: docker tag hmda/hmda-platform:latest pr-cve-scan:latest diff --git a/.github/workflows/dockerhub-push.yml b/.github/workflows/dockerhub-push.yml index e2520d7987..1bbdd9b965 100644 --- a/.github/workflows/dockerhub-push.yml +++ b/.github/workflows/dockerhub-push.yml @@ -24,7 +24,7 @@ jobs: run: | sbt "project hmda-platform" dockerPublishLocalSkipTests env: - AKKA_RESOLVER: ${{ secrets.AKKA_RESOLVER }} + PEKKO_RESOLVER: ${{ secrets.PEKKO_RESOLVER }} - name: Tag Docker image run: docker tag $(docker images --filter=reference="hmda/hmda-platform:latest" --format "{{.ID}}") ${{ env.REGISTRY }}:${{ github.ref_name }} diff --git a/.github/workflows/helper-functions.yaml b/.github/workflows/helper-functions.yaml index 753803451a..afc8a81fd4 100644 --- a/.github/workflows/helper-functions.yaml +++ b/.github/workflows/helper-functions.yaml @@ -39,7 +39,7 @@ jobs: done continue-on-error: true env: - AKKA_RESOLVER: ${{ secrets.AKKA_RESOLVER }} + PEKKO_RESOLVER: ${{ secrets.PEKKO_RESOLVER }} - name: Check Test Results run: | diff --git a/README.md b/README.md index 30a41ee2cd..b74ba18f11 100644 --- a/README.md +++ b/README.md @@ -178,7 +178,7 @@ export JAVA_HOME=$HOME/.asdf/installs/java/openjdk-13.0.2 ### Running with sbt -~~The HMDA Platform can run locally using [`sbt`](https://www.scala-sbt.org/) with an [embedded Cassandra](https://doc.akka.io/docs/alpakka-kafka/current/) and [embedded Kafka](https://doc.akka.io/docs/alpakka-kafka/current/). To get started:~~ +~~The HMDA Platform can run locally using [`sbt`](https://www.scala-sbt.org/) with an [embedded Cassandra](https://doc.pekko.io/docs/pekko-kafka/current/) and [embedded Kafka](https://doc.pekko.io/docs/pekko-kafka/current/). To get started:~~ _removing embedded cassandra allows us to use more up-to-date java versions_ For local development, supporting services need to be started first in docker: @@ -197,10 +197,10 @@ For local development, supporting services need to be started first in docker: export CASSANDRA_CLUSTER_HOSTS=localhost export APP_PORT=2551 ``` -1. With the new Akka dependencies no longer available from the public resolver, we need to use the authenticated URL retrievable from https://account.akka.io/token. +1. With the new pekko dependencies no longer available from the public resolver, we need to use the authenticated URL retrievable from https://account.pekko.io/token. Once we get the url from that page, export it as an environment variable (or set it as a env var shell profile): ```bash - export AKKA_RESOLVER={url from the akka token web page} + export PEKKO_RESOLVER={url from the pekko token web page} ``` 1. Start sbt and run the platform with the following commands: ```bash diff --git a/UPGRADES.md b/UPGRADES.md index a9bbe6f102..2df4f7354e 100644 --- a/UPGRADES.md +++ b/UPGRADES.md @@ -1,25 +1,25 @@ # Upgrades -## Akka Cassandra Persistence Plugin Upgrade -Migration Documentation: https://doc.akka.io/docs/akka-persistence-cassandra/current/migrations.html +## pekko Cassandra Persistence Plugin Upgrade +Migration Documentation: https://doc.pekko.io/docs/pekko-persistence-cassandra/current/migrations.html ##### new table needed for upgrading to 1.0+ ```sql -CREATE TABLE IF NOT EXISTS akka.all_persistence_ids( +CREATE TABLE IF NOT EXISTS pekko.all_persistence_ids( persistence_id text PRIMARY KEY); ``` new environment variable to put into `cassandra-configmap`: `cassandra-cluster-dc` (e.g.: `dc` / `dc2`) ### Migration -newly added table needs to be populated, refer to [Migration Documentation](https://doc.akka.io/docs/akka-persistence-cassandra/current/migrations.html) in [plugin upgrade](#akka-cassandra-persistence-plugin-upgrade) section, +newly added table needs to be populated, refer to [Migration Documentation](https://doc.pekko.io/docs/pekko-persistence-cassandra/current/migrations.html) in [plugin upgrade](#pekko-cassandra-persistence-plugin-upgrade) section, code snippet for migration tool: ```scala import scala.util.Failure import scala.util.Success -import akka.actor.ActorSystem -import akka.persistence.cassandra.reconciler.Reconciliation +import org.apache.pekko.actor.ActorSystem +import pekko.persistence.cassandra.reconciler.Reconciliation // System should have the same Cassandra plugin configuration as your application // but be careful to remove seed nodes so this doesn't join the cluster @@ -43,6 +43,9 @@ so it is visible if errors occur, or if the process stalled, and to increase request timeout. ```HOCON datastax-java-driver { + basic.request { + timeout = 10 seconds + } basic { contact-points = ["localhost:9042"] contact-points = [${?CASSANDRA_CLUSTER_HOSTS}":9042"] diff --git a/akka.sbt b/akka.sbt deleted file mode 100644 index c69216224e..0000000000 --- a/akka.sbt +++ /dev/null @@ -1,2 +0,0 @@ -ThisBuild / resolvers += "akka-secure-mvn" at sys.env("AKKA_RESOLVER") -ThisBuild / resolvers += Resolver.url("akka-secure-ivy", url(sys.env("AKKA_RESOLVER")))(Resolver.ivyStylePatterns) diff --git a/build.sbt b/build.sbt index 8b486a407a..ae4717f543 100644 --- a/build.sbt +++ b/build.sbt @@ -3,12 +3,12 @@ import BuildSettings._ import sbtassembly.AssemblyPlugin.autoImport.assemblyMergeStrategy import com.typesafe.sbt.packager.docker._ -lazy val commonDeps = Seq(logback, scalaTest, scalaCheck, akkaHttpSprayJson, testContainers, apacheCommonsIO, log4jToSlf4j, kubernetesApi, scalaLogging) +lazy val commonDeps = Seq(logback, scalaTest, scalaCheck, pekkoHttpSprayJson, testContainers, apacheCommonsIO, log4jToSlf4j, kubernetesApi, scalaLogging) lazy val sparkDeps = Seq( postgres, - akkaKafkaStreams, + pekkoKafkaStreams, kafkaClients ) @@ -16,46 +16,45 @@ lazy val authDeps = Seq(keycloakAdmin, jbossLogging, httpClient) lazy val keycloakServerDeps = Seq(resteasyClient, resteasyJackson, resteasyMulti) -lazy val akkaDeps = Seq( - akkaSlf4J, - akkaCluster, - akkaTyped, - akkaClusterTyped, - akkaStream, - akkaStreamTyped, - akkaManagement, - akkaManagementClusterBootstrap, - akkaServiceDiscoveryDNS, - akkaServiceDiscoveryKubernetes, - akkaClusterHttpManagement, - akkaClusterHttpManagement, - akkaTestkitTyped, - akkaStreamsTestKit, - akkaCors, +lazy val pekkoDeps = Seq( + pekkoSlf4J, + pekkoCluster, + pekkoTyped, + pekkoClusterTyped, + pekkoStream, + pekkoStreamTyped, + pekkoManagement, + pekkoManagementClusterBootstrap, + pekkoServiceDiscoveryDNS, + pekkoServiceDiscoveryKubernetes, + pekkoClusterHttpManagement, + pekkoClusterHttpManagement, + pekkoTestkitTyped, + pekkoStreamsTestKit, + pekkoCors, mskdriver, - akkaKafkaStreams, + pekkoKafkaStreams, kafkaClients, - alpakkaS3, - akkaQuartzScheduler, - alpakkaFile + pekkoS3, + pekkoQuartzScheduler, + pekkoFile ) -lazy val akkaPersistenceDeps = +lazy val pekkoPersistenceDeps = Seq( - akkaPersistence, - akkaClusterSharding, - akkaPersistenceTyped, - akkaPersistenceQuery, - akkaClusterShardingTyped, - akkaPersistenceCassandra, + pekkoPersistence, + pekkoClusterSharding, + pekkoPersistenceTyped, + pekkoPersistenceQuery, + pekkoClusterShardingTyped, + pekkoPersistenceCassandra, keyspacedriver ) -lazy val akkaHttpDeps = - Seq(akkaHttp, akkaHttp2, akkaHttpXml, akkaHttpTestkit, akkaStreamsTestKit, akkaHttpCirce) +lazy val pekkoHttpDeps = + Seq(pekkoHttp, pekkoHttp2, pekkoHttpXml, pekkoHttpTestkit, pekkoStreamsTestKit, pekkoHttpCirce) lazy val circeDeps = Seq(circe, circeGeneric, circeParser) lazy val enumeratumDeps = Seq(enumeratum, enumeratumCirce) - lazy val slickDeps = Seq(slick, slickHikariCP, postgres, h2) lazy val metaInfMatcher = """META-INF/.+\.(SF|DSA|RSA)""".r lazy val dockerSettings = Seq( @@ -130,10 +129,12 @@ lazy val common = (project in file("common")) scalapb.gen() -> (Compile / sourceManaged).value / "protobuf" ), Seq( - libraryDependencies ++= commonDeps ++ authDeps ++ akkaDeps ++ akkaPersistenceDeps ++ akkaHttpDeps ++ circeDeps ++ slickDeps ++ List( + libraryDependencies ++= commonDeps ++ authDeps ++ pekkoDeps ++ pekkoPersistenceDeps ++ pekkoHttpDeps ++ circeDeps ++ slickDeps ++ List( cormorant, cormorantGeneric, scalaMock, scalacheckShapeless, diffx ) ), + Seq(dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization )) + , // addCompilerPlugin("com.olegpy" %% "better-monadic-for" % "0.3.1") addCompilerPlugin("com.olegpy" %% "better-monadic-for" % "0.3.1"), // https://github.com/aws-samples/amazon-keyspaces-java-driver-helpers @@ -155,6 +156,7 @@ lazy val `hmda-platform` = (project in file("hmda")) .settings( Seq( libraryDependencies ++= List(guava, zeroAllocationHashing), + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), Compile / mainClass := Some("hmda.HmdaPlatform"), assembly / assemblyJarName := "hmda2.jar", assembly / assemblyMergeStrategy := { @@ -170,6 +172,24 @@ lazy val `hmda-platform` = (project in file("hmda")) case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat @@ -197,6 +217,7 @@ lazy val `check-digit` = (project in file("check-digit")) .settings( Seq( Compile / mainClass := Some("hmda.uli.HmdaUli"), + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), assembly / assemblyJarName := { s"${name.value}.jar" }, @@ -212,6 +233,24 @@ lazy val `check-digit` = (project in file("check-digit")) case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat @@ -237,8 +276,9 @@ lazy val `check-digit` = (project in file("check-digit")) .settings(hmdaBuildSettings: _*) .settings( Seq( - libraryDependencies ++= commonDeps ++ akkaDeps ++ akkaHttpDeps ++ circeDeps ++ slickDeps ++ + libraryDependencies ++= commonDeps ++ pekkoDeps ++ pekkoHttpDeps ++ circeDeps ++ slickDeps ++ enumeratumDeps :+ monix :+ lettuce :+ scalaMock, + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), Compile / mainClass := Some("hmda.proxy.FileProxy"), assembly / assemblyJarName := { s"${name.value}.jar" @@ -254,6 +294,26 @@ lazy val `check-digit` = (project in file("check-digit")) case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat @@ -280,6 +340,7 @@ lazy val `institutions-api` = (project in file("institutions-api")) .settings( Seq( Compile / mainClass := Some("hmda.institution.HmdaInstitutionApi"), + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), assembly / assemblyMergeStrategy := { case "application.conf" => MergeStrategy.concat case "META-INF/io.netty.versions.properties" => MergeStrategy.concat @@ -291,6 +352,24 @@ lazy val `institutions-api` = (project in file("institutions-api")) case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat @@ -318,8 +397,9 @@ lazy val `hmda-data-publisher` = (project in file("hmda-data-publisher")) .settings(hmdaBuildSettings: _*) .settings( Seq( - libraryDependencies ++= commonDeps ++ akkaDeps ++ akkaHttpDeps ++ circeDeps ++ slickDeps ++ enumeratumDeps :+ + libraryDependencies ++= commonDeps ++ pekkoDeps ++ pekkoHttpDeps ++ circeDeps ++ slickDeps ++ enumeratumDeps :+ scalaMock :+ cormorantGeneric :+ scalacheckShapeless :+ diffx, + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), Compile / mainClass := Some("hmda.publisher.HmdaDataPublisherApp"), assembly / assemblyJarName := { s"${name.value}.jar" @@ -335,6 +415,24 @@ lazy val `hmda-data-publisher` = (project in file("hmda-data-publisher")) case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat @@ -361,8 +459,9 @@ lazy val `hmda-dashboard` = (project in file("hmda-dashboard")) .settings(hmdaBuildSettings: _*) .settings( Seq( - libraryDependencies ++= commonDeps ++ akkaDeps ++ akkaHttpDeps ++ circeDeps ++ slickDeps ++ + libraryDependencies ++= commonDeps ++ pekkoDeps ++ pekkoHttpDeps ++ circeDeps ++ slickDeps ++ enumeratumDeps :+ monix :+ lettuce :+ scalaMock, + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), assembly / assemblyMergeStrategy := { case "application.conf" => MergeStrategy.concat case "META-INF/io.netty.versions.properties" => MergeStrategy.concat @@ -371,14 +470,34 @@ lazy val `hmda-dashboard` = (project in file("hmda-dashboard")) case PathList("META-INF", xs@_*) => MergeStrategy.concat case PathList("org", "bouncycastle", xs @_*) => MergeStrategy.first case PathList("jakarta", xs@_*) => MergeStrategy.last - case PathList(ps @ _*) if ps.last endsWith ".proto" => - MergeStrategy.first + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case "module-info.class" => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat case x if x.endsWith("/MailcapFile.class") => MergeStrategy.concat case x if x.endsWith("/MimeTypeFile.class") => MergeStrategy.concat + case x => val oldStrategy = (assembly / assemblyMergeStrategy).value oldStrategy(x) @@ -401,24 +520,40 @@ lazy val `ratespread-calculator` = (project in file("ratespread-calculator")) ) .settings(hmdaBuildSettings: _*) .settings( - Seq( - Compile / mainClass := Some("hmda.calculator.HmdaRateSpread"), + Seq( dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), + Compile / mainClass := Some("hmda.calculator.HmdaRateSpread"), assembly / assemblyMergeStrategy := { case "application.conf" => MergeStrategy.concat case "META-INF/io.netty.versions.properties" => MergeStrategy.concat case "META-INF/MANIFEST.MF" => MergeStrategy.discard + case "reference.conf" => MergeStrategy.concat case metaInfMatcher(_) => MergeStrategy.discard + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("META-INF", xs@_*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last case PathList("org", "bouncycastle", xs @_*) => MergeStrategy.first case PathList("jakarta", xs@_*) => MergeStrategy.last - case PathList(ps @ _*) if ps.last endsWith ".proto" => - MergeStrategy.first - case "module-info.class" => MergeStrategy.concat - case x if x.endsWith("/module-info.class") => MergeStrategy.concat + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat case x if x.endsWith("/MailcapFile.class") => MergeStrategy.concat case x if x.endsWith("/MimeTypeFile.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x => val oldStrategy = (assembly / assemblyMergeStrategy).value oldStrategy(x) @@ -443,6 +578,7 @@ lazy val `modified-lar` = (project in file("modified-lar")) .settings( Seq( Compile / mainClass := Some("hmda.publication.lar.ModifiedLarApp"), + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), assembly / assemblyMergeStrategy := { case "application.conf" => MergeStrategy.concat case "META-INF/io.netty.versions.properties" => MergeStrategy.concat @@ -454,6 +590,24 @@ lazy val `modified-lar` = (project in file("modified-lar")) case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat @@ -484,6 +638,7 @@ lazy val `irs-publisher` = (project in file("irs-publisher")) .settings( Seq( Compile / mainClass := Some("hmda.publication.lar.IrsPublisherApp"), + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), assembly / assemblyMergeStrategy := { case "application.conf" => MergeStrategy.concat case "META-INF/io.netty.versions.properties" => MergeStrategy.concat @@ -495,6 +650,24 @@ lazy val `irs-publisher` = (project in file("irs-publisher")) case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat @@ -525,6 +698,7 @@ lazy val `hmda-reporting` = (project in file("hmda-reporting")) .settings( Seq( Compile / mainClass := Some("hmda.reporting.HmdaReporting"), + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), assembly / assemblyMergeStrategy := { case "application.conf" => MergeStrategy.concat case "META-INF/io.netty.versions.properties" => MergeStrategy.concat @@ -536,6 +710,24 @@ lazy val `hmda-reporting` = (project in file("hmda-reporting")) case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat @@ -561,7 +753,7 @@ lazy val `hmda-protocol` = (project in file("protocol")) JavaServerAppPackaging, sbtdocker.DockerPlugin, AshScriptPlugin, - AkkaGrpcPlugin + PekkoGrpcPlugin ) .settings(hmdaBuildSettings: _*) @@ -575,6 +767,7 @@ lazy val `hmda-analytics` = (project in file("hmda-analytics")) .settings( Seq( Compile / mainClass := Some("hmda.analytics.HmdaAnalyticsApp"), + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), assembly / assemblyMergeStrategy := { case "application.conf" => MergeStrategy.concat case "META-INF/io.netty.versions.properties" => MergeStrategy.concat @@ -586,6 +779,24 @@ lazy val `hmda-analytics` = (project in file("hmda-analytics")) case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat @@ -615,6 +826,7 @@ lazy val `hmda-analytics` = (project in file("hmda-analytics")) Seq( libraryDependencies ++= keycloakServerDeps, Compile / mainClass := Some("hmda.authService.HmdaAuth"), + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), assembly / assemblyJarName := { s"${name.value}.jar" }, @@ -630,6 +842,26 @@ lazy val `hmda-analytics` = (project in file("hmda-analytics")) case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat @@ -655,7 +887,8 @@ lazy val `rate-limit` = (project in file("rate-limit")) .settings(hmdaBuildSettings: _*) .settings( Seq( - libraryDependencies ++= commonDeps ++ akkaDeps ++ akkaHttpDeps :+ guava, + libraryDependencies ++= commonDeps ++ pekkoDeps ++ pekkoHttpDeps :+ guava, + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), Compile / mainClass := Some("hmda.rateLimit.RateLimitApp"), assembly / assemblyMergeStrategy := { case "application.conf" => MergeStrategy.concat @@ -668,6 +901,24 @@ lazy val `rate-limit` = (project in file("rate-limit")) case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat @@ -696,8 +947,9 @@ lazy val `data-browser` = (project in file("data-browser")) .settings(hmdaBuildSettings: _*) .settings( Seq( - libraryDependencies ++= commonDeps ++ akkaDeps ++ akkaHttpDeps ++ circeDeps ++ slickDeps ++ + libraryDependencies ++= commonDeps ++ pekkoDeps ++ pekkoHttpDeps ++ circeDeps ++ slickDeps ++ enumeratumDeps :+ monix :+ lettuce :+ scalaMock, + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), assembly / assemblyMergeStrategy := { case "application.conf" => MergeStrategy.concat case "META-INF/io.netty.versions.properties" => MergeStrategy.concat @@ -709,6 +961,24 @@ lazy val `data-browser` = (project in file("data-browser")) case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat @@ -732,7 +1002,8 @@ lazy val `submission-errors` = (project in file("submission-errors")) .settings(hmdaBuildSettings) .settings( Seq( - libraryDependencies ++= commonDeps ++ akkaDeps ++ akkaHttpDeps ++ circeDeps ++ slickDeps :+ monix :+ slickPostgres, + libraryDependencies ++= commonDeps ++ pekkoDeps ++ pekkoHttpDeps ++ circeDeps ++ slickDeps :+ monix :+ slickPostgres, + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), assembly / assemblyMergeStrategy := { case "application.conf" => MergeStrategy.concat case "META-INF/io.netty.versions.properties" => MergeStrategy.concat @@ -744,6 +1015,24 @@ lazy val `submission-errors` = (project in file("submission-errors")) case PathList(ps@_*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat @@ -765,6 +1054,7 @@ lazy val `email-service` = (project in file("email-service")) .settings( Seq( Compile / mainClass := Some("hmda.publication.lar.EmailReceiptApp"), + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), assembly / assemblyMergeStrategy := { case "application.conf" => MergeStrategy.concat case "META-INF/io.netty.versions.properties" => MergeStrategy.concat @@ -776,6 +1066,24 @@ lazy val `email-service` = (project in file("email-service")) case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.last case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.last case x if x.endsWith("/LogSupport.class") => MergeStrategy.last @@ -788,7 +1096,7 @@ lazy val `email-service` = (project in file("email-service")) assembly / assemblyJarName := { s"${name.value}.jar" }, - libraryDependencies ++= monix :: akkaKafkaStreams :: kafkaClients :: awsSesSdk :: jakartaMail :: logback :: Nil + libraryDependencies ++= monix :: pekkoKafkaStreams :: kafkaClients :: awsSesSdk :: jakartaMail :: logback :: Nil ), dockerSettings, packageSettings @@ -805,8 +1113,9 @@ lazy val `hmda-quarterly-data-service` = (project in file ("hmda-quarterly-data- .settings(hmdaBuildSettings: _*) .settings( Seq( - libraryDependencies ++= commonDeps ++ akkaDeps ++ akkaHttpDeps ++ circeDeps ++ slickDeps ++ + libraryDependencies ++= commonDeps ++ pekkoDeps ++ pekkoHttpDeps ++ circeDeps ++ slickDeps ++ enumeratumDeps :+ monix :+ lettuce :+ scalaMock, + dependencyOverrides ++= Seq(jacksonDatabind,pekkoSerialization ), assembly / assemblyMergeStrategy := { case "application.conf" => MergeStrategy.concat case "META-INF/io.netty.versions.properties" => MergeStrategy.concat @@ -818,6 +1127,24 @@ lazy val `hmda-quarterly-data-service` = (project in file ("hmda-quarterly-data- case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first case "module-info.class" => MergeStrategy.concat + case PathList("META-INF", "services", xs @ _*) => MergeStrategy.concat + case PathList("net", "jpountz", xs @ _*) => MergeStrategy.last + case PathList("org", "lz4", xs @ _*) => MergeStrategy.last + case PathList(ps @ _*) if ps.last endsWith ".proto" => MergeStrategy.first + case PathList("com", "datastax", xs@_*) => MergeStrategy.first + case PathList("org", "apache", xs@_*) => MergeStrategy.first + case PathList("org", "glassfish", xs@_*) => MergeStrategy.first + case PathList("com", "sun", xs@_*) => MergeStrategy.first + case x if x.endsWith("reference-overrides.conf") => MergeStrategy.concat + case x if x.endsWith("reference.conf") => MergeStrategy.concat + case x if x.endsWith("version.conf") => MergeStrategy.concat + case x if x.endsWith("module-info.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat + case x if x.endsWith("/liblz4-java.so") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4ByteBufferUtils$Match.class") => MergeStrategy.concat + case x if x.endsWith("/LZ4BlockInputStream.class") => MergeStrategy.concat + case x if x.endsWith("/XXHash64JavaSafe.class") => MergeStrategy.concat case x if x.endsWith("/module-info.class") => MergeStrategy.concat case x if x.endsWith("/LineTokenizer.class") => MergeStrategy.concat case x if x.endsWith("/LogSupport.class") => MergeStrategy.concat diff --git a/check-digit/src/main/resources/application.conf b/check-digit/src/main/resources/application.conf index 866072f58d..c31e89707c 100644 --- a/check-digit/src/main/resources/application.conf +++ b/check-digit/src/main/resources/application.conf @@ -1,12 +1,12 @@ -akka { +pekko { log-level = INFO http.server.preview.enable-http2 = on } -akka.http.parsing { +pekko.http.parsing { max-to-strict-bytes = 20m } -akka.http.server.parsing { +pekko.http.server.parsing { max-content-length = 20m } diff --git a/check-digit/src/main/scala/hmda/uli/CheckDigitTest.scala b/check-digit/src/main/scala/hmda/uli/CheckDigitTest.scala index 6f807cb1d4..2976f394d1 100644 --- a/check-digit/src/main/scala/hmda/uli/CheckDigitTest.scala +++ b/check-digit/src/main/scala/hmda/uli/CheckDigitTest.scala @@ -1,8 +1,8 @@ package hmda.uli -import akka.actor.ActorSystem -import akka.grpc.GrpcClientSettings -import akka.stream.Materializer +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.grpc.GrpcClientSettings +import org.apache.pekko.stream.Materializer import hmda.grpc.services.{ CheckDigitServiceClient, ValidUliRequest } import scala.concurrent.Await diff --git a/check-digit/src/main/scala/hmda/uli/HmdaUli.scala b/check-digit/src/main/scala/hmda/uli/HmdaUli.scala index 3af1b0473d..36fdeda070 100644 --- a/check-digit/src/main/scala/hmda/uli/HmdaUli.scala +++ b/check-digit/src/main/scala/hmda/uli/HmdaUli.scala @@ -1,6 +1,6 @@ package hmda.uli -import akka.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.ActorSystem import hmda.uli.api.http.HmdaUliApi import org.slf4j.LoggerFactory diff --git a/check-digit/src/main/scala/hmda/uli/api/grpc/CheckDigitServiceImpl.scala b/check-digit/src/main/scala/hmda/uli/api/grpc/CheckDigitServiceImpl.scala index 8c89c34461..62e32c9acb 100644 --- a/check-digit/src/main/scala/hmda/uli/api/grpc/CheckDigitServiceImpl.scala +++ b/check-digit/src/main/scala/hmda/uli/api/grpc/CheckDigitServiceImpl.scala @@ -1,6 +1,6 @@ package hmda.uli.api.grpc -import akka.stream.Materializer +import org.apache.pekko.stream.Materializer import hmda.grpc.services.{ CheckDigitService, ValidUliRequest, ValidUliResponse } import hmda.uli.validation.ULI._ import scala.concurrent.Future diff --git a/check-digit/src/main/scala/hmda/uli/api/http/HmdaUliApi.scala b/check-digit/src/main/scala/hmda/uli/api/http/HmdaUliApi.scala index 0b0e2da28a..e6c4366bd2 100644 --- a/check-digit/src/main/scala/hmda/uli/api/http/HmdaUliApi.scala +++ b/check-digit/src/main/scala/hmda/uli/api/http/HmdaUliApi.scala @@ -1,10 +1,10 @@ package hmda.uli.api.http -import akka.actor.typed.Behavior -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.{ ActorSystem, CoordinatedShutdown } -import akka.http.scaladsl.server.Directives._ +import org.apache.pekko.actor.typed.Behavior +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.{ ActorSystem, CoordinatedShutdown } +import org.apache.pekko.http.scaladsl.server.Directives._ import hmda.api.http.routes.BaseHttpApi import hmda.api.http.directives.HmdaTimeDirectives._ diff --git a/check-digit/src/main/scala/hmda/uli/api/http/ULIHttpApi.scala b/check-digit/src/main/scala/hmda/uli/api/http/ULIHttpApi.scala index 7d0cffdcdc..4371f4b92a 100644 --- a/check-digit/src/main/scala/hmda/uli/api/http/ULIHttpApi.scala +++ b/check-digit/src/main/scala/hmda/uli/api/http/ULIHttpApi.scala @@ -1,17 +1,17 @@ package hmda.uli.api.http -import akka.NotUsed -import akka.http.scaladsl.common.{EntityStreamingSupport, JsonEntityStreamingSupport} -import akka.http.scaladsl.marshalling.ToResponseMarshallable -import akka.http.scaladsl.model.MediaTypes._ -import akka.http.scaladsl.model.StatusCodes.BadRequest -import akka.http.scaladsl.model.headers.RawHeader -import akka.http.scaladsl.model.{HttpCharsets, HttpEntity} -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.stream.scaladsl.{Flow, Source} -import akka.util.ByteString -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.NotUsed +import org.apache.pekko.http.scaladsl.common.{EntityStreamingSupport, JsonEntityStreamingSupport} +import org.apache.pekko.http.scaladsl.marshalling.ToResponseMarshallable +import org.apache.pekko.http.scaladsl.model.MediaTypes._ +import org.apache.pekko.http.scaladsl.model.StatusCodes.BadRequest +import org.apache.pekko.http.scaladsl.model.headers.RawHeader +import org.apache.pekko.http.scaladsl.model.{HttpCharsets, HttpEntity} +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.stream.scaladsl.{Flow, Source} +import org.apache.pekko.util.ByteString +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.uli.api.model.ULIModel._ import hmda.uli.api.model.ULIValidationErrorMessages.{invalidLoanIdLengthMessage, nonAlpanumericLoanIdMessage} import hmda.uli.validation.ULI._ diff --git a/check-digit/src/test/resources/application.conf b/check-digit/src/test/resources/application.conf index abb60e8436..8622744406 100644 --- a/check-digit/src/test/resources/application.conf +++ b/check-digit/src/test/resources/application.conf @@ -1,4 +1,4 @@ -akka { +pekko { stdout-loglevel = OFF loglevel = OFF } \ No newline at end of file diff --git a/check-digit/src/test/scala/hmda/uli/api/grpc/CheckDigitServiceImplSpec.scala b/check-digit/src/test/scala/hmda/uli/api/grpc/CheckDigitServiceImplSpec.scala index 6f02d38c77..b397ea849b 100644 --- a/check-digit/src/test/scala/hmda/uli/api/grpc/CheckDigitServiceImplSpec.scala +++ b/check-digit/src/test/scala/hmda/uli/api/grpc/CheckDigitServiceImplSpec.scala @@ -1,7 +1,7 @@ package hmda.uli.api.grpc -import akka.actor.ActorSystem -import akka.stream.Materializer +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.Materializer import hmda.grpc.services.{ ValidUliRequest, ValidUliResponse } import org.scalatest.concurrent.ScalaFutures import org.scalatest.time.Span diff --git a/check-digit/src/test/scala/hmda/uli/api/http/ULIHttpApiSpec.scala b/check-digit/src/test/scala/hmda/uli/api/http/ULIHttpApiSpec.scala index 00242ed365..f96009e416 100644 --- a/check-digit/src/test/scala/hmda/uli/api/http/ULIHttpApiSpec.scala +++ b/check-digit/src/test/scala/hmda/uli/api/http/ULIHttpApiSpec.scala @@ -1,19 +1,19 @@ package hmda.uli.api.http -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.testkit.ScalatestRouteTest -import akka.util.Timeout +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest +import org.apache.pekko.util.Timeout import org.scalatest.{BeforeAndAfterAll, MustMatchers, WordSpec} -import akka.http.scaladsl.model.Uri.Path -import akka.http.scaladsl.model.headers.{HttpOrigin, Origin} +import org.apache.pekko.http.scaladsl.model.Uri.Path +import org.apache.pekko.http.scaladsl.model.headers.{HttpOrigin, Origin} import com.typesafe.config.ConfigFactory import hmda.api.http.model.ErrorResponse import hmda.uli.api.model.ULIModel.{ULIBatchValidated, _} import hmda.util.http.FileUploadUtils import hmda.uli.api.model.ULIValidationErrorMessages._ -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import io.circe.generic.auto._ -import akka.http.scaladsl.unmarshalling.Unmarshaller._ +import org.apache.pekko.http.scaladsl.unmarshalling.Unmarshaller._ import org.slf4j.{Logger, LoggerFactory} import scala.concurrent.duration._ diff --git a/commercial-build.txt b/commercial-build.txt index 7161080deb..eed2fa3142 100644 --- a/commercial-build.txt +++ b/commercial-build.txt @@ -11,48 +11,48 @@ lazy val sparkDeps = sparkStreaming, sparkKafka, postgres, - akkaKafkaStreams + pekkoKafkaStreams ) lazy val authDeps = Seq(keycloakAdapter, keycloak, jbossLogging, httpClient) -lazy val akkaDeps = Seq( - akkaSlf4J, - akkaCluster, - akkaTyped, - akkaClusterTyped, - akkaStream, - akkaStreamTyped, - akkaManagement, - akkaManagementClusterBootstrap, - akkaServiceDiscoveryDNS, - akkaServiceDiscoveryKubernetes, - akkaClusterHttpManagement, - akkaClusterHttpManagement, - akkaTestkitTyped, - akkaStreamsTestKit, - akkaCors, - akkaKafkaStreams, +lazy val pekkoDeps = Seq( + pekkoSlf4J, + pekkoCluster, + pekkoTyped, + pekkoClusterTyped, + pekkoStream, + pekkoStreamTyped, + pekkoManagement, + pekkoManagementClusterBootstrap, + pekkoServiceDiscoveryDNS, + pekkoServiceDiscoveryKubernetes, + pekkoClusterHttpManagement, + pekkoClusterHttpManagement, + pekkoTestkitTyped, + pekkoStreamsTestKit, + pekkoCors, + pekkoKafkaStreams, embeddedKafka, - alpakkaS3, - akkaQuartzScheduler, + pekkoS3, + pekkoQuartzScheduler, phantomDSL, phantomJDK8 ) -lazy val akkaPersistenceDeps = +lazy val pekkoPersistenceDeps = Seq( - akkaPersistence, - akkaClusterSharding, - akkaPersistenceTyped, - akkaPersistenceQuery, - akkaClusterShardingTyped, - akkaPersistenceCassandra, + pekkoPersistence, + pekkoClusterSharding, + pekkoPersistenceTyped, + pekkoPersistenceQuery, + pekkoClusterShardingTyped, + pekkoPersistenceCassandra, cassandraLauncher ) -lazy val akkaHttpDeps = - Seq(akkaHttp, akkaHttp2, akkaHttpTestkit, akkaStreamsTestKit, akkaHttpCirce) +lazy val pekkoHttpDeps = + Seq(pekkoHttp, pekkoHttp2, pekkoHttpTestkit, pekkoStreamsTestKit, pekkohttpcirce) lazy val circeDeps = Seq(circe, circeGeneric, circeParser) lazy val enumeratumDeps = Seq(enumeratum, enumeratumCirce) @@ -102,7 +102,7 @@ lazy val common = (project in file("common")) scalapb.gen() -> (sourceManaged in Compile).value ), Seq( - libraryDependencies ++= commonDeps ++ authDeps ++ akkaDeps ++ akkaPersistenceDeps ++ akkaHttpDeps ++ circeDeps ++ slickDeps + libraryDependencies ++= commonDeps ++ authDeps ++ pekkoDeps ++ pekkoPersistenceDeps ++ pekkoHttpDeps ++ circeDeps ++ slickDeps ) ) @@ -132,7 +132,7 @@ lazy val `hmda-spark-reporting` = (project in file("hmda-spark-reporting")) oldStrategy(x) } ), - Seq(libraryDependencies ++= sparkDeps ++ circeDeps ++ akkaDeps), + Seq(libraryDependencies ++= sparkDeps ++ circeDeps ++ pekkoDeps), dockerSettings, packageSettings ) @@ -256,7 +256,7 @@ lazy val `hmda-dashboard` = (project in file("hmda-dashboard")) .settings(hmdaBuildSettings: _*) .settings( Seq( - libraryDependencies ++= commonDeps ++ akkaDeps ++ akkaHttpDeps ++ circeDeps ++ slickDeps ++ + libraryDependencies ++= commonDeps ++ pekkoDeps ++ pekkoHttpDeps ++ circeDeps ++ slickDeps ++ enumeratumDeps :+ monix :+ lettuce :+ scalaJava8Compat :+ scalaMock, assemblyMergeStrategy in assembly := { case "application.conf" => MergeStrategy.concat @@ -391,7 +391,7 @@ lazy val `hmda-protocol` = (project in file("protocol")) JavaServerAppPackaging, sbtdocker.DockerPlugin, AshScriptPlugin, - AkkaGrpcPlugin + pekkoGrpcPlugin ) .settings(hmdaBuildSettings: _*) @@ -430,7 +430,7 @@ lazy val `rate-limit` = (project in file("rate-limit")) .settings(hmdaBuildSettings: _*) .settings( Seq( - libraryDependencies ++= commonDeps ++ akkaDeps ++ akkaHttpDeps :+ guava, + libraryDependencies ++= commonDeps ++ pekkoDeps ++ pekkoHttpDeps :+ guava, mainClass in Compile := Some("hmda.rateLimit.RateLimitApp"), assemblyMergeStrategy in assembly := { case "application.conf" => MergeStrategy.concat @@ -458,7 +458,7 @@ lazy val `data-browser` = (project in file("data-browser")) .settings(hmdaBuildSettings: _*) .settings( Seq( - libraryDependencies ++= commonDeps ++ akkaDeps ++ akkaHttpDeps ++ circeDeps ++ slickDeps ++ + libraryDependencies ++= commonDeps ++ pekkoDeps ++ pekkoHttpDeps ++ circeDeps ++ slickDeps ++ enumeratumDeps :+ monix :+ lettuce :+ scalaJava8Compat :+ scalaMock, assemblyMergeStrategy in assembly := { case "application.conf" => MergeStrategy.concat @@ -492,7 +492,7 @@ lazy val `email-service` = (project in file("email-service")) assemblyJarName in assembly := { s"${name.value}.jar" }, - libraryDependencies ++= monix :: akkaKafkaStreams :: awsSesSdk :: logback :: Nil + libraryDependencies ++= monix :: pekkoKafkaStreams :: awsSesSdk :: logback :: Nil ), dockerSettings, packageSettings diff --git a/common/src/main/resources/persistence-keyspace-sigv4.conf b/common/src/main/resources/persistence-keyspace-sigv4.conf index 85dd9fc54f..058606d40f 100644 --- a/common/src/main/resources/persistence-keyspace-sigv4.conf +++ b/common/src/main/resources/persistence-keyspace-sigv4.conf @@ -1,13 +1,13 @@ include "serialization.conf" -akka { +pekko { persistence { - journal.plugin = "akka.persistence.cassandra.journal" - snapshot-store.plugin = "akka.persistence.cassandra.snapshot" + journal.plugin = "pekko.persistence.cassandra.journal" + snapshot-store.plugin = "pekko.persistence.cassandra.snapshot" query { - journal.id = "akka.persistence.cassandra.query" + journal.id = "pekko.persistence.cassandra.query" } cassandra { @@ -16,8 +16,8 @@ akka { max-message-batch-size = ${?TAG_BATCH_SIZE} flush-interval = 150ms flush-interval = ${?TAG_FLUSH_INTERVAL} - read-profile = "akka-persistence-cassandra-profile-read" - write-profile = "akka-persistence-cassandra-profile" + read-profile = "pekko-persistence-cassandra-profile-read" + write-profile = "pekko-persistence-cassandra-profile" } journal { keyspace = "hmda2_journal" @@ -27,21 +27,21 @@ akka { events-by-tag.max-message-batch-size = ${?TAG_BATCH_SIZE} events-by-tag.flush-interval = 150ms events-by-tag.flush-interval = ${?TAG_FLUSH_INTERVAL} - # https://doc.akka.io/libraries/akka-persistence-cassandra/current/configuration.html#default-configuration + # https://doc.pekko.io/libraries/pekko-persistence-cassandra/current/configuration.html#default-configuration # default size of target-partition-size = 500000 target-partition-size = 500000 target-partition-size = ${?CASSANDRA_TARGET_PARTITION_SIZE} - read-profile = "akka-persistence-cassandra-profile-read" + read-profile = "pekko-persistence-cassandra-profile-read" } query { - # reference: https://github.com/akka/akka-persistence-cassandra/blob/v0.101/core/src/main/resources/reference.conf + # reference: https://github.com/pekko/pekko-persistence-cassandra/blob/v0.101/core/src/main/resources/reference.conf # Sequence numbers for a persistenceId is assumed to be monotonically increasing # without gaps. That is used for detecting missing events. # In early versions of the journal that might not be true and therefore # this can be relaxed by setting this property to off. gap-free-sequence-numbers = off - # https://github.com/akka/akka-persistence-cassandra/blob/main/core/src/main/resources/reference.conf#L210 - read-profile = "akka-persistence-cassandra-profile-read" + # https://github.com/pekko/pekko-persistence-cassandra/blob/main/core/src/main/resources/reference.conf#L210 + read-profile = "pekko-persistence-cassandra-profile-read" } snapshot { keyspace = "hmda2_snapshot" @@ -53,18 +53,22 @@ akka { } datastax-java-driver { + basic.request { + timeout = 10 seconds + } + profiles { - akka-persistence-cassandra-profile { + pekko-persistence-cassandra-profile { basic { request.consistency = LOCAL_QUORUM } } - akka-persistence-cassandra-snapshot-profile { + pekko-persistence-cassandra-snapshot-profile { basic { request.consistency = LOCAL_QUORUM } } - akka-persistence-cassandra-profile-read { + pekko-persistence-cassandra-profile-read { basic { request.consistency = LOCAL_ONE } diff --git a/common/src/main/resources/persistence-keyspace.conf b/common/src/main/resources/persistence-keyspace.conf index cf3f00227e..956c409bd6 100644 --- a/common/src/main/resources/persistence-keyspace.conf +++ b/common/src/main/resources/persistence-keyspace.conf @@ -1,13 +1,13 @@ include "serialization.conf" -akka { +pekko { persistence { - journal.plugin = "akka.persistence.cassandra.journal" - snapshot-store.plugin = "akka.persistence.cassandra.snapshot" + journal.plugin = "pekko.persistence.cassandra.journal" + snapshot-store.plugin = "pekko.persistence.cassandra.snapshot" query { - journal.id = "akka.persistence.cassandra.query" + journal.id = "pekko.persistence.cassandra.query" } cassandra { @@ -27,7 +27,7 @@ akka { events-by-tag.flush-interval = ${?TAG_FLUSH_INTERVAL} } query { - # reference: https://github.com/akka/akka-persistence-cassandra/blob/v0.101/core/src/main/resources/reference.conf + # reference: https://github.com/pekko/pekko-persistence-cassandra/blob/v0.101/core/src/main/resources/reference.conf # Sequence numbers for a persistenceId is assumed to be monotonically increasing # without gaps. That is used for detecting missing events. # In early versions of the journal that might not be true and therefore @@ -46,9 +46,12 @@ akka { } datastax-java-driver { + basic.request { + timeout = 10 seconds + } profiles { - akka-persistence-cassandra-profile { + pekko-persistence-cassandra-profile { basic { request.consistency = LOCAL_QUORUM } diff --git a/common/src/main/resources/persistence.conf b/common/src/main/resources/persistence.conf index 829d3885e6..cfa382d33e 100644 --- a/common/src/main/resources/persistence.conf +++ b/common/src/main/resources/persistence.conf @@ -1,13 +1,13 @@ include "serialization.conf" -akka { +pekko { persistence { - journal.plugin = "akka.persistence.cassandra.journal" - snapshot-store.plugin = "akka.persistence.cassandra.snapshot" + journal.plugin = "pekko.persistence.cassandra.journal" + snapshot-store.plugin = "pekko.persistence.cassandra.snapshot" query { - journal.id = "akka.persistence.cassandra.query" + journal.id = "pekko.persistence.cassandra.query" } cassandra { @@ -16,8 +16,8 @@ akka { max-message-batch-size = ${?TAG_BATCH_SIZE} flush-interval = 150ms flush-interval = ${?TAG_FLUSH_INTERVAL} - # read-profile = "akka-persistence-cassandra-profile-keyspaces" - # write-profile = "akka-persistence-cassandra-profile-keyspaces" + # read-profile = "pekko-persistence-cassandra-profile-keyspaces" + # write-profile = "pekko-persistence-cassandra-profile-keyspaces" read-profile1 = ${?CASSANDRA_PROFILE} write-profile = ${?CASSANDRA_PROFILE} } @@ -35,7 +35,7 @@ akka { target-partition-size = ${?CASSANDRA_TARGET_PARTITION_SIZE} } query { - # reference: https://github.com/akka/akka-persistence-cassandra/blob/v0.101/core/src/main/resources/reference.conf + # reference: https://github.com/pekko/pekko-persistence-cassandra/blob/v0.101/core/src/main/resources/reference.conf # Sequence numbers for a persistenceId is assumed to be monotonically increasing # without gaps. That is used for detecting missing events. # In early versions of the journal that might not be true and therefore @@ -56,10 +56,13 @@ akka { } datastax-java-driver { + basic.request { + timeout = 10 seconds + } profiles { - akka-persistence-cassandra-profile { - # akka-persistence-cassandra-profile-keyspaces { + pekko-persistence-cassandra-profile { + # pekko-persistence-cassandra-profile-keyspaces { basic { request.consistency = LOCAL_QUORUM } diff --git a/common/src/main/resources/reference.conf b/common/src/main/resources/reference.conf index 60d73dbd00..d3e2b91aa4 100644 --- a/common/src/main/resources/reference.conf +++ b/common/src/main/resources/reference.conf @@ -1,11 +1,34 @@ include "serialization.conf" -akka.persistence.query.journal.id = "cassandra-query-journal" -akka.test.timefactor = 10.0 -akka.http.server.preview.enable-http2 = on +pekko.persistence.cassandra { -akka.http.server.request-timeout = 4888888 seconds -akka.http.max-open-requests = 512 + # Configuration for the CassandraReadJournal (Persistence Query) + query { + + # Implementation class of the Cassandra Read Journal + class = "org.apache.pekko.persistence.cassandra.query.CassandraReadJournalProvider" + + # Dispatcher used by the read journal plugin actors and streams + plugin-dispatcher = "pekko.persistence.cassandra.default-dispatcher" + + # Datastax Java Driver profile to use for read operations + read-profile = "pekko-persistence-cassandra-profile" + + # Maximum number of persistence ids to return per query page + max-buffer-size = 500 + + # Interval between polling Cassandra for new persistence ids or new events + refresh-interval = 3s + + # How far in the past to look for missed events during a catch-up or refresh + gap-timeout = 10s + } +} +pekko.test.timefactor = 10.0 +pekko.http.server.preview.enable-http2 = on + +pekko.http.server.request-timeout = 4888888 seconds +pekko.http.max-open-requests = 512 hmda { loader.parallelism = 4 diff --git a/common/src/main/resources/serialization.conf b/common/src/main/resources/serialization.conf index 0662dc4980..e35a3dbd73 100644 --- a/common/src/main/resources/serialization.conf +++ b/common/src/main/resources/serialization.conf @@ -1,4 +1,4 @@ -akka { +pekko { actor { allow-java-serialization = off diff --git a/common/src/main/scala/hmda/actor/HmdaActor.scala b/common/src/main/scala/hmda/actor/HmdaActor.scala index 5ffb304f5d..40ebbb559c 100644 --- a/common/src/main/scala/hmda/actor/HmdaActor.scala +++ b/common/src/main/scala/hmda/actor/HmdaActor.scala @@ -1,6 +1,6 @@ package hmda.actor -import akka.actor._ +import org.apache.pekko.actor._ import hmda.messages.CommonMessages.StopActor abstract class HmdaActor extends Actor with ActorLogging { diff --git a/common/src/main/scala/hmda/actor/HmdaTypedActor.scala b/common/src/main/scala/hmda/actor/HmdaTypedActor.scala index f0c2e9c1d3..a3ec565d86 100644 --- a/common/src/main/scala/hmda/actor/HmdaTypedActor.scala +++ b/common/src/main/scala/hmda/actor/HmdaTypedActor.scala @@ -1,9 +1,9 @@ package hmda.actor -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.{ActorRef, Behavior, SupervisorStrategy} -import akka.cluster.sharding.typed.ShardingEnvelope -import akka.cluster.sharding.typed.scaladsl.{ClusterSharding, Entity, EntityTypeKey} +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.{ActorRef, Behavior, SupervisorStrategy} +import org.apache.pekko.cluster.sharding.typed.ShardingEnvelope +import org.apache.pekko.cluster.sharding.typed.scaladsl.{ClusterSharding, Entity, EntityTypeKey} import com.typesafe.config.ConfigFactory import scala.concurrent.duration._ diff --git a/common/src/main/scala/hmda/api/HmdaServer.scala b/common/src/main/scala/hmda/api/HmdaServer.scala index 9b3bc0faf1..e58d84043c 100644 --- a/common/src/main/scala/hmda/api/HmdaServer.scala +++ b/common/src/main/scala/hmda/api/HmdaServer.scala @@ -2,10 +2,10 @@ package hmda.api import java.net.InetSocketAddress -import akka.actor.{ Actor, ActorSystem, Status } -import akka.http.scaladsl.Http -import akka.http.scaladsl.Http.ServerBinding -import akka.stream.Materializer +import org.apache.pekko.actor.{ Actor, ActorSystem, Status } +import org.apache.pekko.http.scaladsl.Http +import org.apache.pekko.http.scaladsl.Http.ServerBinding +import org.apache.pekko.stream.Materializer import hmda.actor.HmdaActor import scala.concurrent.{ ExecutionContext, Future } diff --git a/common/src/main/scala/hmda/api/grpc/GrpcServer.scala b/common/src/main/scala/hmda/api/grpc/GrpcServer.scala index d7e29c3365..4aaa3868ec 100644 --- a/common/src/main/scala/hmda/api/grpc/GrpcServer.scala +++ b/common/src/main/scala/hmda/api/grpc/GrpcServer.scala @@ -1,6 +1,6 @@ package hmda.api.grpc -import akka.http.scaladsl.model.{ HttpRequest, HttpResponse } +import org.apache.pekko.http.scaladsl.model.{ HttpRequest, HttpResponse } import hmda.api.HmdaServer import scala.concurrent.Future diff --git a/common/src/main/scala/hmda/api/http/FlowUtils.scala b/common/src/main/scala/hmda/api/http/FlowUtils.scala index 0fb999006b..c9ff90b974 100644 --- a/common/src/main/scala/hmda/api/http/FlowUtils.scala +++ b/common/src/main/scala/hmda/api/http/FlowUtils.scala @@ -1,12 +1,12 @@ package hmda.api.http -import akka.NotUsed -import akka.actor.ActorSystem -import akka.http.scaladsl.Http -import akka.http.scaladsl.model.{ HttpMethods, HttpRequest, HttpResponse, Uri } -import akka.http.scaladsl.unmarshalling.Unmarshal -import akka.stream.scaladsl.{ Flow, Framing } -import akka.util.ByteString +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.http.scaladsl.Http +import org.apache.pekko.http.scaladsl.model.{ HttpMethods, HttpRequest, HttpResponse, Uri } +import org.apache.pekko.http.scaladsl.unmarshalling.Unmarshal +import org.apache.pekko.stream.scaladsl.{ Flow, Framing } +import org.apache.pekko.util.ByteString import scala.concurrent.{ ExecutionContext, Future } // $COVERAGE-OFF$ diff --git a/common/src/main/scala/hmda/api/http/HttpServer.scala b/common/src/main/scala/hmda/api/http/HttpServer.scala index eddbfbdb88..33b4078d30 100644 --- a/common/src/main/scala/hmda/api/http/HttpServer.scala +++ b/common/src/main/scala/hmda/api/http/HttpServer.scala @@ -1,6 +1,6 @@ package hmda.api.http -import akka.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.Route import hmda.api.HmdaServer abstract class HttpServer extends HmdaServer { diff --git a/common/src/main/scala/hmda/api/http/PathMatchers.scala b/common/src/main/scala/hmda/api/http/PathMatchers.scala index bc1a85db60..078b387d55 100644 --- a/common/src/main/scala/hmda/api/http/PathMatchers.scala +++ b/common/src/main/scala/hmda/api/http/PathMatchers.scala @@ -1,8 +1,8 @@ package hmda.api.http -import akka.http.scaladsl.server.PathMatcher1 +import org.apache.pekko.http.scaladsl.server.PathMatcher1 import hmda.utils.YearUtils.{ isValidQuarter } -import akka.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Directives._ object PathMatchers { val Quarter: PathMatcher1[String] = Segment.flatMap(Option(_).filter(isValidQuarter)) diff --git a/common/src/main/scala/hmda/api/http/directives/CreateFilingAuthorization.scala b/common/src/main/scala/hmda/api/http/directives/CreateFilingAuthorization.scala index 614434bb58..0015662389 100644 --- a/common/src/main/scala/hmda/api/http/directives/CreateFilingAuthorization.scala +++ b/common/src/main/scala/hmda/api/http/directives/CreateFilingAuthorization.scala @@ -1,13 +1,13 @@ package hmda.api.http.directives import java.time.LocalDate -import akka.http.scaladsl.model.StatusCodes.BadRequest +import org.apache.pekko.http.scaladsl.model.StatusCodes.BadRequest import hmda.util.Filer -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route import com.typesafe.config.ConfigFactory import hmda.api.http.model.ErrorResponse -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ object CreateFilingAuthorization { private val config = ConfigFactory.load() diff --git a/common/src/main/scala/hmda/api/http/directives/HmdaTimeDirectives.scala b/common/src/main/scala/hmda/api/http/directives/HmdaTimeDirectives.scala index 8072593914..f83394600c 100644 --- a/common/src/main/scala/hmda/api/http/directives/HmdaTimeDirectives.scala +++ b/common/src/main/scala/hmda/api/http/directives/HmdaTimeDirectives.scala @@ -1,11 +1,11 @@ package hmda.api.http.directives -import akka.http.scaladsl.model.{ HttpRequest, HttpResponse, StatusCodes } -import akka.http.scaladsl.server.{ Directive0, Route, RouteResult } -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.RouteResult.{ Complete, Rejected } -import akka.stream.scaladsl.Flow -import akka.util.ByteString +import org.apache.pekko.http.scaladsl.model.{ HttpRequest, HttpResponse, StatusCodes } +import org.apache.pekko.http.scaladsl.server.{ Directive0, Route, RouteResult } +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.RouteResult.{ Complete, Rejected } +import org.apache.pekko.stream.scaladsl.Flow +import org.apache.pekko.util.ByteString import org.slf4j.{ Logger, LoggerFactory } import scala.concurrent.ExecutionContext @@ -19,7 +19,7 @@ object HmdaTimeDirectives { private val timeoutResponse = HttpResponse(StatusCodes.NetworkReadTimeout, entity = "Unable to serve response within time limit.") - // Reference: https://blog.softwaremill.com/measuring-response-time-in-akka-http-7b6312ec70cf + // Reference: https://blog.softwaremill.com/measuring-response-time-in-pekko-http-7b6312ec70cf private def timeRequest(request: HttpRequest): Try[RouteResult] => Unit = { val start = System.currentTimeMillis() @@ -37,7 +37,7 @@ object HmdaTimeDirectives { } } - // Reference: https://blog.softwaremill.com/measuring-response-time-in-akka-http-7b6312ec70cf + // Reference: https://blog.softwaremill.com/measuring-response-time-in-pekko-http-7b6312ec70cf private def aroundRequest(onRequest: HttpRequest => Try[RouteResult] => Unit)(implicit ec: ExecutionContext): Directive0 = extractRequestContext.flatMap { ctx => val onDone = onRequest(ctx.request) @@ -72,7 +72,7 @@ object HmdaTimeDirectives { case other => onDone(Success(other)) other - }.andThen { // skip this if you use akka.http.scaladsl.server.handleExceptions, put onDone there + }.andThen { // skip this if you useorg.apache.pekko.http.scaladsl.server.handleExceptions, put onDone there case Failure(ex) => onDone(Failure(ex)) } diff --git a/common/src/main/scala/hmda/api/http/model/ErrorResponse.scala b/common/src/main/scala/hmda/api/http/model/ErrorResponse.scala index 7f8b2efec1..f77497fc27 100644 --- a/common/src/main/scala/hmda/api/http/model/ErrorResponse.scala +++ b/common/src/main/scala/hmda/api/http/model/ErrorResponse.scala @@ -1,6 +1,6 @@ package hmda.api.http.model -import akka.http.scaladsl.model.Uri.Path +import org.apache.pekko.http.scaladsl.model.Uri.Path import io.circe.Decoder.Result import io.circe.{Decoder, Encoder, HCursor, Json} diff --git a/common/src/main/scala/hmda/api/http/routes/BaseHttpApi.scala b/common/src/main/scala/hmda/api/http/routes/BaseHttpApi.scala index 7cc4a3395f..3854ef784a 100644 --- a/common/src/main/scala/hmda/api/http/routes/BaseHttpApi.scala +++ b/common/src/main/scala/hmda/api/http/routes/BaseHttpApi.scala @@ -3,13 +3,13 @@ package hmda.api.http.routes import java.net.InetAddress import java.time.Instant -import akka.Done -import akka.actor.{ ActorSystem, CoordinatedShutdown } -import akka.http.scaladsl.Http +import org.apache.pekko.Done +import org.apache.pekko.actor.{ ActorSystem, CoordinatedShutdown } +import org.apache.pekko.http.scaladsl.Http import hmda.api.http.directives.HmdaTimeDirectives._ -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.model.HmdaServiceStatus import io.circe.generic.auto._ import org.slf4j.{ Logger, LoggerFactory } diff --git a/common/src/main/scala/hmda/api/ws/routes/BaseWsApi.scala b/common/src/main/scala/hmda/api/ws/routes/BaseWsApi.scala index 8d8fb85a02..fc1e8914e4 100644 --- a/common/src/main/scala/hmda/api/ws/routes/BaseWsApi.scala +++ b/common/src/main/scala/hmda/api/ws/routes/BaseWsApi.scala @@ -3,12 +3,12 @@ package hmda.api.ws.routes import java.net.InetAddress import java.time.Instant -import akka.NotUsed -import akka.http.scaladsl.model.ws.{ Message, TextMessage } -import akka.http.scaladsl.server.Directives.{ get, handleWebSocketMessages, pathSingleSlash } -import akka.http.scaladsl.server.Route -import akka.stream.scaladsl.Flow -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.cors +import org.apache.pekko.NotUsed +import org.apache.pekko.http.scaladsl.model.ws.{ Message, TextMessage } +import org.apache.pekko.http.scaladsl.server.Directives.{ get, handleWebSocketMessages, pathSingleSlash } +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.stream.scaladsl.Flow +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.cors import hmda.api.http.model.HmdaServiceStatus import io.circe.generic.auto._ import io.circe.syntax._ diff --git a/common/src/main/scala/hmda/auth/OAuth2Authorization.scala b/common/src/main/scala/hmda/auth/OAuth2Authorization.scala index 90bc4352f2..deb0bef2d5 100644 --- a/common/src/main/scala/hmda/auth/OAuth2Authorization.scala +++ b/common/src/main/scala/hmda/auth/OAuth2Authorization.scala @@ -1,13 +1,13 @@ package hmda.auth -import akka.http.scaladsl.model.Uri.Path -import akka.http.scaladsl.model.headers.{Authorization, OAuth2BearerToken} -import akka.http.scaladsl.model.{AttributeKey, HttpRequest, StatusCodes, Uri} -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server._ -import akka.http.scaladsl.server.directives.LoggingMagnet +import org.apache.pekko.http.scaladsl.model.Uri.Path +import org.apache.pekko.http.scaladsl.model.headers.{Authorization, OAuth2BearerToken} +import org.apache.pekko.http.scaladsl.model.{AttributeKey, HttpRequest, StatusCodes, Uri} +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server._ +import org.apache.pekko.http.scaladsl.server.directives.LoggingMagnet import com.typesafe.config.{Config, ConfigFactory} -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.model.ErrorResponse import org.slf4j.Logger diff --git a/common/src/main/scala/hmda/messages/HmdaMessageFilter.scala b/common/src/main/scala/hmda/messages/HmdaMessageFilter.scala index 5cfd79adc1..3ccb5257c1 100644 --- a/common/src/main/scala/hmda/messages/HmdaMessageFilter.scala +++ b/common/src/main/scala/hmda/messages/HmdaMessageFilter.scala @@ -1,6 +1,6 @@ package hmda.messages -import akka.kafka.ConsumerMessage.{CommittableMessage, CommittableOffset} +import org.apache.pekko.kafka.ConsumerMessage.{CommittableMessage, CommittableOffset} import com.typesafe.scalalogging.StrictLogging import hmda.util.LEIValidator diff --git a/common/src/main/scala/hmda/messages/filing/FilingCommands.scala b/common/src/main/scala/hmda/messages/filing/FilingCommands.scala index a77053db8a..e0ac335246 100644 --- a/common/src/main/scala/hmda/messages/filing/FilingCommands.scala +++ b/common/src/main/scala/hmda/messages/filing/FilingCommands.scala @@ -1,6 +1,6 @@ package hmda.messages.filing -import akka.actor.typed.ActorRef +import org.apache.pekko.actor.typed.ActorRef import hmda.messages.CommonMessages.Command import hmda.messages.filing.FilingEvents.FilingCreated import hmda.model.filing.submission.{ Submission, SubmissionId } diff --git a/common/src/main/scala/hmda/messages/institution/InstitutionCommands.scala b/common/src/main/scala/hmda/messages/institution/InstitutionCommands.scala index e08341930c..1fc4e0e6a2 100644 --- a/common/src/main/scala/hmda/messages/institution/InstitutionCommands.scala +++ b/common/src/main/scala/hmda/messages/institution/InstitutionCommands.scala @@ -1,6 +1,6 @@ package hmda.messages.institution -import akka.actor.typed.ActorRef +import org.apache.pekko.actor.typed.ActorRef import hmda.messages.CommonMessages.Command import hmda.messages.institution.InstitutionEvents.InstitutionEvent import hmda.model.filing.Filing diff --git a/common/src/main/scala/hmda/messages/projection/CommonProjectionMessages.scala b/common/src/main/scala/hmda/messages/projection/CommonProjectionMessages.scala index d8793229a2..6ba540e37c 100644 --- a/common/src/main/scala/hmda/messages/projection/CommonProjectionMessages.scala +++ b/common/src/main/scala/hmda/messages/projection/CommonProjectionMessages.scala @@ -1,7 +1,7 @@ package hmda.messages.projection -import akka.actor.typed.ActorRef -import akka.persistence.query.Offset +import org.apache.pekko.actor.typed.ActorRef +import org.apache.pekko.persistence.query.Offset object CommonProjectionMessages { sealed trait ProjectionCommand diff --git a/common/src/main/scala/hmda/messages/submission/EditDetailsCommands.scala b/common/src/main/scala/hmda/messages/submission/EditDetailsCommands.scala index c6f6cf3e81..88c243d7b1 100644 --- a/common/src/main/scala/hmda/messages/submission/EditDetailsCommands.scala +++ b/common/src/main/scala/hmda/messages/submission/EditDetailsCommands.scala @@ -1,6 +1,6 @@ package hmda.messages.submission -import akka.actor.typed.ActorRef +import org.apache.pekko.actor.typed.ActorRef import hmda.messages.submission.EditDetailsEvents.{ EditDetailsPersistenceEvent, EditDetailsRowCounted } import hmda.model.edits.EditDetails import hmda.model.filing.submission.SubmissionId diff --git a/common/src/main/scala/hmda/messages/submission/HmdaRawDataCommands.scala b/common/src/main/scala/hmda/messages/submission/HmdaRawDataCommands.scala index 43ac4a6468..7fbf5c16cc 100644 --- a/common/src/main/scala/hmda/messages/submission/HmdaRawDataCommands.scala +++ b/common/src/main/scala/hmda/messages/submission/HmdaRawDataCommands.scala @@ -1,6 +1,6 @@ package hmda.messages.submission -import akka.actor.typed.ActorRef +import org.apache.pekko.actor.typed.ActorRef import hmda.messages.CommonMessages.Command import hmda.messages.submission.HmdaRawDataReplies.LinesAdded import hmda.model.filing.submission.SubmissionId diff --git a/common/src/main/scala/hmda/messages/submission/SubmissionCommands.scala b/common/src/main/scala/hmda/messages/submission/SubmissionCommands.scala index 01a53b7091..7c58c51aef 100644 --- a/common/src/main/scala/hmda/messages/submission/SubmissionCommands.scala +++ b/common/src/main/scala/hmda/messages/submission/SubmissionCommands.scala @@ -1,6 +1,6 @@ package hmda.messages.submission -import akka.actor.typed.ActorRef +import org.apache.pekko.actor.typed.ActorRef import hmda.messages.CommonMessages.Command import hmda.messages.submission.SubmissionEvents.{ SubmissionCreated, SubmissionEvent } import hmda.model.filing.submission.{ Submission, SubmissionId } diff --git a/common/src/main/scala/hmda/messages/submission/SubmissionProcessingCommands.scala b/common/src/main/scala/hmda/messages/submission/SubmissionProcessingCommands.scala index 0cd9c257c7..cffa6fcba4 100644 --- a/common/src/main/scala/hmda/messages/submission/SubmissionProcessingCommands.scala +++ b/common/src/main/scala/hmda/messages/submission/SubmissionProcessingCommands.scala @@ -1,6 +1,6 @@ package hmda.messages.submission -import akka.actor.typed.ActorRef +import org.apache.pekko.actor.typed.ActorRef import hmda.messages.CommonMessages.Command import hmda.messages.submission.SubmissionProcessingEvents._ import hmda.messages.submission.ValidationProgressTrackerCommands.ValidationProgressTrackerCommand diff --git a/common/src/main/scala/hmda/messages/submission/ValidationProgressTrackerCommands.scala b/common/src/main/scala/hmda/messages/submission/ValidationProgressTrackerCommands.scala index 10396503a3..4376c18d92 100644 --- a/common/src/main/scala/hmda/messages/submission/ValidationProgressTrackerCommands.scala +++ b/common/src/main/scala/hmda/messages/submission/ValidationProgressTrackerCommands.scala @@ -1,6 +1,6 @@ package hmda.messages.submission -import akka.actor.typed.ActorRef +import org.apache.pekko.actor.typed.ActorRef import hmda.messages.CommonMessages.Command import hmda.model.processing.state._ diff --git a/common/src/main/scala/hmda/parser/filing/ParserFlow.scala b/common/src/main/scala/hmda/parser/filing/ParserFlow.scala index 9ebc1ec097..e8d8eafb65 100644 --- a/common/src/main/scala/hmda/parser/filing/ParserFlow.scala +++ b/common/src/main/scala/hmda/parser/filing/ParserFlow.scala @@ -1,9 +1,9 @@ package hmda.parser.filing -import akka.NotUsed -import akka.stream.FlowShape -import akka.stream.scaladsl.{ Broadcast, Concat, Flow, GraphDSL } -import akka.util.ByteString +import org.apache.pekko.NotUsed +import org.apache.pekko.stream.FlowShape +import org.apache.pekko.stream.scaladsl.{ Broadcast, Concat, Flow, GraphDSL } +import org.apache.pekko.util.ByteString import hmda.model.filing.PipeDelimited import hmda.model.filing.lar.LoanApplicationRegister import hmda.model.filing.ts.TransmittalSheet diff --git a/common/src/main/scala/hmda/persistence/HmdaTypedPersistentActor.scala b/common/src/main/scala/hmda/persistence/HmdaTypedPersistentActor.scala index 04d72a73f7..a7ae5ea01b 100644 --- a/common/src/main/scala/hmda/persistence/HmdaTypedPersistentActor.scala +++ b/common/src/main/scala/hmda/persistence/HmdaTypedPersistentActor.scala @@ -1,7 +1,7 @@ package hmda.persistence -import akka.actor.typed.scaladsl.ActorContext -import akka.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler +import org.apache.pekko.actor.typed.scaladsl.ActorContext +import org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler import hmda.actor.HmdaTypedActor trait HmdaTypedPersistentActor[C, E, S] extends HmdaTypedActor[C] { diff --git a/common/src/main/scala/hmda/projection/ResumableProjection.scala b/common/src/main/scala/hmda/projection/ResumableProjection.scala index 226d6593c5..efaa5ed492 100644 --- a/common/src/main/scala/hmda/projection/ResumableProjection.scala +++ b/common/src/main/scala/hmda/projection/ResumableProjection.scala @@ -1,15 +1,15 @@ package hmda.projection -import akka.actor.typed.scaladsl.AskPattern._ -import akka.actor.typed.scaladsl.{ ActorContext, Behaviors } -import akka.actor.typed.{ ActorSystem, Behavior, Scheduler } -import akka.persistence.query.{ EventEnvelope, NoOffset, Offset } -import akka.persistence.typed.PersistenceId -import akka.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler -import akka.persistence.typed.scaladsl.{ Effect, EventSourcedBehavior } -import akka.stream.Materializer -import akka.stream.scaladsl.Sink -import akka.util.Timeout +import org.apache.pekko.actor.typed.scaladsl.AskPattern._ +import org.apache.pekko.actor.typed.scaladsl.{ ActorContext, Behaviors } +import org.apache.pekko.actor.typed.{ ActorSystem, Behavior, Scheduler } +import org.apache.pekko.persistence.query.{ EventEnvelope, NoOffset, Offset } +import org.apache.pekko.persistence.typed.PersistenceId +import org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler +import org.apache.pekko.persistence.typed.scaladsl.{ Effect, EventSourcedBehavior } +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.Sink +import org.apache.pekko.util.Timeout import hmda.messages.projection.CommonProjectionMessages._ import hmda.query.HmdaQuery._ diff --git a/common/src/main/scala/hmda/publication/KafkaUtils.scala b/common/src/main/scala/hmda/publication/KafkaUtils.scala index d62612a481..278a6d472b 100644 --- a/common/src/main/scala/hmda/publication/KafkaUtils.scala +++ b/common/src/main/scala/hmda/publication/KafkaUtils.scala @@ -1,12 +1,12 @@ package hmda.publication -import akka.Done -import akka.actor.typed.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.kafka.ProducerSettings -import akka.kafka.scaladsl.Producer -import akka.stream.Materializer -import akka.stream.scaladsl.{Keep, Source} +import org.apache.pekko.Done +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.kafka.ProducerSettings +import org.apache.pekko.kafka.scaladsl.Producer +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{Keep, Source} import com.typesafe.config.ConfigFactory import hmda.messages.institution.InstitutionEvents.InstitutionKafkaEvent import hmda.serialization.kafka.InstitutionKafkaEventsSerializer @@ -32,7 +32,7 @@ object KafkaUtils { def getStringKafkaProducer(system: ActorSystem[_]): KafkaProducer[String, String] = { - val kafkaConfig = system.settings.config.getConfig("akka.kafka.producer") + val kafkaConfig = system.settings.config.getConfig("pekko.kafka.producer") val producerSettings = ProducerSettings(kafkaConfig, new StringSerializer, new StringSerializer) .withBootstrapServers(kafkaHosts) diff --git a/common/src/main/scala/hmda/query/HmdaQuery.scala b/common/src/main/scala/hmda/query/HmdaQuery.scala index ec353d5652..bc34c41167 100644 --- a/common/src/main/scala/hmda/query/HmdaQuery.scala +++ b/common/src/main/scala/hmda/query/HmdaQuery.scala @@ -1,10 +1,10 @@ package hmda.query -import akka.NotUsed -import akka.actor.typed.ActorSystem -import akka.persistence.query.scaladsl._ -import akka.persistence.query.{ EventEnvelope, Offset, PersistenceQuery } -import akka.stream.scaladsl.Source +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.persistence.query.scaladsl._ +import org.apache.pekko.persistence.query.{ EventEnvelope, Offset, PersistenceQuery } +import org.apache.pekko.stream.scaladsl.Source import com.typesafe.config.ConfigFactory import hmda.messages.CommonMessages.Event import hmda.messages.submission.HmdaRawDataEvents.LineAdded @@ -24,7 +24,7 @@ object HmdaQuery { val configuration = ConfigFactory.load() - val journalId = configuration.getString("akka.persistence.query.journal.id") + val journalId = configuration.getString("pekko.persistence.query.journal.id") def readJournal(system: ActorSystem[_]): RJ = PersistenceQuery(system).readJournalFor[RJ](journalId) diff --git a/common/src/main/scala/hmda/serialization/filing/FilingCommandsProtobufConverter.scala b/common/src/main/scala/hmda/serialization/filing/FilingCommandsProtobufConverter.scala index 9c6d55a0c7..9d317eed19 100644 --- a/common/src/main/scala/hmda/serialization/filing/FilingCommandsProtobufConverter.scala +++ b/common/src/main/scala/hmda/serialization/filing/FilingCommandsProtobufConverter.scala @@ -1,6 +1,6 @@ package hmda.serialization.filing -import akka.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.ActorRefResolver import hmda.messages.filing.FilingCommands._ import hmda.persistence.serialization.filing.FilingMessage import hmda.persistence.serialization.filing.commands._ diff --git a/common/src/main/scala/hmda/serialization/filing/FilingCommandsSerializer.scala b/common/src/main/scala/hmda/serialization/filing/FilingCommandsSerializer.scala index 3fcd55b82f..47b77540ad 100644 --- a/common/src/main/scala/hmda/serialization/filing/FilingCommandsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/filing/FilingCommandsSerializer.scala @@ -2,10 +2,10 @@ package hmda.serialization.filing import java.io.NotSerializableException -import akka.actor.ExtendedActorSystem -import akka.actor.typed.ActorRefResolver -import akka.actor.typed.scaladsl.adapter._ -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.actor.ExtendedActorSystem +import org.apache.pekko.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.filing.FilingCommands._ import hmda.model.filing.Filing import hmda.persistence.serialization.filing.FilingMessage diff --git a/common/src/main/scala/hmda/serialization/filing/FilingDetailsSerializer.scala b/common/src/main/scala/hmda/serialization/filing/FilingDetailsSerializer.scala index e07ba8355e..5138bf3fa3 100644 --- a/common/src/main/scala/hmda/serialization/filing/FilingDetailsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/filing/FilingDetailsSerializer.scala @@ -2,7 +2,7 @@ package hmda.serialization.filing import java.io.NotSerializableException -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.model.filing.FilingDetails import hmda.persistence.filing.FilingState import hmda.persistence.serialization.filing.filingdetails.FilingDetailsMessage diff --git a/common/src/main/scala/hmda/serialization/filing/FilingEventsSerializer.scala b/common/src/main/scala/hmda/serialization/filing/FilingEventsSerializer.scala index 354523be62..82723b4575 100644 --- a/common/src/main/scala/hmda/serialization/filing/FilingEventsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/filing/FilingEventsSerializer.scala @@ -2,7 +2,7 @@ package hmda.serialization.filing import java.io.NotSerializableException -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.filing.FilingEvents.{ FilingCreated, FilingStatusUpdated, SubmissionAdded, SubmissionUpdated } import hmda.persistence.serialization.filing.events.{ FilingCreatedMessage, diff --git a/common/src/main/scala/hmda/serialization/filing/FilingStateSerializer.scala b/common/src/main/scala/hmda/serialization/filing/FilingStateSerializer.scala index 21782809d3..3c0d3f0286 100644 --- a/common/src/main/scala/hmda/serialization/filing/FilingStateSerializer.scala +++ b/common/src/main/scala/hmda/serialization/filing/FilingStateSerializer.scala @@ -2,7 +2,7 @@ package hmda.serialization.filing import java.io.NotSerializableException -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.persistence.filing.FilingState import hmda.persistence.serialization.filing.filingstate.FilingStateMessage import hmda.serialization.filing.FilingStateProtobufConverter._ diff --git a/common/src/main/scala/hmda/serialization/institution/InstitutionCommandsProtobufConverter.scala b/common/src/main/scala/hmda/serialization/institution/InstitutionCommandsProtobufConverter.scala index a9e7c2d57b..f438505cbf 100644 --- a/common/src/main/scala/hmda/serialization/institution/InstitutionCommandsProtobufConverter.scala +++ b/common/src/main/scala/hmda/serialization/institution/InstitutionCommandsProtobufConverter.scala @@ -1,6 +1,6 @@ package hmda.serialization.institution -import akka.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.ActorRefResolver import hmda.messages.institution.InstitutionCommands._ import hmda.messages.institution.InstitutionEvents.InstitutionEvent import hmda.model.institution.InstitutionDetail diff --git a/common/src/main/scala/hmda/serialization/institution/InstitutionCommandsSerializer.scala b/common/src/main/scala/hmda/serialization/institution/InstitutionCommandsSerializer.scala index 7ac047626f..33b51b3cc9 100644 --- a/common/src/main/scala/hmda/serialization/institution/InstitutionCommandsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/institution/InstitutionCommandsSerializer.scala @@ -2,10 +2,10 @@ package hmda.serialization.institution import java.io.NotSerializableException -import akka.actor.ExtendedActorSystem -import akka.actor.typed.ActorRefResolver -import akka.actor.typed.scaladsl.adapter._ -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.actor.ExtendedActorSystem +import org.apache.pekko.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.institution.InstitutionCommands.{ GetInstitutionDetails, _ } import hmda.model.institution.Institution import hmda.persistence.serialization.institution.InstitutionMessage diff --git a/common/src/main/scala/hmda/serialization/institution/InstitutionDetailSerializer.scala b/common/src/main/scala/hmda/serialization/institution/InstitutionDetailSerializer.scala index 0b54735802..584025cf71 100644 --- a/common/src/main/scala/hmda/serialization/institution/InstitutionDetailSerializer.scala +++ b/common/src/main/scala/hmda/serialization/institution/InstitutionDetailSerializer.scala @@ -2,7 +2,7 @@ package hmda.serialization.institution import java.io.NotSerializableException -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.model.institution.InstitutionDetail import hmda.persistence.serialization.institution.institutiondetail.InstitutionDetailMessage import hmda.serialization.institution.InstitutionDetailProtobufConverter._ diff --git a/common/src/main/scala/hmda/serialization/institution/InstitutionEventsSerializer.scala b/common/src/main/scala/hmda/serialization/institution/InstitutionEventsSerializer.scala index 093bff1656..62687d6e33 100644 --- a/common/src/main/scala/hmda/serialization/institution/InstitutionEventsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/institution/InstitutionEventsSerializer.scala @@ -2,7 +2,7 @@ package hmda.serialization.institution import java.io.NotSerializableException -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.institution.InstitutionEvents._ import hmda.persistence.serialization.institution.events._ import hmda.serialization.institution.InstitutionEventsProtobufConverter._ diff --git a/common/src/main/scala/hmda/serialization/institution/InstitutionStateSerializer.scala b/common/src/main/scala/hmda/serialization/institution/InstitutionStateSerializer.scala index af94bd095e..39c5010f7f 100644 --- a/common/src/main/scala/hmda/serialization/institution/InstitutionStateSerializer.scala +++ b/common/src/main/scala/hmda/serialization/institution/InstitutionStateSerializer.scala @@ -2,7 +2,7 @@ package hmda.serialization.institution import java.io.NotSerializableException -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.persistence.institution.InstitutionState import hmda.persistence.serialization.institution.institutionstate.InstitutionStateMessage import hmda.serialization.institution.InstitutionStateProtobufConverter._ diff --git a/common/src/main/scala/hmda/serialization/projection/ProjectionMessagesSerializer.scala b/common/src/main/scala/hmda/serialization/projection/ProjectionMessagesSerializer.scala index 5b5777688d..e3795c5902 100644 --- a/common/src/main/scala/hmda/serialization/projection/ProjectionMessagesSerializer.scala +++ b/common/src/main/scala/hmda/serialization/projection/ProjectionMessagesSerializer.scala @@ -1,9 +1,9 @@ package hmda.serialization.projection -import akka.actor.ExtendedActorSystem -import akka.actor.typed.ActorRefResolver -import akka.actor.typed.scaladsl.adapter._ -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.actor.ExtendedActorSystem +import org.apache.pekko.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.projection.CommonProjectionMessages.{ GetOffset, OffsetSaved, SaveOffset } import hmda.messages.projection.projection.OffsetSavedMessage import hmda.serialization.projection.ProjectionProtobufConverter._ diff --git a/common/src/main/scala/hmda/serialization/projection/ProjectionProtobufConverter.scala b/common/src/main/scala/hmda/serialization/projection/ProjectionProtobufConverter.scala index 6db1a1b4dc..181146f734 100644 --- a/common/src/main/scala/hmda/serialization/projection/ProjectionProtobufConverter.scala +++ b/common/src/main/scala/hmda/serialization/projection/ProjectionProtobufConverter.scala @@ -2,8 +2,8 @@ package hmda.serialization.projection import java.util.UUID -import akka.actor.typed.ActorRefResolver -import akka.persistence.query.TimeBasedUUID +import org.apache.pekko.actor.typed.ActorRefResolver +import org.apache.pekko.persistence.query.TimeBasedUUID import hmda.messages.projection.CommonProjectionMessages.{ GetOffset, OffsetSaved, SaveOffset } import hmda.messages.projection.projection.{ GetOffsetMessage, OffsetSavedMessage, SaveOffsetMessage } diff --git a/common/src/main/scala/hmda/serialization/submission/EditDetailsCommandsProtobufConverter.scala b/common/src/main/scala/hmda/serialization/submission/EditDetailsCommandsProtobufConverter.scala index 9c7a933e1d..2c5622b5fb 100644 --- a/common/src/main/scala/hmda/serialization/submission/EditDetailsCommandsProtobufConverter.scala +++ b/common/src/main/scala/hmda/serialization/submission/EditDetailsCommandsProtobufConverter.scala @@ -1,6 +1,6 @@ package hmda.serialization.submission -import akka.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.ActorRefResolver import hmda.messages.submission.EditDetailsCommands.{ GetEditDetails, GetEditRowCount, PersistEditDetails } import hmda.persistence.serialization.edit.details.EditDetailsMessage import hmda.persistence.serialization.edit.details.commands.{ GetEditDetailsMessage, GetEditRowCountMessage, PersistEditDetailsMessage } diff --git a/common/src/main/scala/hmda/serialization/submission/EditDetailsCommandsSerializer.scala b/common/src/main/scala/hmda/serialization/submission/EditDetailsCommandsSerializer.scala index b311478e2f..c2471ff8dc 100644 --- a/common/src/main/scala/hmda/serialization/submission/EditDetailsCommandsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/submission/EditDetailsCommandsSerializer.scala @@ -2,10 +2,10 @@ package hmda.serialization.submission import java.io.NotSerializableException -import akka.actor.ExtendedActorSystem -import akka.actor.typed.ActorRefResolver -import akka.actor.typed.scaladsl.adapter._ -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.actor.ExtendedActorSystem +import org.apache.pekko.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.submission.EditDetailsCommands.{ GetEditDetails, GetEditRowCount, PersistEditDetails } import hmda.persistence.serialization.edit.details.commands.{ GetEditDetailsMessage, GetEditRowCountMessage, PersistEditDetailsMessage } import hmda.serialization.submission.EditDetailsCommandsProtobufConverter._ diff --git a/common/src/main/scala/hmda/serialization/submission/EditDetailsEventsSerializer.scala b/common/src/main/scala/hmda/serialization/submission/EditDetailsEventsSerializer.scala index 201f8a07e3..bccc1cbfa0 100644 --- a/common/src/main/scala/hmda/serialization/submission/EditDetailsEventsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/submission/EditDetailsEventsSerializer.scala @@ -2,7 +2,7 @@ package hmda.serialization.submission import java.io.NotSerializableException -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.submission.EditDetailsEvents.{ EditDetailsAdded, EditDetailsRowCounted } import hmda.persistence.serialization.edit.details.events.{ EditDetailsAddedMessage, EditDetailsRowCountedMessage } import hmda.serialization.submission.EditDetailsEventsProtobufConverter._ diff --git a/common/src/main/scala/hmda/serialization/submission/HmdaRawDataCommandsProtobufConverter.scala b/common/src/main/scala/hmda/serialization/submission/HmdaRawDataCommandsProtobufConverter.scala index ef0efaa4a2..f50d7e8c8d 100644 --- a/common/src/main/scala/hmda/serialization/submission/HmdaRawDataCommandsProtobufConverter.scala +++ b/common/src/main/scala/hmda/serialization/submission/HmdaRawDataCommandsProtobufConverter.scala @@ -1,6 +1,6 @@ package hmda.serialization.submission -import akka.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.ActorRefResolver import hmda.messages.submission.HmdaRawDataCommands.AddLines import hmda.persistence.serialization.raw.data.commands.{AddLineMessage, AddLinesMessage} import hmda.persistence.serialization.submission.SubmissionIdMessage diff --git a/common/src/main/scala/hmda/serialization/submission/HmdaRawDataCommandsSerializer.scala b/common/src/main/scala/hmda/serialization/submission/HmdaRawDataCommandsSerializer.scala index ee2d5ac1c6..e2aa8ea25c 100644 --- a/common/src/main/scala/hmda/serialization/submission/HmdaRawDataCommandsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/submission/HmdaRawDataCommandsSerializer.scala @@ -1,10 +1,10 @@ package hmda.serialization.submission import java.io.NotSerializableException -import akka.actor.ExtendedActorSystem -import akka.actor.typed.ActorRefResolver -import akka.actor.typed.scaladsl.adapter._ -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.actor.ExtendedActorSystem +import org.apache.pekko.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.submission.HmdaRawDataCommands.AddLines import hmda.persistence.serialization.raw.data.commands.{AddLineMessage, AddLinesMessage} import hmda.serialization.submission.HmdaRawDataCommandsProtobufConverter._ diff --git a/common/src/main/scala/hmda/serialization/submission/HmdaRawDataEventsSerializer.scala b/common/src/main/scala/hmda/serialization/submission/HmdaRawDataEventsSerializer.scala index 9af463e151..db039b026c 100644 --- a/common/src/main/scala/hmda/serialization/submission/HmdaRawDataEventsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/submission/HmdaRawDataEventsSerializer.scala @@ -2,7 +2,7 @@ package hmda.serialization.submission import java.io.NotSerializableException -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.submission.HmdaRawDataEvents.LineAdded import hmda.model.processing.state.HmdaRawDataState import hmda.persistence.serialization.raw.data.events.{ HmdaRawDataStateMessage, LineAddedMessage } diff --git a/common/src/main/scala/hmda/serialization/submission/HmdaRawDataRepliesSerializer.scala b/common/src/main/scala/hmda/serialization/submission/HmdaRawDataRepliesSerializer.scala index 6a2857eac4..e481d61e16 100644 --- a/common/src/main/scala/hmda/serialization/submission/HmdaRawDataRepliesSerializer.scala +++ b/common/src/main/scala/hmda/serialization/submission/HmdaRawDataRepliesSerializer.scala @@ -1,6 +1,6 @@ package hmda.serialization.submission -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.submission.HmdaRawDataReplies.LinesAdded import hmda.persistence.serialization.raw.data.replies.LinesAddedMessage import hmda.serialization.submission.HmdaRawDataRepliesProtobufConverter._ diff --git a/common/src/main/scala/hmda/serialization/submission/SubmissionCommandsProtobufConverter.scala b/common/src/main/scala/hmda/serialization/submission/SubmissionCommandsProtobufConverter.scala index 413df5c613..d02062c22e 100644 --- a/common/src/main/scala/hmda/serialization/submission/SubmissionCommandsProtobufConverter.scala +++ b/common/src/main/scala/hmda/serialization/submission/SubmissionCommandsProtobufConverter.scala @@ -1,6 +1,6 @@ package hmda.serialization.submission -import akka.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.ActorRefResolver import hmda.messages.submission.SubmissionCommands.{ CreateSubmission, GetSubmission, ModifySubmission, SubmissionStop } import hmda.persistence.serialization.submission.commands.{ CreateSubmissionMessage, diff --git a/common/src/main/scala/hmda/serialization/submission/SubmissionCommandsSerializer.scala b/common/src/main/scala/hmda/serialization/submission/SubmissionCommandsSerializer.scala index c4e38e3924..8aa1d7c30f 100644 --- a/common/src/main/scala/hmda/serialization/submission/SubmissionCommandsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/submission/SubmissionCommandsSerializer.scala @@ -2,10 +2,10 @@ package hmda.serialization.submission import java.io.NotSerializableException -import akka.actor.ExtendedActorSystem -import akka.actor.typed.ActorRefResolver -import akka.actor.typed.scaladsl.adapter._ -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.actor.ExtendedActorSystem +import org.apache.pekko.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.submission.SubmissionCommands.{ CreateSubmission, GetSubmission, ModifySubmission, SubmissionStop } import hmda.model.filing.submission.Submission import hmda.persistence.serialization.submission.SubmissionMessage diff --git a/common/src/main/scala/hmda/serialization/submission/SubmissionEventsSerializer.scala b/common/src/main/scala/hmda/serialization/submission/SubmissionEventsSerializer.scala index c6b9e58c46..c673b70770 100644 --- a/common/src/main/scala/hmda/serialization/submission/SubmissionEventsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/submission/SubmissionEventsSerializer.scala @@ -2,7 +2,7 @@ package hmda.serialization.submission import java.io.NotSerializableException -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.submission.SubmissionEvents.{ SubmissionCreated, SubmissionModified, SubmissionNotExists } import hmda.persistence.serialization.submission.events.{ SubmissionCreatedMessage, SubmissionModifiedMessage, SubmissionNotExistsMessage } import hmda.serialization.submission.SubmissionEventsProtobufConverter._ diff --git a/common/src/main/scala/hmda/serialization/submission/SubmissionManagerCommandsSerializer.scala b/common/src/main/scala/hmda/serialization/submission/SubmissionManagerCommandsSerializer.scala index 6fa2fd10ee..aed4ff2399 100644 --- a/common/src/main/scala/hmda/serialization/submission/SubmissionManagerCommandsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/submission/SubmissionManagerCommandsSerializer.scala @@ -2,7 +2,7 @@ package hmda.serialization.submission import java.io.NotSerializableException -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.submission.SubmissionManagerCommands.{ UpdateSubmissionStatus, WrappedSubmissionEventResponse } import hmda.serialization.submission.SubmissionManagerCommandsProtobufConverter._ diff --git a/common/src/main/scala/hmda/serialization/submission/SubmissionProcessingCommandsProtobufConverter.scala b/common/src/main/scala/hmda/serialization/submission/SubmissionProcessingCommandsProtobufConverter.scala index 9fca21e440..40e98c38e5 100644 --- a/common/src/main/scala/hmda/serialization/submission/SubmissionProcessingCommandsProtobufConverter.scala +++ b/common/src/main/scala/hmda/serialization/submission/SubmissionProcessingCommandsProtobufConverter.scala @@ -1,6 +1,6 @@ package hmda.serialization.submission -import akka.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.ActorRefResolver import hmda.messages.submission.SubmissionProcessingCommands._ import hmda.model.validation.MacroValidationError import hmda.persistence.serialization.submission.SubmissionIdMessage diff --git a/common/src/main/scala/hmda/serialization/submission/SubmissionProcessingCommandsSerializer.scala b/common/src/main/scala/hmda/serialization/submission/SubmissionProcessingCommandsSerializer.scala index 532d841e43..35c10a7f9d 100644 --- a/common/src/main/scala/hmda/serialization/submission/SubmissionProcessingCommandsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/submission/SubmissionProcessingCommandsSerializer.scala @@ -2,10 +2,10 @@ package hmda.serialization.submission import java.io.NotSerializableException -import akka.actor.ExtendedActorSystem -import akka.actor.typed.ActorRefResolver -import akka.actor.typed.scaladsl.adapter._ -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.actor.ExtendedActorSystem +import org.apache.pekko.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.submission.SubmissionProcessingCommands.{ CompleteSyntacticalValidity, GetHmdaValidationErrorState, _ } import hmda.persistence.serialization.submission.processing.commands._ import hmda.serialization.submission.SubmissionProcessingCommandsProtobufConverter._ diff --git a/common/src/main/scala/hmda/serialization/submission/SubmissionProcessingEventsSerializer.scala b/common/src/main/scala/hmda/serialization/submission/SubmissionProcessingEventsSerializer.scala index f2734afa93..19f5728920 100644 --- a/common/src/main/scala/hmda/serialization/submission/SubmissionProcessingEventsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/submission/SubmissionProcessingEventsSerializer.scala @@ -2,7 +2,7 @@ package hmda.serialization.submission import java.io.NotSerializableException -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.submission.SubmissionProcessingEvents._ import hmda.model.filing.submission.VerificationStatus import hmda.model.processing.state.{ HmdaParserErrorState, HmdaValidationErrorState } diff --git a/common/src/main/scala/hmda/serialization/validation/ValidationProgressTrackerCommandsProtobufConverter.scala b/common/src/main/scala/hmda/serialization/validation/ValidationProgressTrackerCommandsProtobufConverter.scala index c874c3a3c3..64cde10c72 100644 --- a/common/src/main/scala/hmda/serialization/validation/ValidationProgressTrackerCommandsProtobufConverter.scala +++ b/common/src/main/scala/hmda/serialization/validation/ValidationProgressTrackerCommandsProtobufConverter.scala @@ -1,6 +1,6 @@ package hmda.serialization.validation -import akka.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.ActorRefResolver import hmda.messages.submission.ValidationProgressTrackerCommands import hmda.model.processing.state.{ValidationProgress, ValidationProgressTrackerState} import hmda.persistence.serialization.validationProgressTracker.{ValidationProgressMessage, ValidationProgressTrackerPollMessage, ValidationProgressTrackerStateMessage, ValidationProgressTrackerSubscribeMessage} diff --git a/common/src/main/scala/hmda/serialization/validation/ValidationProgressTrackerCommandsSerializer.scala b/common/src/main/scala/hmda/serialization/validation/ValidationProgressTrackerCommandsSerializer.scala index 61770f3a8a..41a730d6f2 100644 --- a/common/src/main/scala/hmda/serialization/validation/ValidationProgressTrackerCommandsSerializer.scala +++ b/common/src/main/scala/hmda/serialization/validation/ValidationProgressTrackerCommandsSerializer.scala @@ -1,9 +1,9 @@ package hmda.serialization.validation -import akka.actor.ExtendedActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.typed.ActorRefResolver -import akka.serialization.SerializerWithStringManifest +import org.apache.pekko.actor.ExtendedActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.typed.ActorRefResolver +import org.apache.pekko.serialization.SerializerWithStringManifest import hmda.messages.submission.ValidationProgressTrackerCommands import hmda.model.processing.state.ValidationProgressTrackerState import hmda.persistence.serialization.validationProgressTracker.{ValidationProgressTrackerPollMessage, ValidationProgressTrackerStateMessage, ValidationProgressTrackerSubscribeMessage} diff --git a/common/src/main/scala/hmda/util/http/FileUploadUtils.scala b/common/src/main/scala/hmda/util/http/FileUploadUtils.scala index 7116365619..e8783d56d8 100644 --- a/common/src/main/scala/hmda/util/http/FileUploadUtils.scala +++ b/common/src/main/scala/hmda/util/http/FileUploadUtils.scala @@ -1,7 +1,7 @@ package hmda.util.http -import akka.http.scaladsl.model.Multipart.FormData -import akka.http.scaladsl.model.{ ContentTypes, HttpEntity, Multipart } +import org.apache.pekko.http.scaladsl.model.Multipart.FormData +import org.apache.pekko.http.scaladsl.model.{ ContentTypes, HttpEntity, Multipart } trait FileUploadUtils { diff --git a/common/src/main/scala/hmda/util/http/FilingResponseUtils.scala b/common/src/main/scala/hmda/util/http/FilingResponseUtils.scala index e7a19c3f17..1d66db287a 100644 --- a/common/src/main/scala/hmda/util/http/FilingResponseUtils.scala +++ b/common/src/main/scala/hmda/util/http/FilingResponseUtils.scala @@ -1,10 +1,10 @@ package hmda.util.http -import akka.http.scaladsl.marshalling.ToResponseMarshallable -import akka.http.scaladsl.model.{ StatusCode, StatusCodes, Uri } -import akka.http.scaladsl.server.Directives.complete -import akka.http.scaladsl.server.Route -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.http.scaladsl.marshalling.ToResponseMarshallable +import org.apache.pekko.http.scaladsl.model.{ StatusCode, StatusCodes, Uri } +import org.apache.pekko.http.scaladsl.server.Directives.complete +import org.apache.pekko.http.scaladsl.server.Route +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.model.ErrorResponse import hmda.model.filing.submission.SubmissionId diff --git a/common/src/main/scala/hmda/util/streams/FlowUtils.scala b/common/src/main/scala/hmda/util/streams/FlowUtils.scala index b036d4fed7..e478d4b4d1 100644 --- a/common/src/main/scala/hmda/util/streams/FlowUtils.scala +++ b/common/src/main/scala/hmda/util/streams/FlowUtils.scala @@ -1,8 +1,8 @@ package hmda.util.streams -import akka.NotUsed -import akka.stream.scaladsl.{ Flow, Framing } -import akka.util.ByteString +import org.apache.pekko.NotUsed +import org.apache.pekko.stream.scaladsl.{ Flow, Framing } +import org.apache.pekko.util.ByteString object FlowUtils { diff --git a/common/src/test/resources/application.conf b/common/src/test/resources/application.conf index d8f91a4c65..fb012dbedd 100644 --- a/common/src/test/resources/application.conf +++ b/common/src/test/resources/application.conf @@ -1,9 +1,63 @@ -akka { +pekko { + test { + filter-leeway = 20s + default-timeout = 20s + } stdout-loglevel = OFF loglevel = OFF -} + persistence { + journal.plugin = "pekko.persistence.cassandra.journal" + snapshot-store.plugin = "pekko.persistence.cassandra.snapshot" + + query { + journal.id = "pekko.persistence.cassandra.query" + } + + cassandra { + events-by-tag { + max-message-batch-size = 30 + max-message-batch-size = ${?TAG_BATCH_SIZE} + flush-interval = 150ms + flush-interval = ${?TAG_FLUSH_INTERVAL} + # read-profile = "pekko-persistence-cassandra-profile-keyspaces" + # write-profile = "pekko-persistence-cassandra-profile-keyspaces" + read-profile1 = ${?CASSANDRA_PROFILE} + write-profile = ${?CASSANDRA_PROFILE} + } + journal { + keyspace = "hmda2_journal" + keyspace = ${?CASSANDRA_JOURNAL_KEYSPACE} + table = "journal" + events-by-tag.max-message-batch-size = 30 + events-by-tag.max-message-batch-size = ${?TAG_BATCH_SIZE} + events-by-tag.flush-interval = 150ms + events-by-tag.flush-interval = ${?TAG_FLUSH_INTERVAL} + keyspace-autocreate = true + tables-autocreate = true + target-partition-size = 500000 + target-partition-size = ${?CASSANDRA_TARGET_PARTITION_SIZE} + } + query { + # reference: https://github.com/pekko/pekko-persistence-cassandra/blob/v0.101/core/src/main/resources/reference.conf + # Sequence numbers for a persistenceId is assumed to be monotonically increasing + # without gaps. That is used for detecting missing events. + # In early versions of the journal that might not be true and therefore + # this can be relaxed by setting this property to off. + gap-free-sequence-numbers = off + } + snapshot { + keyspace = "hmda2_snapshot" + keyspace = ${?CASSANDRA_SNAPSHOT_KEYSPACE} + table = "snapshot" + keyspace-autocreate = true + tables-autocreate = true + } + } + } +} + kafka { servers = "localhost:6001" } \ No newline at end of file diff --git a/common/src/test/scala/hmda/api/http/codec/ErrorResponseCodecSpec.scala b/common/src/test/scala/hmda/api/http/codec/ErrorResponseCodecSpec.scala index ff18d8fab7..2c06509cbd 100644 --- a/common/src/test/scala/hmda/api/http/codec/ErrorResponseCodecSpec.scala +++ b/common/src/test/scala/hmda/api/http/codec/ErrorResponseCodecSpec.scala @@ -1,6 +1,6 @@ package hmda.api.http.codec -import akka.http.scaladsl.model.Uri.Path +import org.apache.pekko.http.scaladsl.model.Uri.Path import hmda.api.http.model.ErrorResponse import io.circe.syntax._ import org.scalatest.{ MustMatchers, WordSpec } diff --git a/common/src/test/scala/hmda/api/http/routes/BaseHttpApiSpec.scala b/common/src/test/scala/hmda/api/http/routes/BaseHttpApiSpec.scala index 86b6946207..729dbe2e24 100644 --- a/common/src/test/scala/hmda/api/http/routes/BaseHttpApiSpec.scala +++ b/common/src/test/scala/hmda/api/http/routes/BaseHttpApiSpec.scala @@ -1,10 +1,10 @@ package hmda.api.http.routes -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.model.headers.HttpEncodings._ -import akka.http.scaladsl.model.headers._ -import akka.http.scaladsl.testkit.ScalatestRouteTest -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.model.headers.HttpEncodings._ +import org.apache.pekko.http.scaladsl.model.headers._ +import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.model.HmdaServiceStatus import hmda.api.http.routes.BaseHttpApi._ import io.circe.generic.auto._ diff --git a/common/src/test/scala/hmda/api/ws/routes/BaseWSApiSpec.scala b/common/src/test/scala/hmda/api/ws/routes/BaseWSApiSpec.scala index 66e25f8809..e938adaf75 100644 --- a/common/src/test/scala/hmda/api/ws/routes/BaseWSApiSpec.scala +++ b/common/src/test/scala/hmda/api/ws/routes/BaseWSApiSpec.scala @@ -1,7 +1,7 @@ package hmda.api.ws.routes -import akka.http.scaladsl.model.headers.{ HttpOrigin, Origin } -import akka.http.scaladsl.testkit.{ ScalatestRouteTest, WSProbe } +import org.apache.pekko.http.scaladsl.model.headers.{ HttpOrigin, Origin } +import org.apache.pekko.http.scaladsl.testkit.{ ScalatestRouteTest, WSProbe } import hmda.api.http.model.HmdaServiceStatus import io.circe.Json import io.circe.generic.auto._ diff --git a/common/src/test/scala/hmda/parser/filing/ParserFlowSpec.scala b/common/src/test/scala/hmda/parser/filing/ParserFlowSpec.scala index 38bdea841d..07cdadf6c8 100644 --- a/common/src/test/scala/hmda/parser/filing/ParserFlowSpec.scala +++ b/common/src/test/scala/hmda/parser/filing/ParserFlowSpec.scala @@ -1,10 +1,10 @@ package hmda.parser.filing -import akka.actor.ActorSystem -import akka.stream.Materializer -import akka.stream.scaladsl.Source -import akka.stream.testkit.scaladsl.TestSink -import akka.util.ByteString +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.Source +import org.apache.pekko.stream.testkit.scaladsl.TestSink +import org.apache.pekko.util.ByteString import hmda.model.filing.PipeDelimited import hmda.model.filing.lar.LarGenerators._ import hmda.model.filing.lar.LoanApplicationRegister diff --git a/common/src/test/scala/hmda/persistence/AkkaCassandraPersistenceSpec.scala b/common/src/test/scala/hmda/persistence/PekkoCassandraPersistenceSpec.scala similarity index 76% rename from common/src/test/scala/hmda/persistence/AkkaCassandraPersistenceSpec.scala rename to common/src/test/scala/hmda/persistence/PekkoCassandraPersistenceSpec.scala index ff2e586ccd..83f7beab0c 100644 --- a/common/src/test/scala/hmda/persistence/AkkaCassandraPersistenceSpec.scala +++ b/common/src/test/scala/hmda/persistence/PekkoCassandraPersistenceSpec.scala @@ -2,20 +2,20 @@ package hmda.persistence import java.time.Instant import java.util.concurrent.TimeUnit -import akka.actor -import akka.actor.testkit.typed.scaladsl.TestProbe -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.typed.{ActorRef, ActorSystem, Behavior, TypedActorContext} -import akka.persistence.typed.PersistenceId -import akka.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler -import akka.persistence.typed.scaladsl.{Effect, EventSourcedBehavior} +import org.apache.pekko.actor +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.typed.{ActorRef, ActorSystem, Behavior, TypedActorContext} +import org.apache.pekko.persistence.typed.PersistenceId +import org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler +import org.apache.pekko.persistence.typed.scaladsl.{Effect, EventSourcedBehavior} import org.scalacheck.Gen import org.scalatest.{BeforeAndAfterAll, WordSpec} import scala.concurrent.duration._ -abstract class AkkaCassandraPersistenceSpec extends WordSpec with BeforeAndAfterAll { +abstract class PekkoCassandraPersistenceSpec extends WordSpec with BeforeAndAfterAll { sealed trait Command sealed trait Event @@ -40,12 +40,12 @@ abstract class AkkaCassandraPersistenceSpec extends WordSpec with BeforeAndAfter val probe = TestProbe[Event](s"probe-$id") val t0 = System.nanoTime() - probe.within(45.seconds) { + probe.within(90.seconds) { probe.awaitAssert { val actor = system.spawn(AwaitPersistenceInit.behavior, actorName) actor ! Request(probe.ref) - probe.expectMessage(5.seconds, Response) + probe.expectMessage(120.seconds, Response) system.log.debug("awaitPersistenceInit took {} ms {}", TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - t0), system.name) } } diff --git a/common/src/test/scala/hmda/serialization/projection/ProjectionProtobufConverterSpec.scala b/common/src/test/scala/hmda/serialization/projection/ProjectionProtobufConverterSpec.scala index da32ef1a29..b50e1ac027 100644 --- a/common/src/test/scala/hmda/serialization/projection/ProjectionProtobufConverterSpec.scala +++ b/common/src/test/scala/hmda/serialization/projection/ProjectionProtobufConverterSpec.scala @@ -1,10 +1,10 @@ package hmda.serialization.projection -import akka.actor.ActorSystem -import akka.actor.testkit.typed.scaladsl.TestProbe -import akka.actor.typed.ActorRefResolver -import akka.actor.typed.scaladsl.adapter._ -import akka.persistence.query.TimeBasedUUID +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.persistence.query.TimeBasedUUID import com.datastax.oss.driver.api.core.uuid.Uuids import hmda.messages.projection.CommonProjectionMessages.{ GetOffset, OffsetSaved, SaveOffset } import hmda.serialization.projection.ProjectionProtobufConverter._ diff --git a/common/src/test/scala/hmda/serialization/submission/SubmissionProcessingCommandsProtobufConverterSpec.scala b/common/src/test/scala/hmda/serialization/submission/SubmissionProcessingCommandsProtobufConverterSpec.scala index f2539b51b2..ea0f63ed43 100644 --- a/common/src/test/scala/hmda/serialization/submission/SubmissionProcessingCommandsProtobufConverterSpec.scala +++ b/common/src/test/scala/hmda/serialization/submission/SubmissionProcessingCommandsProtobufConverterSpec.scala @@ -1,9 +1,9 @@ package hmda.serialization.submission -import akka.actor.ActorSystem -import akka.actor.testkit.typed.scaladsl.TestProbe -import akka.actor.typed.ActorRefResolver -import akka.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor.typed.ActorRefResolver +import org.apache.pekko.actor.typed.scaladsl.adapter._ import hmda.generators.CommonGenerators.emailGen import hmda.messages.submission.SubmissionProcessingCommands._ import hmda.messages.submission.SubmissionProcessingEvents.{SubmissionProcessingEvent, SubmissionSignedEvent} diff --git a/data-browser/src/main/resources/application.conf b/data-browser/src/main/resources/application.conf index 61ccaf2337..87f5947e06 100644 --- a/data-browser/src/main/resources/application.conf +++ b/data-browser/src/main/resources/application.conf @@ -1,12 +1,12 @@ include "cors.conf" -akka { +pekko { loglevel = info log-dead-letters = off log-dead-letters-during-shutdown = off } -akka.http.server.request-timeout = 4 minutes +pekko.http.server.request-timeout = 4 minutes server { bindings { diff --git a/data-browser/src/main/resources/cors.conf b/data-browser/src/main/resources/cors.conf index 34c2d4b74f..b35c7f634b 100644 --- a/data-browser/src/main/resources/cors.conf +++ b/data-browser/src/main/resources/cors.conf @@ -1,4 +1,4 @@ -akka-http-cors { +pekko-http-cors { allowed-methods = ["GET"] allowed-origins = "*" } diff --git a/data-browser/src/main/scala/hmda/dataBrowser/DataBrowser.scala b/data-browser/src/main/scala/hmda/dataBrowser/DataBrowser.scala index fa28cca1fd..4395d3cf14 100644 --- a/data-browser/src/main/scala/hmda/dataBrowser/DataBrowser.scala +++ b/data-browser/src/main/scala/hmda/dataBrowser/DataBrowser.scala @@ -1,6 +1,6 @@ package hmda.dataBrowser -import akka.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.ActorSystem import hmda.dataBrowser.api.DataBrowserApi import org.slf4j.LoggerFactory diff --git a/data-browser/src/main/scala/hmda/dataBrowser/api/DataBrowserApi.scala b/data-browser/src/main/scala/hmda/dataBrowser/api/DataBrowserApi.scala index a0da3e2ecd..0ce914b2ad 100644 --- a/data-browser/src/main/scala/hmda/dataBrowser/api/DataBrowserApi.scala +++ b/data-browser/src/main/scala/hmda/dataBrowser/api/DataBrowserApi.scala @@ -1,14 +1,14 @@ package hmda.dataBrowser.api -import akka.actor -import akka.actor.CoordinatedShutdown -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.{ ActorSystem, Behavior, SupervisorStrategy } -import akka.actor.typed.scaladsl.adapter._ -import akka.http.scaladsl.server.Directives._ +import org.apache.pekko.actor +import org.apache.pekko.actor.CoordinatedShutdown +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.{ ActorSystem, Behavior, SupervisorStrategy } +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.http.scaladsl.server.Directives._ import hmda.api.http.directives.HmdaTimeDirectives._ import hmda.api.http.routes.BaseHttpApi -import akka.stream.Materializer +import org.apache.pekko.stream.Materializer import hmda.dataBrowser.Settings import hmda.dataBrowser.repositories.{ PostgresModifiedLarRepository, PostgresModifiedLarRepository2017, RedisModifiedLarAggregateCache } import hmda.dataBrowser.services.{ DataBrowserQueryService, HealthCheckService, QueryService, S3FileService } @@ -17,7 +17,7 @@ import io.lettuce.core.{ ClientOptions, RedisClient } import monix.eval.Task import slick.basic.DatabaseConfig import slick.jdbc.JdbcProfile -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.cors +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.cors import scala.concurrent.ExecutionContext import scala.concurrent.duration._ diff --git a/data-browser/src/main/scala/hmda/dataBrowser/api/DataBrowserDirectives.scala b/data-browser/src/main/scala/hmda/dataBrowser/api/DataBrowserDirectives.scala index 974f899a97..54d647849c 100644 --- a/data-browser/src/main/scala/hmda/dataBrowser/api/DataBrowserDirectives.scala +++ b/data-browser/src/main/scala/hmda/dataBrowser/api/DataBrowserDirectives.scala @@ -1,16 +1,16 @@ package hmda.dataBrowser.api -import akka.NotUsed -import akka.http.scaladsl.common.{ CsvEntityStreamingSupport, EntityStreamingSupport } -import akka.http.scaladsl.model.StatusCodes.BadRequest -import akka.http.scaladsl.model.headers.ContentDispositionTypes.attachment -import akka.http.scaladsl.model.headers.`Content-Disposition` -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server._ -import akka.http.scaladsl.server.directives.RouteDirectives.complete -import akka.http.scaladsl.unmarshalling.PredefinedFromStringUnmarshallers._ -import akka.stream.scaladsl.Source -import akka.util.ByteString +import org.apache.pekko.NotUsed +import org.apache.pekko.http.scaladsl.common.{ CsvEntityStreamingSupport, EntityStreamingSupport } +import org.apache.pekko.http.scaladsl.model.StatusCodes.BadRequest +import org.apache.pekko.http.scaladsl.model.headers.ContentDispositionTypes.attachment +import org.apache.pekko.http.scaladsl.model.headers.`Content-Disposition` +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server._ +import org.apache.pekko.http.scaladsl.server.directives.RouteDirectives.complete +import org.apache.pekko.http.scaladsl.unmarshalling.PredefinedFromStringUnmarshallers._ +import org.apache.pekko.stream.scaladsl.Source +import org.apache.pekko.util.ByteString import hmda.dataBrowser.models.ActionTaken._ import hmda.dataBrowser.models.AgeApplicant._ import hmda.dataBrowser.models.ConstructionMethod._ @@ -30,7 +30,7 @@ import hmda.dataBrowser.models.TotalUnits._ import hmda.dataBrowser.models._ import hmda.util.LEIValidator._ import Delimiter.fileEnding -import akka.http.scaladsl.marshalling.ToResponseMarshallable +import org.apache.pekko.http.scaladsl.marshalling.ToResponseMarshallable import hmda.dataBrowser.services._ import monix.eval.Task import hmda.dataBrowser.Settings @@ -158,7 +158,7 @@ trait DataBrowserDirectives extends Settings { parameters("leis".as(CsvSeq[String]) ? Nil).flatMap { case Nil => provide(None) case xs if xs.exists(lei => !isValidLEIFormat(lei)) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, s"A Valid LEI should be 20 characters and Alphanumeric (${xs.mkString(", ")})")) case xs => provide(Option(QueryField(name = "lei", xs.map(_.toString), dbName = "lei", isAllSelected = false))) @@ -175,11 +175,11 @@ trait DataBrowserDirectives extends Settings { private def extractYears: Directive1[Option[QueryField]] = parameters("years".as(CsvSeq[Int]) ? Nil).flatMap { case Nil => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, "must provide years value parameter")) case xs if xs.exists(year => (year < 2018) || (year > 2025)) => // TODO: Change this to 2017 when 2017 is released - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, s"must provide years in the range of 2018-2023, you have provided (${xs.mkString(", ")})")) case xs => provide(Option(QueryField(name = "year", xs.map(_.toString), dbName = "filing_year", isAllSelected = false))) @@ -198,7 +198,7 @@ trait DataBrowserDirectives extends Settings { case _ => validateStates(rawStates) match { case Left(invalidStates) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, InvalidStates(invalidStates))) case Right(states) if states.nonEmpty => @@ -231,7 +231,7 @@ trait DataBrowserDirectives extends Settings { val dbName = "action_taken_type" validateActionsTaken(rawAction) match { case Left(invalidActionsTaken) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete(ToResponseMarshallable((BadRequest, InvalidActions(invalidActionsTaken)))) case Right(actionsTaken) if actionsTaken.nonEmpty && actionsTaken.size == ActionTaken.values.size => @@ -252,7 +252,7 @@ trait DataBrowserDirectives extends Settings { val dbName = "age_applicant" validateAgeApplicant(rawAgeApplicant) match { case Left(invalidAgeApplicant) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete(ToResponseMarshallable((BadRequest, InvalidAgeApplicant(invalidAgeApplicant)))) case Right(ageApplicant) if ageApplicant.nonEmpty && ageApplicant.size == AgeApplicant.values.size => @@ -273,7 +273,7 @@ trait DataBrowserDirectives extends Settings { val dbName = "ethnicity_categorization" validateEthnicities(rawEthnicities) match { case Left(invalidAgeApplicant) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete(ToResponseMarshallable((BadRequest, InvalidAgeApplicant(invalidAgeApplicant)))) case Right(ethnicities) if ethnicities.nonEmpty && ethnicities.size == Ethnicity.values.size => provide(Option(QueryField(name, ethnicities.map(_.entryName), dbName, isAllSelected = true))) @@ -292,7 +292,7 @@ trait DataBrowserDirectives extends Settings { val dbName = name validateTotalUnits(rawTotalUnits) match { case Left(invalidTotalUnits) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete(ToResponseMarshallable((BadRequest, InvalidTotalUnits(invalidTotalUnits)))) case Right(totalUnits) if totalUnits.nonEmpty && totalUnits.size == TotalUnits.values.size => @@ -312,7 +312,7 @@ trait DataBrowserDirectives extends Settings { val dbName = "race_categorization" validateRaces(rawRaces) match { case Left(invalidRaces) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete(ToResponseMarshallable((BadRequest, InvalidRaces(invalidRaces)))) case Right(races) if races.nonEmpty && races.size == Race.values.size => @@ -331,7 +331,7 @@ trait DataBrowserDirectives extends Settings { val dbName = "construction_method" validateConstructionMethods(rawConstructionMethods) match { case Left(invalidConstructionMethods) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete(ToResponseMarshallable((BadRequest, InvalidConstructionMethods(invalidConstructionMethods)))) case Right(constructionMethods) if constructionMethods.nonEmpty && constructionMethods.size == ConstructionMethod.values.size => @@ -350,7 +350,7 @@ trait DataBrowserDirectives extends Settings { val dbName = "dwelling_category" validateDwellingCategories(rawDwellingCategories) match { case Left(invalidDwellingCategories) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete(ToResponseMarshallable((BadRequest, InvalidDwellingCategories(invalidDwellingCategories)))) case Right(dwellingCategories) if dwellingCategories.nonEmpty && dwellingCategories.size == DwellingCategory.values.size => @@ -372,7 +372,7 @@ trait DataBrowserDirectives extends Settings { parameters("lien_statuses".as(CsvSeq[String]) ? Nil).flatMap { rawLienStatuses => validateLienStatusFunction(rawLienStatuses) match { case Left(invalidLienStatuses) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete(ToResponseMarshallable((BadRequest, InvalidLienStatuses(invalidLienStatuses)))) case Right(lienStatuses) if lienStatuses.nonEmpty && lienStatuses.size == LienStatus.values.size => @@ -391,7 +391,7 @@ trait DataBrowserDirectives extends Settings { parameters("loan_products".as(CsvSeq[String]) ? Nil).flatMap { rawLoanProducts => validateLoanProducts(rawLoanProducts) match { case Left(invalidLoanProducts) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete(ToResponseMarshallable((BadRequest, InvalidLoanProducts(invalidLoanProducts)))) case Right(loanProducts) if loanProducts.nonEmpty && loanProducts.size == LoanProduct.values.size => @@ -414,7 +414,7 @@ trait DataBrowserDirectives extends Settings { parameters("loan_purposes".as(CsvSeq[String]) ? Nil).flatMap { rawLoanPurposes => validateLoanPurposeFunction(rawLoanPurposes) match { case Left(invalidLoanPurposes) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete(ToResponseMarshallable((BadRequest, InvalidLoanPurposes(invalidLoanPurposes)))) case Right(loanPurposes) if loanPurposes.nonEmpty && loanPurposes.size == LoanPurpose.values.size => @@ -433,7 +433,7 @@ trait DataBrowserDirectives extends Settings { parameters("loan_types".as(CsvSeq[String]) ? Nil).flatMap { rawLoanTypes => validateLoanType(rawLoanTypes) match { case Left(invalidLoanTypes) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete(ToResponseMarshallable((BadRequest, InvalidLoanTypes(invalidLoanTypes)))) case Right(loanTypes) if loanTypes.nonEmpty && loanTypes.size == LoanType.values.size => @@ -451,7 +451,7 @@ trait DataBrowserDirectives extends Settings { parameters("sexes".as(CsvSeq[String]) ? Nil).flatMap { rawSexes => validateSexes(rawSexes) match { case Left(invalidSexes) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete(ToResponseMarshallable((BadRequest, InvalidSexes(invalidSexes)))) case Right(sexes) if sexes.nonEmpty && sexes.size == Sex.values.size => @@ -469,7 +469,7 @@ trait DataBrowserDirectives extends Settings { parameters("property_types".as(CsvSeq[String]) ? Nil).flatMap { rawPropertyTypes => validateLoanType(rawPropertyTypes) match { case Left(invalidPropertyTypes) => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, InvalidLoanTypes(invalidPropertyTypes))) case Right(propertyTypes) if propertyTypes.nonEmpty && propertyTypes.size == PropertyType.values.size => @@ -489,7 +489,7 @@ trait DataBrowserDirectives extends Settings { case "2017" => extractNonMandatoryQueryFields2017(year)(innerRoute) case yearStr if Try(yearStr.toInt).filter(_ >= 2018).isSuccess => extractNonMandatoryQueryFieldsLatest(year)(innerRoute) case invalidYear => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, InvalidYear(invalidYear))) } @@ -528,7 +528,7 @@ trait DataBrowserDirectives extends Settings { ageApplicant ).flatten if (filteredfields.size > 2) { - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, TooManyFilterCriterias())) } else innerRoute(QueryFields(year, filteredfields)) } @@ -552,7 +552,7 @@ trait DataBrowserDirectives extends Settings { loanType ).flatten if (filteredfields.size > 2) { - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, TooManyFilterCriterias())) } else innerRoute(QueryFields(year, filteredfields)) } @@ -563,14 +563,14 @@ trait DataBrowserDirectives extends Settings { if (years.nonEmpty && (msaMds.nonEmpty || states.nonEmpty)) { extractNonMandatoryQueryFields(years.head.values.head) { nonMandatoryFields => if (nonMandatoryFields.queryFields.nonEmpty) { - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, NoMandatoryFieldsInCount())) } else { innerRoute((QueryFields(years.head.values.head, List(years, msaMds, states).flatten))) } } } else { - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, ProvideYearAndStatesOrMsaMds())) } } @@ -580,12 +580,12 @@ trait DataBrowserDirectives extends Settings { (extractYears) { (years) => (extractMsaMds & extractStates(years.head.values.head) & extractCounties(years.head.values.head)) { (msaMds, states, counties) => if (msaMds.nonEmpty && states.nonEmpty && counties.nonEmpty) { - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete(ToResponseMarshallable((BadRequest, OnlyStatesOrMsaMdsOrCountiesOrLEIs()))) } else if (years.nonEmpty) innerRoute(QueryFields(years.head.values.head, List(years, msaMds, states, counties).flatten)) else { - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete(ToResponseMarshallable((BadRequest, ProvideYearAndStatesOrMsaMdsOrCounties()))) } } @@ -603,7 +603,7 @@ trait DataBrowserDirectives extends Settings { def extractMsaAndStateAndCountyAndLEIBrowserFields(year: String, innerRoute: QueryFields => Route): Route = (extractMsaMds & extractStates(year) & extractCounties(year) & extractLEIs ) { (msaMds, states, counties, leis) => if ((msaMds.nonEmpty && states.nonEmpty && counties.nonEmpty && leis.nonEmpty) || (msaMds.isEmpty && states.isEmpty && counties.isEmpty && leis.isEmpty )) { - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, OnlyStatesOrMsaMdsOrCountiesOrLEIs())) } else innerRoute(QueryFields(year, List(msaMds, states, counties, leis).flatten)) @@ -612,7 +612,7 @@ trait DataBrowserDirectives extends Settings { def extractMsaAndStateAndCountyAndARIDBrowserFields(year: String, innerRoute: QueryFields => Route): Route = (extractMsaMds & extractStates(year) & extractCounties(year) & extractARIDs) { (msaMds, states, counties, arids) => if ((msaMds.nonEmpty && states.nonEmpty && counties.nonEmpty && arids.nonEmpty) || (msaMds.isEmpty && states.isEmpty && counties.isEmpty && arids.isEmpty)) { - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, OnlyStatesOrMsaMdsOrCountiesOrLEIs())) } else innerRoute(QueryFields(year, List(msaMds, states, counties, arids).flatten)) @@ -623,7 +623,7 @@ trait DataBrowserDirectives extends Settings { if (years.nonEmpty) innerRoute(QueryFields(years.head.values.head, List(years).flatten)) else { - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, ProvideYear())) } } @@ -632,7 +632,7 @@ trait DataBrowserDirectives extends Settings { extractNonMandatoryQueryFields(year) { browserFields => if (browserFields.queryFields.nonEmpty) innerRoute(browserFields) else { - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, NotEnoughFilterCriterias())) } } @@ -641,7 +641,7 @@ trait DataBrowserDirectives extends Settings { extractNonMandatoryQueryFields(year) { browserFields => if (browserFields.queryFields.nonEmpty) innerRoute(browserFields) else { - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, NotEnoughFilterCriterias())) } } diff --git a/data-browser/src/main/scala/hmda/dataBrowser/api/DataBrowserHttpApi.scala b/data-browser/src/main/scala/hmda/dataBrowser/api/DataBrowserHttpApi.scala index 13b2998c7f..151150b20a 100644 --- a/data-browser/src/main/scala/hmda/dataBrowser/api/DataBrowserHttpApi.scala +++ b/data-browser/src/main/scala/hmda/dataBrowser/api/DataBrowserHttpApi.scala @@ -1,11 +1,11 @@ package hmda.dataBrowser.api -import akka.http.scaladsl.model.ContentTypes._ -import akka.http.scaladsl.model.{HttpEntity, StatusCodes, Uri} -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.http.scaladsl.server.directives.RouteDirectives.complete -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.http.scaladsl.model.ContentTypes._ +import org.apache.pekko.http.scaladsl.model.{HttpEntity, StatusCodes, Uri} +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.directives.RouteDirectives.complete +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.dataBrowser.api.DataBrowserDirectives._ import hmda.dataBrowser.models.HealthCheckStatus.Up import hmda.dataBrowser.models._ diff --git a/data-browser/src/main/scala/hmda/dataBrowser/repositories/ModifiedLarRepository.scala b/data-browser/src/main/scala/hmda/dataBrowser/repositories/ModifiedLarRepository.scala index fb6dd1b4ba..7066fbe669 100644 --- a/data-browser/src/main/scala/hmda/dataBrowser/repositories/ModifiedLarRepository.scala +++ b/data-browser/src/main/scala/hmda/dataBrowser/repositories/ModifiedLarRepository.scala @@ -1,7 +1,7 @@ package hmda.dataBrowser.repositories -import akka.NotUsed -import akka.stream.scaladsl.Source +import org.apache.pekko.NotUsed +import org.apache.pekko.stream.scaladsl.Source import hmda.dataBrowser.models._ import monix.eval.Task diff --git a/data-browser/src/main/scala/hmda/dataBrowser/repositories/PostgresModifiedLarRepository.scala b/data-browser/src/main/scala/hmda/dataBrowser/repositories/PostgresModifiedLarRepository.scala index e936b84c76..f06e054f64 100644 --- a/data-browser/src/main/scala/hmda/dataBrowser/repositories/PostgresModifiedLarRepository.scala +++ b/data-browser/src/main/scala/hmda/dataBrowser/repositories/PostgresModifiedLarRepository.scala @@ -1,7 +1,7 @@ package hmda.dataBrowser.repositories -import akka.NotUsed -import akka.stream.scaladsl.Source +import org.apache.pekko.NotUsed +import org.apache.pekko.stream.scaladsl.Source import hmda.dataBrowser.models.{ FilerInformationLatest, ModifiedLarEntity, ModifiedLarTable, QueryField, LarQueryField, Statistic } import monix.eval.Task import slick.basic.DatabaseConfig diff --git a/data-browser/src/main/scala/hmda/dataBrowser/repositories/PostgresModifiedLarRepository2017.scala b/data-browser/src/main/scala/hmda/dataBrowser/repositories/PostgresModifiedLarRepository2017.scala index 179e5bab3f..dda0052f06 100644 --- a/data-browser/src/main/scala/hmda/dataBrowser/repositories/PostgresModifiedLarRepository2017.scala +++ b/data-browser/src/main/scala/hmda/dataBrowser/repositories/PostgresModifiedLarRepository2017.scala @@ -1,7 +1,7 @@ package hmda.dataBrowser.repositories -import akka.NotUsed -import akka.stream.scaladsl.Source +import org.apache.pekko.NotUsed +import org.apache.pekko.stream.scaladsl.Source import hmda.dataBrowser.models.{ FilerInformation2017, ModifiedLarEntity2017, QueryField, LarQueryField, Statistic } import monix.eval.Task import slick.basic.DatabaseConfig diff --git a/data-browser/src/main/scala/hmda/dataBrowser/services/DataBrowserQueryService.scala b/data-browser/src/main/scala/hmda/dataBrowser/services/DataBrowserQueryService.scala index 4f63c86867..a4f837fa53 100644 --- a/data-browser/src/main/scala/hmda/dataBrowser/services/DataBrowserQueryService.scala +++ b/data-browser/src/main/scala/hmda/dataBrowser/services/DataBrowserQueryService.scala @@ -1,6 +1,6 @@ package hmda.dataBrowser.services -import akka.NotUsed -import akka.stream.scaladsl.Source +import org.apache.pekko.NotUsed +import org.apache.pekko.stream.scaladsl.Source import hmda.dataBrowser.models._ import hmda.dataBrowser.models.Aggregation._ import hmda.dataBrowser.repositories._ diff --git a/data-browser/src/main/scala/hmda/dataBrowser/services/FileService.scala b/data-browser/src/main/scala/hmda/dataBrowser/services/FileService.scala index e98b3cc08e..179c0badba 100644 --- a/data-browser/src/main/scala/hmda/dataBrowser/services/FileService.scala +++ b/data-browser/src/main/scala/hmda/dataBrowser/services/FileService.scala @@ -1,8 +1,8 @@ package hmda.dataBrowser.services -import akka.NotUsed -import akka.stream.scaladsl.Source -import akka.util.ByteString +import org.apache.pekko.NotUsed +import org.apache.pekko.stream.scaladsl.Source +import org.apache.pekko.util.ByteString import hmda.dataBrowser.models.{Delimiter, QueryField} import monix.eval.Task diff --git a/data-browser/src/main/scala/hmda/dataBrowser/services/QueryService.scala b/data-browser/src/main/scala/hmda/dataBrowser/services/QueryService.scala index 377aefc6ba..07bd9285c4 100644 --- a/data-browser/src/main/scala/hmda/dataBrowser/services/QueryService.scala +++ b/data-browser/src/main/scala/hmda/dataBrowser/services/QueryService.scala @@ -1,7 +1,7 @@ package hmda.dataBrowser.services -import akka.NotUsed -import akka.stream.scaladsl.Source +import org.apache.pekko.NotUsed +import org.apache.pekko.stream.scaladsl.Source import hmda.dataBrowser.models._ import monix.eval.Task diff --git a/data-browser/src/main/scala/hmda/dataBrowser/services/S3FileService.scala b/data-browser/src/main/scala/hmda/dataBrowser/services/S3FileService.scala index 5f83357eb8..d1ab697f3d 100644 --- a/data-browser/src/main/scala/hmda/dataBrowser/services/S3FileService.scala +++ b/data-browser/src/main/scala/hmda/dataBrowser/services/S3FileService.scala @@ -1,12 +1,12 @@ package hmda.dataBrowser.services -import akka.NotUsed -import akka.actor.typed.ActorSystem -import akka.http.scaladsl.model.ContentTypes -import akka.stream.alpakka.s3.S3Headers -import akka.stream.alpakka.s3.scaladsl.S3 -import akka.stream.scaladsl.{ Sink, Source } -import akka.util.ByteString +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.http.scaladsl.model.ContentTypes +import org.apache.pekko.stream.connectors.s3.S3Headers +import org.apache.pekko.stream.connectors.s3.scaladsl.S3 +import org.apache.pekko.stream.scaladsl.{ Sink, Source } +import org.apache.pekko.util.ByteString import cats.implicits._ import hmda.dataBrowser.Settings import hmda.dataBrowser.models.Delimiter.fileEnding @@ -15,7 +15,7 @@ import monix.eval.Task import org.slf4j.LoggerFactory // $COVERAGE-OFF$ -// All this does is use the Alpakka S3 APIs +// All this does is use the pekko S3 APIs class S3FileService(implicit system: ActorSystem[Nothing]) extends FileService with Settings { private final val log = LoggerFactory.getLogger(getClass) diff --git a/data-browser/src/test/scala/hmda/dataBrowser/DataBrowserIntegrationSpec.scala b/data-browser/src/test/scala/hmda/dataBrowser/DataBrowserIntegrationSpec.scala index c9eda15d42..7a640f57b7 100644 --- a/data-browser/src/test/scala/hmda/dataBrowser/DataBrowserIntegrationSpec.scala +++ b/data-browser/src/test/scala/hmda/dataBrowser/DataBrowserIntegrationSpec.scala @@ -1,9 +1,9 @@ package hmda.dataBrowser -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.server.Route -import akka.http.scaladsl.testkit.ScalatestRouteTest -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport import hmda.dataBrowser.api.DataBrowserHttpApi import hmda.dataBrowser.models.HealthCheckStatus.{ Down, Up } import hmda.dataBrowser.models.{ AggregationResponse, HealthCheckResponse, Statistic } diff --git a/data-browser/src/test/scala/hmda/dataBrowser/DataBrowserQueryServiceSpec.scala b/data-browser/src/test/scala/hmda/dataBrowser/DataBrowserQueryServiceSpec.scala index f003ce731b..34d74fc63d 100644 --- a/data-browser/src/test/scala/hmda/dataBrowser/DataBrowserQueryServiceSpec.scala +++ b/data-browser/src/test/scala/hmda/dataBrowser/DataBrowserQueryServiceSpec.scala @@ -1,9 +1,9 @@ package hmda.dataBrowser -import akka.actor.ActorSystem -import akka.stream.Materializer -import akka.stream.scaladsl._ -import akka.testkit.TestKit +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl._ +import org.apache.pekko.testkit.TestKit import hmda.dataBrowser.models._ import hmda.dataBrowser.repositories._ import hmda.dataBrowser.services.DataBrowserQueryService diff --git a/data-browser/src/test/scala/hmda/dataBrowser/HealthCheckServiceSpec.scala b/data-browser/src/test/scala/hmda/dataBrowser/HealthCheckServiceSpec.scala index cd43d27769..349e346a6b 100644 --- a/data-browser/src/test/scala/hmda/dataBrowser/HealthCheckServiceSpec.scala +++ b/data-browser/src/test/scala/hmda/dataBrowser/HealthCheckServiceSpec.scala @@ -1,8 +1,8 @@ package hmda.dataBrowser -import akka.actor.ActorSystem -import akka.stream.Materializer -import akka.testkit.TestKit +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.Materializer +import org.apache.pekko.testkit.TestKit import hmda.dataBrowser.models.HealthCheckStatus.Up import hmda.dataBrowser.models.{ Commas, HealthCheckResponse, QueryField } import hmda.dataBrowser.models.State.AK diff --git a/data-browser/src/test/scala/hmda/dataBrowser/api/DataBrowserDirectivesSpec.scala b/data-browser/src/test/scala/hmda/dataBrowser/api/DataBrowserDirectivesSpec.scala index 8da5a71d4b..85889bc5ae 100644 --- a/data-browser/src/test/scala/hmda/dataBrowser/api/DataBrowserDirectivesSpec.scala +++ b/data-browser/src/test/scala/hmda/dataBrowser/api/DataBrowserDirectivesSpec.scala @@ -1,10 +1,10 @@ package hmda.dataBrowser.api -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.http.scaladsl.testkit.ScalatestRouteTest -import akka.stream.scaladsl.Source +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest +import org.apache.pekko.stream.scaladsl.Source import cats.implicits._ import hmda.dataBrowser.api.DataBrowserDirectives._ import hmda.dataBrowser.models._ diff --git a/data/2018/clean_test_files/bank_1/clean_file_10k_rows_Bank1_syntax_validity.txt b/data/2018/clean_test_files/bank_1/clean_file_10k_rows_Bank1_syntax_validity.txt index 937ed27dad..eb0abb907a 100644 --- a/data/2018/clean_test_files/bank_1/clean_file_10k_rows_Bank1_syntax_validity.txt +++ b/data/2018/clean_test_files/bank_1/clean_file_10k_rows_Bank1_syntax_validity.txt @@ -5646,7 +5646,7 @@ 2|BANK1LEIFORTEST12345|BANK1LEIFORTEST12345GALRSNDV84LF42APDFGRLTJ09|NA|2|1|2|2|3|375045|6|20180907|1234 Hocus Potato Way|Tatertown|CA|33261|06001|06001432501|3|||||B348M0HZOVMCOGNX634EM7P3H8983AJKJY0WF64SSSRP1X6RMBRZWH9QUU7L4UOCXJC0I7WPNVC3B|4|||||4NGCFAS6W5IWDKR76DW0R0ELPJJE11R0DL573RNOBD9XR9BZVHLBKYKI85163XM3439XGZU0DJ1A5M9WLYP0|2|3|26|||||6Q8PQRAPEJGMUBFD6EE38J70QUEQ9L792|9JFCLMMPBDTFKMGTFW3ED4DUR1SKDI9OG1B2F0EW0SNMTXWRBWC3G073OFXX3RGI81A|CT5AYMEHJVCI7YU8DBT0UVXWKYT6424Y2VN|6|||||HSDBAMCN0CT1UQJHEMV54BEE98B88VFDTC8VYRF9KY5|4WNS3V5FF4I92Z2J9NEZCI37FI51WCKL4SNJO05F966ZP9SXRA9|UULFVE6HUPSCA462KSMESCMFLTY8KUN|2|3|3|1|2|1|30|47|NA|0|NA|3|2|8888|8888|9||9||10|||||NA|NA|NA|NA|NA|NA|NA|NA|NA|261|11|1111|1111|1111|1111|NA|3|5|8|8|3|3|NA|6||||||17||||||2|1111|2 2|BANK1LEIFORTEST12345|BANK1LEIFORTEST12345VFPOCK8UMWW1VRDWQ8761ZL22|20181006|3|5|2|2|2|28958|5|20181122|1234 Hocus Potato Way|Tatertown|NH|44372|33005|33005970600|1|||||QRVEWCBDIOFC0RCRC7TDFKVTF22TMVL3DINKQ4BIY47GHR5VHN8FKI2S1RG1SUI6528XQZL80PUY|1|2||||HN89XEHSXDJY30Z9HISM5N6YQI70LJIE29D9VX797I8STMG0HKQT80VWCLV4W2E9C83LQRFOMX|2|1|5|1|4|3|2|MZ11KDCXRD4XZHEI2E0420FW62WAE5JBGBB|QQ52G6CR9CJZHWCJDCGOULOUUJP3RRQCWMTY8Q43QK7R|X3T1QROZ2UDZ7MB1ODRY5YDFOZHM4IGI2PIA8NKCZEV192Z0ARCRXDA1Y3KNEMPL0HVN4YU05P5HKB09WPLFLTZNZPVQP|4||||1|R57I6TECF0L7VDJV0SCO2FZOD5AGALDUZFO7V|XXETGRR4FLFJP9TPH878Y69N7OY4DJOBP3NP75UPO3SLRVXH43V8U4FKVOO|XH1IU3VBBVYPJNDBMTAMK9Z|1|2|1|1|1|2|56|27|114|0|NA|3|2|8888|8888|9||9||10|||||NA|NA|NA|NA|NA|NA|NA|NA|NA|NA|29|1111|1111|1111|1111|NA|2|2|22|NA|2|2|NA|1||2||||1||8||||1|1111|2 2|BANK1LEIFORTEST12345|BANK1LEIFORTEST123450AU8BW2CFKZUQLVA5275KVW82|NA|1|32|2|1|1|432147|6|20180826|1234 Hocus Potato Way|Tatertown|NY|31093|36047|36047013400|1|||||VLEYV2W73CHLBFHSZA7DWR8478YZM8YTAKK5F21M|4|||||57DSDBESCZP329ZS|1|3|4|1|3|5|2|V8JI4A4S8IC9AJ39O2LC|Z3E6CQS7ONVBHGWHU85PHWAE4JLHT5UOEGVYYKAY3CY93OLC9YC5FOE1M8DSPPIUPKCY955X5|2|8|||||SGLGYDCBI72L2RI8J|NIVMYROH8VNXQYFXEPBCGHVLEAZ46T28D7RVT8Q0CV7765POE4RGKNTXKPB6JCA8MHCRLIWIHGNE98SLZ551GQDOZ0YSA|E4UOT74CXCODN98NNMFN1R5XUOBW62AR|1|4|6|2|2|1|14|101|NA|0|NA|3|2|8888|8888|9||9||10|||||NA|NA|NA|NA|NA|NA|NA|NA|NA|NA|4|1111|1111|1111|1111|483336|3|5|13|12|3|3|NA|6||||||17||||||1|1|1111 -2|BANK1LEIFORTEST12345|BANK1LEIFORTEST12345LAR84AKKAEDM7W3WRZTXU4K76|20180504|2|4|2|2|1|346201|4|20180504|1234 Hocus Potato Way|Tatertown|TX|49969|48479|48479001201|2|||||QNDS4UZN6RAT9EFHPA0SA3DHTHM3RE8DYB80HTFR3UP7CL446NVI3VJ1U1W8K5VA2B|3|||||NJLU9W0GFR7G3CU262CLIDTO3UM1O3T8KRNCX4XX9N84DHZZFMOC6WO7TEVNRBTSOLTZTLU0UBQQ8WPS6J8B|1|3|7|||||OMG2KNX83NAZMSIQO3785T9A3CN66UWNI|5LH91DEXD7XGKOPE4OKAE298QNF9IZNQ19FEB4UR2CNKWIE0YXH45K9T2YJ76BNNQAN8P53Z8I2MIQSY0|YAFVVJ88RTVCZRXVGIFR87JCDBDUZ39BOHQ06XW562NXALH52WMG3J8ASQZXKPCPLE50IKFEY4|8|||||VHWJ43BTDSS15D81640228YUSZMGXYCUR8KNZ18JIFNCTFP3RLDRF3UN81GD21V0TSH1B2810B9|P550WQ3MOJ6PKQOF74JY3KUJF3S|CG9K8KRO6KN|3|4|2|4|1|3|44|36|NA|0|NA|3|2|8888|8888|9||9||10|||||NA|NA|NA|NA|NA|NA|NA|NA|NA|NA|32|2|2|2|1|NA|3|5|8|8|2|1|NA|1||||||4||||||1|1|1111 +2|BANK1LEIFORTEST12345|BANK1LEIFORTEST12345LAR84pekkoEDM7W3WRZTXU4K76|20180504|2|4|2|2|1|346201|4|20180504|1234 Hocus Potato Way|Tatertown|TX|49969|48479|48479001201|2|||||QNDS4UZN6RAT9EFHPA0SA3DHTHM3RE8DYB80HTFR3UP7CL446NVI3VJ1U1W8K5VA2B|3|||||NJLU9W0GFR7G3CU262CLIDTO3UM1O3T8KRNCX4XX9N84DHZZFMOC6WO7TEVNRBTSOLTZTLU0UBQQ8WPS6J8B|1|3|7|||||OMG2KNX83NAZMSIQO3785T9A3CN66UWNI|5LH91DEXD7XGKOPE4OKAE298QNF9IZNQ19FEB4UR2CNKWIE0YXH45K9T2YJ76BNNQAN8P53Z8I2MIQSY0|YAFVVJ88RTVCZRXVGIFR87JCDBDUZ39BOHQ06XW562NXALH52WMG3J8ASQZXKPCPLE50IKFEY4|8|||||VHWJ43BTDSS15D81640228YUSZMGXYCUR8KNZ18JIFNCTFP3RLDRF3UN81GD21V0TSH1B2810B9|P550WQ3MOJ6PKQOF74JY3KUJF3S|CG9K8KRO6KN|3|4|2|4|1|3|44|36|NA|0|NA|3|2|8888|8888|9||9||10|||||NA|NA|NA|NA|NA|NA|NA|NA|NA|NA|32|2|2|2|1|NA|3|5|8|8|2|1|NA|1||||||4||||||1|1|1111 2|BANK1LEIFORTEST12345|BANK1LEIFORTEST12345KILL9L8TBXROAVB4YOYGYK873|20181201|3|31|2|2|2|50194|2|20181201|Exempt|Exempt|LA|Exempt|22019|22019001700|1|||||HXVDZ25Y4RJZRDXSJKB3XF47C1ASVY5NL25PIRBBAMI7UMM9L1IZH695GB7X8MZQ8EXK1|2|1||||HBYMFMS2FGZFQ5W1FZXAPN39JDD1L5UX411ZB99BO0OT3TCGL4I24S3E1L640KSMZUCRS4TQV499WOZBNOZJEQ2K65HS|1|1|1|5|2|4|3|86QXLVOWXJAG9RC842905JKB4XAWTNITCGWB5HQL032KX5R92F|MJFRJ84G7I1RE8C04|0VSGRH6O1V5FRA5GIB619GK85QE6RYNZTF5Q5H1XRMG88NJH9WPFRI6RHTOT54GZOJ68YMH60NPDQK2UIXHL730UGER4SB|5|||||WA12E5MTPQTI743N1ABLJL0G9VRNVJT0JHI70IPKVU7ICZFSCG6EXWHMEEWR3KBKBQ3KULD5WPKW8038MPHIPP7Z|3AE6537S6K61685I5RVBWPPV00B37N99AVMG766QYAAJKUR3ZOPSNYNQUQ3L|O7BJ4IRFNJLK3VASUR3KSEM5SW039YS3758FITFEDR|1|1|2|3|1|3|106|109|NA|0|92.92|3|1|710|687|6||8|02BE2LS64GUMIMQMMDICQ7RDXHIMBTOHSAC3FXAPU9XQFIQ4C96RY10846MJY0L59QUGDXHK6SXRA639FDO9EZZ|10|||||NA|NA|NA|NA|NA|7.07|6|NA|33|297|20|1111|1111|1111|1111|573010|3|5|3|NA|1|3|NA|2||||||10||||||1111|1|2 2|BANK1LEIFORTEST12345|BANK1LEIFORTEST12345QA3657SVHZQ677VM3K9M1I974|NA|2|32|2|2|3|51839|6|20180325|Exempt|Exempt|MD|Exempt|24021|24021750802|3|||||LQ81Z4G6HRKU7X4P92IHPGFTSLJA2O5R4SQLPIK1OBE5UEI24R6695X6W6|3|||||W2WVVEBPCWJFQUYUEYHVO94V3GKCN1I1PLZ6ZUKOERU895BSYXY05JOAEATYMO|3|3|5|3|2|1|4|ZFJVGBKW263E318M48FN3YZVN058SGEIQ6HX1SF56T9FEY6ZVLNAJ5OVDNBDFXPNAT5BFIXIVP6ZW23PU2F0|W7O1GYZL8R4YPU1KOAZ5ZAHGDAOHZMFY34YXBG0T0C8GC7ADEO7GGYYJU1IYRVLC|BKJ2KDT2UNKDGND9Q2CI6EM4QON37ILELK5R|8|||||2CSDPC2O7AQA0E3GPTKQLVG9NED7HAJUVYWU8K9AUTTWPUUL5SU273VI0OHOJZOGXTVI3UUVA7|A8AKSUW9SPEQZDHHDCW4XCQP8OP5WESLTCS8XX6ON4173Y0K5FMVM0YTFK2|RN69Y98|1|4|1|1|2|1|104|71|NA|8|NA|3|1|8888|8888|9||9||10|||||NA|NA|NA|NA|NA|22.22|NA|NA|NA|NA|13|1111|1111|1111|1111|143309|3|5|17|15|3|3|NA|6||||||17||||||1|1|1 2|BANK1LEIFORTEST12345|BANK1LEIFORTEST12345DCE6OXBJYMB6PPW2HCJZPMP65|20180723|4|4|2|2|2|220502|1|20180723|1234 Hocus Potato Way|Tatertown|AZ|48806|04019|04019002400|1|||||JWA4WQSW2WZNDVXF46V08YIKD4HZ7SD|2|1||||EG1467L0OIBN6FZ0MBFCU8X927U42Q7UJZULN03G3JNYJMMB4B1E3HUTWQCHY5M29BHFWIPFYYPVJSMYW1NU3|1|1|6|||||TOF07GGO2EKXX2IETQLVJKARK58G0I1XCLO989CT3YFVB3TMHJGBGBW8OHU7BSOXAEND4CQW6KCPK87IFU2HXEE5ZH661MW4|B2JY1ZGXQP6|4HC6LV|2|||||JAER2ZJWYWFJGZTS35HD6BE2SKYT9HA124D2ZBRP4U2L6AXA59ABET1Q2KCXMTERGALOP8W7C6EMVVS81Q1JAFDC54ERN4SLJB|DM4S96H1Y04DRNZJK7BDLOSCCBXKMUSI9KXFEJJFHDICJ6Y1CEY4N61XCQW4N5|NDTK8A817DYBPFIDP3PUABPWUI06ZBSRPU3TLBYE8KG9CZ6A1V2W10VJ0QFZ8|3|1|1|1|1|1|43|107|NA|1|66.66|2|2|784|750|7||1||10|||||NA|NA|NA|NA|NA|21.21|NA|NA|61|321|5|1111|1111|1111|1111|134382|3|5|23|8|2|2|NA|1||||||2||||||1111|1111|1 diff --git a/docs/v1/2016_Data_load.md b/docs/v1/2016_Data_load.md index b05fd76366..299c49f688 100644 --- a/docs/v1/2016_Data_load.md +++ b/docs/v1/2016_Data_load.md @@ -60,7 +60,7 @@ and Loan Application Register data, as per the [2017 Filing Instruction Guide](h By default, the loader will use `localhost` as the host where the HMDA Platform cluster is running. For remote systems, use the `HMDA_CLUSTER_HOST` environment variable. -When starting the cluster, take note of the port that Akka uses to communicate (i.e. 2551). This value needs to be set in an environment variable. +When starting the cluster, take note of the port that pekko uses to communicate (i.e. 2551). This value needs to be set in an environment variable. The persistence cluster role needs to be active, and its dependencies (`Zookeeper`, `Cassandra`) running and properly configured. ```shell @@ -75,7 +75,7 @@ This will connect to the running cluster and send the contents of each file in t ## Troubleshooting * In cases where there is no connection, make sure that the `HmdaSupervisor` and `HmdaQuerySupervisor` are receiving messages from the cluster client. Both of these actors -need to have the Cluster Receptionist enabled. For more information please consult the current Akka documentation on [Cluster Client](https://doc.akka.io/docs/akka/current/scala/cluster-client.html) +need to have the Cluster Receptionist enabled. For more information please consult the current pekko documentation on [Cluster Client](https://doc.pekko.io/docs/pekko/current/scala/cluster-client.html) * When loading large number of files, it might be necessary to increase the `hmda.persistent-actor-timeout` in the `Persistence-model` project's configuration file (or by passing the relevant runtime flag in a deployed application). diff --git a/docs/v1/README.md b/docs/v1/README.md index ed4481d07f..98b17a352b 100644 --- a/docs/v1/README.md +++ b/docs/v1/README.md @@ -8,8 +8,8 @@ For more information on HMDA, checkout the [About HMDA page](http://www.consumer This repository contains the code for the entirety of the HMDA platform backend. This platform has been designed to accommodate the needs of the HMDA filing process by financial institutions, as well as the data management and publication needs of the HMDA data asset. -The HMDA Platform uses sbt's multi-project builds, each project representing a specific task. The platform is an Akka Cluster -application that can be deployed on a single node or as a distributed application. For more information on how Akka Cluster +The HMDA Platform uses sbt's multi-project builds, each project representing a specific task. The platform is an pekko Cluster +application that can be deployed on a single node or as a distributed application. For more information on how pekko Cluster is used, see the documentation [here](Documents/cluster.md) The HMDA Platform is composed of the following modules: @@ -217,7 +217,7 @@ The Filing API will run on `$(docker-machine ip):8080` The Public API will run on `$(docker-machine ip):8082` By default, the `HDMA Platform` runs with a log level of `INFO`. This can be changed by establishing a different log level in the `HMDA_LOGLEVEL` environment variable. -For the different logging options, see the [reference.conf](https://github.com/akka/akka/blob/master/akka-actor/src/main/resources/reference.conf#L38) default configuration file for `Akka`. +For the different logging options, see the [reference.conf](https://github.com/pekko/pekko/blob/master/pekko-actor/src/main/resources/reference.conf#L38) default configuration file for `pekko`. #### API Load Testing diff --git a/email-service/src/main/resources/application.conf b/email-service/src/main/resources/application.conf index 616ae6a437..c853038f7c 100644 --- a/email-service/src/main/resources/application.conf +++ b/email-service/src/main/resources/application.conf @@ -1,39 +1,55 @@ -akka { +pekko { loglevel = info log-dead-letters = off log-dead-letters-during-shutdown = off } +kafka{ + hosts = "localhost:9092" + hosts = ${?KAFKA_CLUSTER_HOSTS} + idle-timeout = 5 + idle-timeout = ${?KAFKA_IDLE_TIMEOUT} + security.protocol="" + security.protocol=${?KAFKA_SECURITY} + // ssl.truststore.location = "" + // ssl.truststore.location = ${?TRUSTSTORE_PATH} + // ssl.truststore.password = "" + // ssl.truststore.password = ${?TRUSTSTORE_PASSWORD} + // ssl.endpoint = "" + // ssl.endpoint = ${?KAFKA_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG} + sasl.mechanism="AWS_MSK_IAM" + //sasl.mechanism=${?KAFKA_SASL_MECHANISM} + sasl.jaas.config="software.amazon.msk.auth.iam.IAMLoginModule required;" + //sasl.jaas.config="{?KAFKA_SASL_JAAS_CONFIG}" + sasl.client.callback.handler.class="software.amazon.msk.auth.iam.IAMClientCallbackHandler" + //sasl.client.callback.handler.class="{?KAFKA_SASL_CLASS}" -kafka { - hosts = "localhost:9092" - hosts = ${?KAFKA_CLUSTER_HOSTS} - idle-timeout = 5 - idle-timeout = ${?KAFKA_IDLE_TIMEOUT} - security.protocol="" - security.protocol=${?KAFKA_SECURITY} - // ssl.truststore.location = "" - // ssl.truststore.location = ${?TRUSTSTORE_PATH} - // ssl.truststore.password = "" - // ssl.truststore.password = ${?TRUSTSTORE_PASSWORD} - // ssl.endpoint = "" - // ssl.endpoint = ${?KAFKA_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG} - sasl.mechanism="AWS_MSK_IAM" - //sasl.mechanism=${?KAFKA_SASL_MECHANISM} - sasl.jaas.config="software.amazon.msk.auth.iam.IAMLoginModule required;" - //sasl.jaas.config="{?KAFKA_SASL_JAAS_CONFIG}" - sasl.client.callback.handler.class="software.amazon.msk.auth.iam.IAMClientCallbackHandler" - //sasl.client.callback.handler.class="{?KAFKA_SASL_CLASS}" + group-id = "email-consumer" + group-id = ${?KAFKA_EMAIL_CONSUMER_GROUP_ID} - group-id = "email-consumer" - group-id = ${?KAFKA_EMAIL_CONSUMER_GROUP_ID} + committer { + # Maximum number of messages in a single commit batch + max-batch = 30 + + # Maximum interval between commits + max-interval = 1 - commit { + # Parallelsim for async committing parallelism = 2 - max-batch = 30 - max-interval = 1.second + + # API may change. + # Delivery of commits to the internal actor + # WaitForAck: Expect replies for commits, and backpressure the stream if replies do not arrive. + # SendAndForget: Send off commits to the internal actor without expecting replies (experimental feature since Alpakka Kafka 1.1) delivery = WaitForAck + + # API may change. + # Controls when a `Committable` message is queued to be committed. + # OffsetFirstObserved: When the offset of a message has been successfully produced. + # NextOffsetObserved: When the next offset is observed. + when = OffsetFirstObserved } + } aws { diff --git a/email-service/src/main/scala/hmda/publication/lar/EmailGuardian.scala b/email-service/src/main/scala/hmda/publication/lar/EmailGuardian.scala index c8f74239b8..6641a4ad87 100644 --- a/email-service/src/main/scala/hmda/publication/lar/EmailGuardian.scala +++ b/email-service/src/main/scala/hmda/publication/lar/EmailGuardian.scala @@ -1,12 +1,12 @@ package hmda.publication.lar -import akka.actor.typed.Behavior -import akka.actor.typed.scaladsl._ -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.{ ActorSystem => UntypedActorSystem } -import akka.kafka.CommitterSettings -import akka.stream.{ ActorMaterializer, Materializer } -import akka.stream.scaladsl.Keep +import org.apache.pekko.actor.typed.Behavior +import org.apache.pekko.actor.typed.scaladsl._ +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.{ ActorSystem => UntypedActorSystem } +import org.apache.pekko.kafka.CommitterSettings +import org.apache.pekko.stream.{ ActorMaterializer, Materializer } +import org.apache.pekko.stream.scaladsl.Keep import com.amazonaws.regions.Regions import com.amazonaws.services.simpleemail.{ AmazonSimpleEmailService, AmazonSimpleEmailServiceClientBuilder } import hmda.publication.lar.config.Settings diff --git a/email-service/src/main/scala/hmda/publication/lar/EmailReceiptApp.scala b/email-service/src/main/scala/hmda/publication/lar/EmailReceiptApp.scala index 28dce6e387..12442fb806 100644 --- a/email-service/src/main/scala/hmda/publication/lar/EmailReceiptApp.scala +++ b/email-service/src/main/scala/hmda/publication/lar/EmailReceiptApp.scala @@ -1,6 +1,6 @@ package hmda.publication.lar -import akka.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.ActorSystem import hmda.publication.lar.EmailGuardian.GuardianProtocol object EmailReceiptApp { diff --git a/email-service/src/main/scala/hmda/publication/lar/config/Settings.scala b/email-service/src/main/scala/hmda/publication/lar/config/Settings.scala index d29c9e25c1..cb7b6ffd96 100644 --- a/email-service/src/main/scala/hmda/publication/lar/config/Settings.scala +++ b/email-service/src/main/scala/hmda/publication/lar/config/Settings.scala @@ -1,6 +1,6 @@ package hmda.publication.lar.config -import akka.actor.{ActorSystem => UntypedActorSystem} +import org.apache.pekko.actor.{ActorSystem => UntypedActorSystem} import com.typesafe.config.Config import hmda.util.BankFilterUtils._ @@ -23,7 +23,7 @@ class Settings(config: Config) { object kafka { val bootstrapServers: String = config.getString("kafka.hosts") - val commitSettings: Config = config.getConfig("kafka.commit") + val commitSettings: Config = config.getConfig("kafka.committer") } object client { diff --git a/email-service/src/main/scala/hmda/publication/lar/streams/AdminStream.scala b/email-service/src/main/scala/hmda/publication/lar/streams/AdminStream.scala index a7d0c5e839..a5555e6f6a 100644 --- a/email-service/src/main/scala/hmda/publication/lar/streams/AdminStream.scala +++ b/email-service/src/main/scala/hmda/publication/lar/streams/AdminStream.scala @@ -1,11 +1,11 @@ package hmda.publication.lar.streams -import akka.actor.ActorSystem -import akka.kafka.ConsumerMessage.{CommittableMessage, CommittableOffset} -import akka.kafka.scaladsl._ -import akka.kafka.{CommitterSettings, ConsumerSettings, Subscriptions} -import akka.stream.scaladsl._ -import akka.{Done, NotUsed} +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.kafka.ConsumerMessage.{CommittableMessage, CommittableOffset} +import org.apache.pekko.kafka.scaladsl._ +import org.apache.pekko.kafka.{CommitterSettings, ConsumerSettings, Subscriptions} +import org.apache.pekko.stream.scaladsl._ +import org.apache.pekko.{Done, NotUsed} import cats.implicits._ import hmda.messages.pubsub.{HmdaGroups, HmdaTopics} import hmda.publication.lar.email.{Email, EmailService} diff --git a/email-service/src/main/scala/hmda/publication/lar/streams/SubmissionStream.scala b/email-service/src/main/scala/hmda/publication/lar/streams/SubmissionStream.scala index 960e47d518..eb32fc7b79 100644 --- a/email-service/src/main/scala/hmda/publication/lar/streams/SubmissionStream.scala +++ b/email-service/src/main/scala/hmda/publication/lar/streams/SubmissionStream.scala @@ -2,12 +2,12 @@ package hmda.publication.lar.streams import java.text.SimpleDateFormat -import akka.actor.ActorSystem -import akka.kafka.ConsumerMessage.{CommittableMessage, CommittableOffset} -import akka.kafka.scaladsl._ -import akka.kafka.{CommitterSettings, ConsumerSettings, Subscriptions} -import akka.stream.scaladsl._ -import akka.{Done, NotUsed} +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.kafka.ConsumerMessage.{CommittableMessage, CommittableOffset} +import org.apache.pekko.kafka.scaladsl._ +import org.apache.pekko.kafka.{CommitterSettings, ConsumerSettings, Subscriptions} +import org.apache.pekko.stream.scaladsl._ +import org.apache.pekko.{Done, NotUsed} import cats.implicits._ import hmda.messages.pubsub.{HmdaGroups, HmdaTopics} import hmda.model.filing.submission.{Submission, SubmissionId} diff --git a/file-proxy/src/main/resources/application.conf b/file-proxy/src/main/resources/application.conf index 99fb293c6a..bdf3d00925 100644 --- a/file-proxy/src/main/resources/application.conf +++ b/file-proxy/src/main/resources/application.conf @@ -1,16 +1,16 @@ -akka { +pekko { log-level = INFO http.server.preview.enable-http2 = on } -akka.http.parsing { +pekko.http.parsing { max-to-strict-bytes = 20m } -akka.http.server.parsing { +pekko.http.server.parsing { max-content-length = 20m } -akka.http.server.request-timeout = 4888888 seconds +pekko.http.server.request-timeout = 4888888 seconds hmda { publication { diff --git a/file-proxy/src/main/scala/hmda/uli/FileProxy.scala b/file-proxy/src/main/scala/hmda/uli/FileProxy.scala index 14d58c01bd..e0de575e8b 100644 --- a/file-proxy/src/main/scala/hmda/uli/FileProxy.scala +++ b/file-proxy/src/main/scala/hmda/uli/FileProxy.scala @@ -1,10 +1,10 @@ package hmda.proxy -import akka.actor.typed.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.{ActorSystem => ClassicActorSystem} -import akka.stream.Materializer -import akka.util.Timeout +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.{ActorSystem => ClassicActorSystem} +import org.apache.pekko.stream.Materializer +import org.apache.pekko.util.Timeout import scala.concurrent.ExecutionContext import hmda.proxy.api.http.HmdaProxyApi import org.slf4j.LoggerFactory diff --git a/file-proxy/src/main/scala/hmda/uli/api/http/HmdaProxyApi.scala b/file-proxy/src/main/scala/hmda/uli/api/http/HmdaProxyApi.scala index a7a4aecc11..9f47353259 100644 --- a/file-proxy/src/main/scala/hmda/uli/api/http/HmdaProxyApi.scala +++ b/file-proxy/src/main/scala/hmda/uli/api/http/HmdaProxyApi.scala @@ -1,14 +1,14 @@ package hmda.proxy.api.http -import akka.actor.typed.Behavior -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.{ ActorSystem, CoordinatedShutdown } -import akka.http.scaladsl.server.Directives._ +import org.apache.pekko.actor.typed.Behavior +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.{ ActorSystem, CoordinatedShutdown } +import org.apache.pekko.http.scaladsl.server.Directives._ import hmda.api.http.routes.BaseHttpApi import hmda.api.http.directives.HmdaTimeDirectives._ import hmda.auth.OAuth2Authorization -import akka.util.Timeout +import org.apache.pekko.util.Timeout import scala.concurrent.ExecutionContext import scala.concurrent.duration._ diff --git a/file-proxy/src/main/scala/hmda/uli/api/http/ProxyHttpApi.scala b/file-proxy/src/main/scala/hmda/uli/api/http/ProxyHttpApi.scala index 53634de985..08b17ca745 100644 --- a/file-proxy/src/main/scala/hmda/uli/api/http/ProxyHttpApi.scala +++ b/file-proxy/src/main/scala/hmda/uli/api/http/ProxyHttpApi.scala @@ -1,35 +1,35 @@ package hmda.proxy.api.http -import akka.NotUsed -import akka.http.scaladsl.model.{ HttpEntity, StatusCodes } -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.directives.RouteDirectives.complete -import akka.http.scaladsl.server.{ Directive, Directive0 } -import akka.http.scaladsl.server.Route -import akka.util.ByteString -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.NotUsed +import org.apache.pekko.http.scaladsl.model.{ HttpEntity, StatusCodes } +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.directives.RouteDirectives.complete +import org.apache.pekko.http.scaladsl.server.{ Directive, Directive0 } +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.util.ByteString +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import io.circe.generic.auto._ import org.slf4j.Logger -import akka.stream.alpakka.s3.scaladsl.S3 -import akka.stream.scaladsl.{ Sink, Source } +import org.apache.pekko.stream.connectors.s3.scaladsl.S3 +import org.apache.pekko.stream.scaladsl.{ Sink, Source } import scala.concurrent.Future -import akka.stream.alpakka.s3._ +import org.apache.pekko.stream.connectors.s3._ import com.typesafe.config.ConfigFactory import software.amazon.awssdk.auth.credentials.{ AwsBasicCredentials, StaticCredentialsProvider } import software.amazon.awssdk.regions.Region import software.amazon.awssdk.regions.providers.AwsRegionProvider import software.amazon.awssdk.regions.providers._ -import akka.stream.alpakka.s3.ApiVersion.ListBucketVersion2 -import akka.actor.ActorSystem +import org.apache.pekko.stream.connectors.s3.ApiVersion.ListBucketVersion2 +import org.apache.pekko.actor.ActorSystem import scala.concurrent._ -import akka.http.scaladsl.model.ContentTypes +import org.apache.pekko.http.scaladsl.model.ContentTypes import scala.util.{ Failure, Success, Try } -import akka.http.scaladsl.model.StatusCodes.BadRequest +import org.apache.pekko.http.scaladsl.model.StatusCodes.BadRequest import hmda.auth.OAuth2Authorization -import akka.util.Timeout +import org.apache.pekko.util.Timeout import hmda.util.RealTimeConfig import scala.concurrent.duration._ diff --git a/hmda-analytics/src/main/resources/application.conf b/hmda-analytics/src/main/resources/application.conf index 8f6e5ee3b3..f7bae169ed 100644 --- a/hmda-analytics/src/main/resources/application.conf +++ b/hmda-analytics/src/main/resources/application.conf @@ -5,7 +5,7 @@ # AWS Keyspace with SigV4AuthProvider # include "persistence-keyspace-sigv4.conf" -akka { +pekko { loglevel = info log-dead-letters = off log-dead-letters-during-shutdown = off diff --git a/hmda-analytics/src/main/scala/hmda/analytics/HmdaAnalyticsApp.scala b/hmda-analytics/src/main/scala/hmda/analytics/HmdaAnalyticsApp.scala index b4d8bd216e..2f0c54b395 100644 --- a/hmda-analytics/src/main/scala/hmda/analytics/HmdaAnalyticsApp.scala +++ b/hmda-analytics/src/main/scala/hmda/analytics/HmdaAnalyticsApp.scala @@ -1,14 +1,14 @@ package hmda.analytics -import akka.Done -import akka.actor.{ActorSystem, typed} -import akka.actor.typed.scaladsl.adapter._ -import akka.kafka.scaladsl.Consumer.DrainingControl -import akka.kafka.scaladsl.{Committer, Consumer} -import akka.kafka.{CommitterSettings, ConsumerSettings, Subscriptions} -import akka.stream.Materializer -import akka.stream.scaladsl.{Keep, Sink, Source} -import akka.util.{ByteString, Timeout} +import org.apache.pekko.Done +import org.apache.pekko.actor.{ActorSystem, typed} +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.kafka.scaladsl.Consumer.DrainingControl +import org.apache.pekko.kafka.scaladsl.{Committer, Consumer} +import org.apache.pekko.kafka.{CommitterSettings, ConsumerSettings, Subscriptions} +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{Keep, Sink, Source} +import org.apache.pekko.util.{ByteString, Timeout} import com.typesafe.config.ConfigFactory import hmda.analytics.query._ import hmda.messages.HmdaMessageFilter @@ -52,9 +52,9 @@ object HmdaAnalyticsApp extends App with TransmittalSheetComponent with LarCompo implicit val materializer: Materializer = Materializer(system) implicit val ec: ExecutionContextExecutor = system.dispatcher - implicit val timeout: Timeout = Timeout(5.seconds) + implicit val timeout: Timeout = Timeout(10.seconds) - val kafkaConfig = system.settings.config.getConfig("akka.kafka.consumer") + val kafkaConfig = system.settings.config.getConfig("pekko.kafka.consumer") val config = ConfigFactory.load() val parallelism = config.getInt("hmda.analytics.parallelism") val larDeletion = config.getBoolean("hmda.analytics.larDeletion") @@ -114,7 +114,9 @@ object HmdaAnalyticsApp extends App with TransmittalSheetComponent with LarCompo processData(msg.record.value()).map(_ => msg.committableOffset) }) .toMat(Committer.sink(CommitterSettings(system).withParallelism(2)))(Keep.both) - .mapMaterializedValue(DrainingControl.apply) + .mapMaterializedValue { + case (control, future) => DrainingControl.apply(control, future) + } .run() def processData(msg: String): Future[Done] = @@ -305,7 +307,7 @@ object HmdaAnalyticsApp extends App with TransmittalSheetComponent with LarCompo result.recover { case t: Throwable => log.error("Error happened in inserting: ", t) - akka.Done.done() + Done.done() } } diff --git a/hmda-analytics/src/test/resources/application.conf b/hmda-analytics/src/test/resources/application.conf index 3db78717c2..ee58989b33 100644 --- a/hmda-analytics/src/test/resources/application.conf +++ b/hmda-analytics/src/test/resources/application.conf @@ -1,4 +1,4 @@ -akka { +pekko { stdout-loglevel = OFF loglevel = OFF } diff --git a/hmda-analytics/src/test/scala/hmda/analytics/query/TransmittalSheetSetup.scala b/hmda-analytics/src/test/scala/hmda/analytics/query/TransmittalSheetSetup.scala index 5174847b17..603833dbb3 100644 --- a/hmda-analytics/src/test/scala/hmda/analytics/query/TransmittalSheetSetup.scala +++ b/hmda-analytics/src/test/scala/hmda/analytics/query/TransmittalSheetSetup.scala @@ -16,7 +16,7 @@ trait TransmittalSheetSetup extends TransmittalSheetComponent { new TransmittalSheetRepository(dbConfig, "transmittalsheet2019") val db = transmittalSheetRepository.db - val duration = 5.seconds + val duration = 30.seconds val ts0 = TransmittalSheetConverter(tsGen.sample .getOrElse(TransmittalSheet()) diff --git a/hmda-auth/src/main/resources/application.conf b/hmda-auth/src/main/resources/application.conf index 6d4b50d42f..cf2b99c324 100644 --- a/hmda-auth/src/main/resources/application.conf +++ b/hmda-auth/src/main/resources/application.conf @@ -1,16 +1,16 @@ -akka { +pekko { log-level = INFO http.server.preview.enable-http2 = on } -akka.http.parsing { +pekko.http.parsing { max-to-strict-bytes = 20m } -akka.http.server.parsing { +pekko.http.server.parsing { max-content-length = 20m } -akka.http.server.request-timeout = 4888888 seconds +pekko.http.server.request-timeout = 4888888 seconds hmda { auth { diff --git a/hmda-auth/src/main/scala/HmdaAuth.scala b/hmda-auth/src/main/scala/HmdaAuth.scala index 7218170f3c..3c5c331cad 100644 --- a/hmda-auth/src/main/scala/HmdaAuth.scala +++ b/hmda-auth/src/main/scala/HmdaAuth.scala @@ -1,9 +1,9 @@ package hmda.authService -import akka.actor.typed.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.{ActorSystem => ClassicActorSystem} -import akka.stream.Materializer +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.{ActorSystem => ClassicActorSystem} +import org.apache.pekko.stream.Materializer import scala.concurrent.ExecutionContext import hmda.authService.api.HmdaAuthApi import org.slf4j.LoggerFactory diff --git a/hmda-auth/src/main/scala/api/AuthHttpApi.scala b/hmda-auth/src/main/scala/api/AuthHttpApi.scala index dcf7c38425..64578d517d 100644 --- a/hmda-auth/src/main/scala/api/AuthHttpApi.scala +++ b/hmda-auth/src/main/scala/api/AuthHttpApi.scala @@ -1,12 +1,12 @@ package hmda.authService.api -import akka.http.scaladsl.marshalling.ToResponseMarshallable -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.model.StatusCodes.BadRequest -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.directives.RouteDirectives.complete -import akka.http.scaladsl.server.Route -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.http.scaladsl.marshalling.ToResponseMarshallable +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.model.StatusCodes.BadRequest +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.directives.RouteDirectives.complete +import org.apache.pekko.http.scaladsl.server.Route +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import io.circe.generic.auto._ import org.slf4j.Logger diff --git a/hmda-auth/src/main/scala/api/HmdaAuthApi.scala b/hmda-auth/src/main/scala/api/HmdaAuthApi.scala index d50b0df5b7..3b96ec9d13 100644 --- a/hmda-auth/src/main/scala/api/HmdaAuthApi.scala +++ b/hmda-auth/src/main/scala/api/HmdaAuthApi.scala @@ -1,14 +1,14 @@ package hmda.authService.api -import akka.actor.typed.Behavior -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.{ ActorSystem, CoordinatedShutdown } -import akka.http.scaladsl.server.Directives._ +import org.apache.pekko.actor.typed.Behavior +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.{ ActorSystem, CoordinatedShutdown } +import org.apache.pekko.http.scaladsl.server.Directives._ import hmda.api.http.routes.BaseHttpApi import hmda.api.http.directives.HmdaTimeDirectives._ import hmda.auth.OAuth2Authorization -import akka.util.Timeout +import org.apache.pekko.util.Timeout import scala.concurrent.ExecutionContext import scala.concurrent.duration._ diff --git a/hmda-dashboard/src/main/resources/application.conf b/hmda-dashboard/src/main/resources/application.conf index 7372aedcf4..330a807258 100644 --- a/hmda-dashboard/src/main/resources/application.conf +++ b/hmda-dashboard/src/main/resources/application.conf @@ -1,14 +1,14 @@ include "cors.conf" -akka { +pekko { loglevel = info log-dead-letters = off log-dead-letters-during-shutdown = off } -akka.http.server.request-timeout = infinite -akka.http.server.idle-timeout = 500 seconds -akka.http.host-connection-pool.idle-timeout = 500 seconds +pekko.http.server.request-timeout = infinite +pekko.http.server.idle-timeout = 500 seconds +pekko.http.host-connection-pool.idle-timeout = 500 seconds filter { bank-filter-list="BANK1LEIFORTEST12345,BANK3LEIFORTEST12345,BANK4LEIFORTEST12345,999999LE3ZOZXUS7W648,28133080042813308004,B90YWS6AFX2LGWOXJ1LD" diff --git a/hmda-dashboard/src/main/resources/cors.conf b/hmda-dashboard/src/main/resources/cors.conf index df754817d2..c2f487352a 100644 --- a/hmda-dashboard/src/main/resources/cors.conf +++ b/hmda-dashboard/src/main/resources/cors.conf @@ -1,3 +1,3 @@ -akka-http-cors { +pekko-http-cors { allowed-methods = ["GET"] } diff --git a/hmda-dashboard/src/main/scala/hmda/dashboard/HmdaDashboard.scala b/hmda-dashboard/src/main/scala/hmda/dashboard/HmdaDashboard.scala index 6070056c81..9f8f0a37e8 100644 --- a/hmda-dashboard/src/main/scala/hmda/dashboard/HmdaDashboard.scala +++ b/hmda-dashboard/src/main/scala/hmda/dashboard/HmdaDashboard.scala @@ -1,6 +1,6 @@ package hmda.dashboard -import akka.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.ActorSystem import hmda.dashboard.api.HmdaDashboardApi import org.slf4j.LoggerFactory diff --git a/hmda-dashboard/src/main/scala/hmda/dashboard/api/DashboardDirectives.scala b/hmda-dashboard/src/main/scala/hmda/dashboard/api/DashboardDirectives.scala index 73ba7bbe5a..d4151fdbdf 100644 --- a/hmda-dashboard/src/main/scala/hmda/dashboard/api/DashboardDirectives.scala +++ b/hmda-dashboard/src/main/scala/hmda/dashboard/api/DashboardDirectives.scala @@ -1,9 +1,9 @@ package hmda.dashboard.api -import akka.http.scaladsl.model.StatusCodes.BadRequest -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server._ -import akka.http.scaladsl.server.directives.RouteDirectives.complete +import org.apache.pekko.http.scaladsl.model.StatusCodes.BadRequest +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server._ +import org.apache.pekko.http.scaladsl.server.directives.RouteDirectives.complete import hmda.dashboard.Settings import hmda.dashboard.models._ @@ -13,7 +13,7 @@ trait DashboardDirectives extends Settings { private def extractDatetime: Directive1[String] = parameters("late_date" ).flatMap { case "" => - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, "must provide late_date")) case x => provide(x) @@ -24,7 +24,7 @@ trait DashboardDirectives extends Settings { if (datetime.nonEmpty) innerRoute(datetime) else { - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ complete((BadRequest, ProvideDatetime())) } } diff --git a/hmda-dashboard/src/main/scala/hmda/dashboard/api/HmdaDashboardApi.scala b/hmda-dashboard/src/main/scala/hmda/dashboard/api/HmdaDashboardApi.scala index 98973c0dc5..a775af043c 100644 --- a/hmda-dashboard/src/main/scala/hmda/dashboard/api/HmdaDashboardApi.scala +++ b/hmda-dashboard/src/main/scala/hmda/dashboard/api/HmdaDashboardApi.scala @@ -1,11 +1,11 @@ package hmda.dashboard.api -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.typed.{ActorSystem, Behavior} -import akka.actor.{CoordinatedShutdown, ActorSystem => ClassicActorSystem} -import akka.stream.Materializer +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.typed.{ActorSystem, Behavior} +import org.apache.pekko.actor.{CoordinatedShutdown, ActorSystem => ClassicActorSystem} +import org.apache.pekko.stream.Materializer import hmda.api.http.directives.HmdaTimeDirectives._ import hmda.api.http.routes.BaseHttpApi import hmda.auth.OAuth2Authorization diff --git a/hmda-dashboard/src/main/scala/hmda/dashboard/api/HmdaDashboardHttpApi.scala b/hmda-dashboard/src/main/scala/hmda/dashboard/api/HmdaDashboardHttpApi.scala index 495e54037f..975756fee2 100644 --- a/hmda-dashboard/src/main/scala/hmda/dashboard/api/HmdaDashboardHttpApi.scala +++ b/hmda-dashboard/src/main/scala/hmda/dashboard/api/HmdaDashboardHttpApi.scala @@ -1,12 +1,12 @@ package hmda.dashboard.api -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.http.scaladsl.server.directives.RouteDirectives.complete -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.directives.RouteDirectives.complete +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} import com.typesafe.config.{Config, ConfigFactory} -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.auth.OAuth2Authorization import hmda.dashboard.api.DashboardDirectives._ import hmda.dashboard.models.HealthCheckStatus.Up diff --git a/hmda-data-publisher/src/main/resources/application.conf b/hmda-data-publisher/src/main/resources/application.conf index fcf9abc83a..9190ba10a8 100644 --- a/hmda-data-publisher/src/main/resources/application.conf +++ b/hmda-data-publisher/src/main/resources/application.conf @@ -1,4 +1,4 @@ -akka { +pekko { log-level = INFO http.server.preview.enable-http2 = on http.server.request-timeout=20800s diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/HmdaDataPublisherApp.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/HmdaDataPublisherApp.scala index 1b81324e13..61a85d2ea1 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/HmdaDataPublisherApp.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/HmdaDataPublisherApp.scala @@ -1,7 +1,7 @@ package hmda.publisher -import akka.actor.typed.scaladsl.adapter.ClassicActorSystemOps -import akka.actor.{ ActorSystem, Props } +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorSystemOps +import org.apache.pekko.actor.{ ActorSystem, Props } import hmda.publisher.api.HmdaDataPublisherApi import hmda.publisher.helper.PGTableNameLoader import hmda.publisher.scheduler._ @@ -40,7 +40,7 @@ object HmdaDataPublisherApp extends App with PGTableNameLoader { /** * Only 1 scheduler should be created * QuartzSchedulerExtension in the current version is not thread safe, look into updating dep - * https://github.com/enragedginger/akka-quartz-scheduler/issues/33 + * https://github.com/enragedginger/pekko-quartz-scheduler/issues/33 * */ private val scheduleCoordinator = actorSystem.spawn(ScheduleCoordinator.behaviors, "ScheduleCoordinator") diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/api/DataPublisherHttpApi.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/api/DataPublisherHttpApi.scala index 2220555ae6..ac6dbc99d9 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/api/DataPublisherHttpApi.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/api/DataPublisherHttpApi.scala @@ -1,10 +1,10 @@ package hmda.publisher.api -import akka.http.scaladsl.model.headers.RawHeader -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.http.scaladsl.model.headers.RawHeader +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.publisher.scheduler.AllSchedulers import hmda.publisher.scheduler.schedules.{ Schedule, ScheduleWithYear, Schedules } diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/api/HmdaDataPublisherApi.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/api/HmdaDataPublisherApi.scala index abbd6bbecf..8dfd9dcd5c 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/api/HmdaDataPublisherApi.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/api/HmdaDataPublisherApi.scala @@ -1,10 +1,10 @@ package hmda.publisher.api -import akka.actor.typed.Behavior -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.{ActorSystem, CoordinatedShutdown} -import akka.http.scaladsl.server.Directives._ +import org.apache.pekko.actor.typed.Behavior +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.{ActorSystem, CoordinatedShutdown} +import org.apache.pekko.http.scaladsl.server.Directives._ import hmda.api.http.directives.HmdaTimeDirectives._ import hmda.api.http.routes.BaseHttpApi import hmda.publisher.scheduler.AllSchedulers diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/helper/CronConfigLoader.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/helper/CronConfigLoader.scala index 6eefdb95de..5626c44d57 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/helper/CronConfigLoader.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/helper/CronConfigLoader.scala @@ -9,7 +9,7 @@ import scala.concurrent.duration._ object CronConfigLoader { private val log = LoggerFactory.getLogger(getClass) - private val dynamicQuartzScheduleConfig: Config = ConfigFactory.load().getConfig("akka.quartz.dynamic") + private val dynamicQuartzScheduleConfig: Config = ConfigFactory.load().getConfig("pekko.quartz.dynamic") val larPublicCron: String = dynamicQuartzScheduleConfig.getString("LarPublicSchedule.expression") val larPublicYears: Seq[Int] = dynamicQuartzScheduleConfig.getString("LarPublicSchedule.years").split(",").map(s => s.toInt) val larCron: String = dynamicQuartzScheduleConfig.getString("LarSchedule.expression") diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/helper/S3Archiver.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/helper/S3Archiver.scala index 31f249364b..bf1a2bd304 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/helper/S3Archiver.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/helper/S3Archiver.scala @@ -2,10 +2,10 @@ package hmda.publisher.helper // $COVERAGE-OFF$ import java.time.Instant -import akka.stream.Materializer -import akka.stream.alpakka.s3.{ S3Attributes, S3Settings } -import akka.stream.alpakka.s3.scaladsl.S3 -import akka.stream.scaladsl.Sink +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.connectors.s3.{ S3Attributes, S3Settings } +import org.apache.pekko.stream.connectors.s3.scaladsl.S3 +import org.apache.pekko.stream.scaladsl.Sink import com.typesafe.scalalogging.LazyLogging import scala.concurrent.{ ExecutionContext, Future } diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/helper/S3Utils.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/helper/S3Utils.scala index 7d515365d2..dd729415e8 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/helper/S3Utils.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/helper/S3Utils.scala @@ -1,10 +1,10 @@ package hmda.publisher.helper -import akka.NotUsed -import akka.stream.Materializer -import akka.stream.alpakka.s3.MultipartUploadResult -import akka.stream.scaladsl.{ Sink, Source } -import akka.util.ByteString +import org.apache.pekko.NotUsed +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.connectors.s3.MultipartUploadResult +import org.apache.pekko.stream.scaladsl.{ Sink, Source } +import org.apache.pekko.util.ByteString import scala.concurrent.duration.DurationInt import scala.concurrent.{ ExecutionContext, Future } diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/qa/QAFilePersistor.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/qa/QAFilePersistor.scala index e880be9f7c..115d5a3afc 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/qa/QAFilePersistor.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/qa/QAFilePersistor.scala @@ -1,11 +1,11 @@ package hmda.publisher.qa -import akka.NotUsed -import akka.stream.Materializer -import akka.stream.alpakka.s3.S3Attributes -import akka.stream.alpakka.s3.scaladsl.S3 -import akka.stream.scaladsl.{ Framing, Source } -import akka.util.ByteString +import org.apache.pekko.NotUsed +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.connectors.s3.S3Attributes +import org.apache.pekko.stream.connectors.s3.scaladsl.S3 +import org.apache.pekko.stream.scaladsl.{ Framing, Source } +import org.apache.pekko.util.ByteString import cats.instances.future._ import cats.syntax.all._ import com.typesafe.scalalogging.StrictLogging diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/qa/QAFileSpec.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/qa/QAFileSpec.scala index 4d673e98aa..ddbb3daf6b 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/qa/QAFileSpec.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/qa/QAFileSpec.scala @@ -1,6 +1,6 @@ package hmda.publisher.qa -import akka.stream.alpakka.s3.S3Settings +import org.apache.pekko.stream.connectors.s3.S3Settings case class QAFileSpec[T]( bucket: String, diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/AllSchedulers.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/AllSchedulers.scala index 49d366c81d..62791e3311 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/AllSchedulers.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/AllSchedulers.scala @@ -1,6 +1,6 @@ package hmda.publisher.scheduler -import akka.actor.ActorRef +import org.apache.pekko.actor.ActorRef // $COVERAGE-OFF$ case class AllSchedulers( combinedMLarPublicScheduler: ActorRef, diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/CombinedMLarPublicScheduler.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/CombinedMLarPublicScheduler.scala index d469b9734e..f6ee194399 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/CombinedMLarPublicScheduler.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/CombinedMLarPublicScheduler.scala @@ -1,14 +1,14 @@ package hmda.publisher.scheduler -import akka.actor.typed.ActorRef -import akka.stream.Materializer -import akka.stream.alpakka.file.ArchiveMetadata -import akka.stream.alpakka.file.scaladsl.Archive -import akka.stream.alpakka.s3.ApiVersion.ListBucketVersion2 -import akka.stream.alpakka.s3._ -import akka.stream.alpakka.s3.scaladsl.S3 -import akka.stream.scaladsl.Source -import akka.util.ByteString +import org.apache.pekko.actor.typed.ActorRef +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.connectors.file.ArchiveMetadata +import org.apache.pekko.stream.connectors.file.scaladsl.Archive +import org.apache.pekko.stream.connectors.s3.ApiVersion.ListBucketVersion2 +import org.apache.pekko.stream.connectors.s3._ +import org.apache.pekko.stream.connectors.s3.scaladsl.S3 +import org.apache.pekko.stream.scaladsl.Source +import org.apache.pekko.util.ByteString import hmda.actor.HmdaActor import hmda.publisher.helper.CronConfigLoader.{CronString, combinedMlarCron, combinedMlarYears} import hmda.publisher.helper._ diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/LarPublicScheduler.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/LarPublicScheduler.scala index 2c2cb091f9..92f09caf09 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/LarPublicScheduler.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/LarPublicScheduler.scala @@ -1,15 +1,15 @@ package hmda.publisher.scheduler import java.time.Instant -import akka.actor.typed.ActorRef -import akka.stream.Materializer -import akka.stream.alpakka.file.ArchiveMetadata -import akka.stream.alpakka.file.scaladsl.Archive -import akka.stream.alpakka.s3.ApiVersion.ListBucketVersion2 -import akka.stream.alpakka.s3._ -import akka.stream.alpakka.s3.scaladsl.S3 -import akka.stream.scaladsl.Source -import akka.util.ByteString +import org.apache.pekko.actor.typed.ActorRef +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.connectors.file.ArchiveMetadata +import org.apache.pekko.stream.connectors.file.scaladsl.Archive +import org.apache.pekko.stream.connectors.s3.ApiVersion.ListBucketVersion2 +import org.apache.pekko.stream.connectors.s3._ +import org.apache.pekko.stream.connectors.s3.scaladsl.S3 +import org.apache.pekko.stream.scaladsl.Source +import org.apache.pekko.util.ByteString import hmda.actor.HmdaActor import hmda.publisher.helper.CronConfigLoader.{ CronString, larPublicCron, larPublicYears } import hmda.publisher.helper._ diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/LarScheduler.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/LarScheduler.scala index 8e3762138f..8ee05129f0 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/LarScheduler.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/LarScheduler.scala @@ -1,13 +1,13 @@ package hmda.publisher.scheduler -import akka.NotUsed -import akka.actor.typed.ActorRef -import akka.stream.Materializer -import akka.stream.alpakka.s3.ApiVersion.ListBucketVersion2 -import akka.stream.alpakka.s3.scaladsl.S3 -import akka.stream.alpakka.s3.{MemoryBufferType, MetaHeaders, S3Attributes, S3Settings} -import akka.stream.scaladsl.Source -import akka.util.ByteString +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.ActorRef +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.connectors.s3.ApiVersion.ListBucketVersion2 +import org.apache.pekko.stream.connectors.s3.scaladsl.S3 +import org.apache.pekko.stream.connectors.s3.{MemoryBufferType, MetaHeaders, S3Attributes, S3Settings} +import org.apache.pekko.stream.scaladsl.Source +import org.apache.pekko.util.ByteString import hmda.actor.HmdaActor import hmda.census.records.CensusRecords import hmda.model.census.Census diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/PanelScheduler.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/PanelScheduler.scala index 5f5cb193b9..9487bfa72b 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/PanelScheduler.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/PanelScheduler.scala @@ -3,13 +3,13 @@ package hmda.publisher.scheduler import java.time.LocalDateTime import java.time.Instant import java.time.format.DateTimeFormatter -import akka.actor.typed.ActorRef -import akka.stream.Materializer -import akka.stream.alpakka.s3.ApiVersion.ListBucketVersion2 -import akka.stream.alpakka.s3.scaladsl.S3 -import akka.stream.alpakka.s3.{MemoryBufferType, MultipartUploadResult, S3Attributes, S3Settings} -import akka.stream.scaladsl.Source -import akka.util.ByteString +import org.apache.pekko.actor.typed.ActorRef +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.connectors.s3.ApiVersion.ListBucketVersion2 +import org.apache.pekko.stream.connectors.s3.scaladsl.S3 +import org.apache.pekko.stream.connectors.s3.{MemoryBufferType, MultipartUploadResult, S3Attributes, S3Settings} +import org.apache.pekko.stream.scaladsl.Source +import org.apache.pekko.util.ByteString import com.typesafe.config.ConfigFactory import hmda.actor.HmdaActor import hmda.publisher.helper.CronConfigLoader.{CronString, panelCron, panelYears, specificPanelCron, specificPanelYears} diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/TsPublicScheduler.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/TsPublicScheduler.scala index 8ec2042995..04fd8d9c23 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/TsPublicScheduler.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/TsPublicScheduler.scala @@ -1,12 +1,12 @@ package hmda.publisher.scheduler -import akka.actor.typed.ActorRef -import akka.stream.Materializer -import akka.stream.alpakka.s3.ApiVersion.ListBucketVersion2 -import akka.stream.alpakka.s3._ -import akka.stream.alpakka.s3.scaladsl.S3 -import akka.stream.scaladsl.Source -import akka.util.ByteString +import org.apache.pekko.actor.typed.ActorRef +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.connectors.s3.ApiVersion.ListBucketVersion2 +import org.apache.pekko.stream.connectors.s3._ +import org.apache.pekko.stream.connectors.s3.scaladsl.S3 +import org.apache.pekko.stream.scaladsl.Source +import org.apache.pekko.util.ByteString import hmda.actor.HmdaActor import hmda.publisher.helper.{ PrivateAWSConfigLoader, PublicAWSConfigLoader, S3Archiver, S3Utils, SnapshotCheck, TSHeader } import hmda.publisher.query.component.{ PublisherComponent, PublisherComponent2018, PublisherComponent2019, PublisherComponent2020, PublisherComponent2021, PublisherComponent2022, PublisherComponent2023, TransmittalSheetTable, TsRepository, YearPeriod } @@ -14,8 +14,8 @@ import hmda.publisher.scheduler.schedules.Schedules.{ TsPublicSchedule } import hmda.query.DbConfiguration.dbConfig import hmda.query.ts._ import hmda.util.BankFilterUtils._ -import akka.stream.alpakka.file.scaladsl.Archive -import akka.stream.alpakka.file.ArchiveMetadata +import org.apache.pekko.stream.connectors.file.scaladsl.Archive +import org.apache.pekko.stream.connectors.file.ArchiveMetadata import hmda.publisher.helper.CronConfigLoader.{ CronString, tsPublicCron, tsPublicYears } import hmda.publisher.scheduler.schedules.{ Schedule, ScheduleWithYear } import hmda.publisher.util.{ PublishingReporter, ScheduleCoordinator } diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/TsScheduler.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/TsScheduler.scala index fa04207344..759c1d4376 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/TsScheduler.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/scheduler/TsScheduler.scala @@ -2,13 +2,13 @@ package hmda.publisher.scheduler import java.time.{Clock, Instant, LocalDateTime} import java.time.format.DateTimeFormatter -import akka.actor.typed.ActorRef -import akka.stream.Materializer -import akka.stream.alpakka.s3.ApiVersion.ListBucketVersion2 -import akka.stream.alpakka.s3._ -import akka.stream.alpakka.s3.scaladsl.S3 -import akka.stream.scaladsl.{Sink, Source} -import akka.util.ByteString +import org.apache.pekko.actor.typed.ActorRef +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.connectors.s3.ApiVersion.ListBucketVersion2 +import org.apache.pekko.stream.connectors.s3._ +import org.apache.pekko.stream.connectors.s3.scaladsl.S3 +import org.apache.pekko.stream.scaladsl.{Sink, Source} +import org.apache.pekko.util.ByteString import com.typesafe.config.ConfigFactory import hmda.actor.HmdaActor import hmda.publisher.helper.CronConfigLoader.{CronString, specificTsAltCron, specificTsAltYears, specificTsCron, specificTsYears, tsAltCron, tsAltYears, tsCron, tsQuarterlyCron, tsQuarterlyYears, tsYears} diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/util/MattermostNotifier.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/util/MattermostNotifier.scala index 7c4d8b9016..1079a1c5ea 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/util/MattermostNotifier.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/util/MattermostNotifier.scala @@ -1,8 +1,8 @@ package hmda.publisher.util -import akka.actor.ActorSystem -import akka.http.scaladsl.Http -import akka.http.scaladsl.model.{HttpEntity, HttpMethods, HttpRequest} +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.http.scaladsl.Http +import org.apache.pekko.http.scaladsl.model.{HttpEntity, HttpMethods, HttpRequest} import com.typesafe.scalalogging.LazyLogging import io.circe.Json import io.circe.syntax._ diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/util/PublishingReporter.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/util/PublishingReporter.scala index 772e97a4f1..1abe337bba 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/util/PublishingReporter.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/util/PublishingReporter.scala @@ -2,8 +2,8 @@ package hmda.publisher.util import java.time.Instant -import akka.actor.typed.Behavior -import akka.actor.typed.scaladsl.{ AbstractBehavior, ActorContext, Behaviors } +import org.apache.pekko.actor.typed.Behavior +import org.apache.pekko.actor.typed.scaladsl.{ AbstractBehavior, ActorContext, Behaviors } import hmda.publisher.scheduler.schedules.{ Schedule, Schedules } import hmda.publisher.util.PublishingReporter.Command import hmda.publisher.util.PublishingReporter.Command.FilePublishingCompleted diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/util/ScheduleCoordinator.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/util/ScheduleCoordinator.scala index 539a1a02d5..a202518da8 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/util/ScheduleCoordinator.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/util/ScheduleCoordinator.scala @@ -1,9 +1,9 @@ package hmda.publisher.util -import akka.actor.ActorRef -import akka.actor.typed.Behavior -import akka.actor.typed.scaladsl.{ ActorContext, Behaviors } -import com.typesafe.akka.extension.quartz.QuartzSchedulerExtension +import org.apache.pekko.actor.ActorRef +import org.apache.pekko.actor.typed.Behavior +import org.apache.pekko.actor.typed.scaladsl.{ ActorContext, Behaviors } +import org.apache.pekko.extension.quartz.QuartzSchedulerExtension import hmda.publisher.scheduler.schedules.ScheduleWithYear import org.slf4j.LoggerFactory diff --git a/hmda-data-publisher/src/main/scala/hmda/publisher/validation/PublishingGuard.scala b/hmda-data-publisher/src/main/scala/hmda/publisher/validation/PublishingGuard.scala index a2f6f17e2b..27825eeca5 100644 --- a/hmda-data-publisher/src/main/scala/hmda/publisher/validation/PublishingGuard.scala +++ b/hmda-data-publisher/src/main/scala/hmda/publisher/validation/PublishingGuard.scala @@ -1,6 +1,6 @@ package hmda.publisher.validation -import akka.actor.ActorSystem +import org.apache.pekko.actor.ActorSystem import cats.data.{ Validated, ValidatedNel } import com.typesafe.config.ConfigFactory import com.typesafe.scalalogging.LazyLogging diff --git a/hmda-data-publisher/src/test/resources/application.conf b/hmda-data-publisher/src/test/resources/application.conf index b40bfabf09..12d35ed2fa 100644 --- a/hmda-data-publisher/src/test/resources/application.conf +++ b/hmda-data-publisher/src/test/resources/application.conf @@ -1,27 +1,27 @@ -akka { +pekko { log-level = INFO http.server.preview.enable-http2 = on http.server.request-timeout=20800s - PanelScheduler2018 = "akka.quartz.schedules.PanelScheduler2018.expression = 0 30 00 * * ?" - LarScheduler2018 = "akka.quartz.schedules.LARScheduler2018.expression = 0 30 00 * * ?" - TsScheduler2018 = "akka.quartz.schedules.TsScheduler2018.expression = 0 30 00 * * ?" + PanelScheduler2018 = "pekko.quartz.schedules.PanelScheduler2018.expression = 0 30 00 * * ?" + LarScheduler2018 = "pekko.quartz.schedules.LARScheduler2018.expression = 0 30 00 * * ?" + TsScheduler2018 = "pekko.quartz.schedules.TsScheduler2018.expression = 0 30 00 * * ?" //2019 Publisher Schedules - PanelScheduler2019 = "akka.quartz.schedules.PanelScheduler2019.expression,0 30 00 * * ?" - LarScheduler2019 = "akka.quartz.schedules.LARScheduler2019.expression,0 30 00 * * ?" - LarSchedulerLoanLimit2019 = "akka.quartz.schedules.LARSchedulerLoanLimit2019.expression,0 30 00 * * ?" - TsScheduler2019 = "akka.quartz.schedules.TsScheduler2019.expression,0 30 00 * * ?" + PanelScheduler2019 = "pekko.quartz.schedules.PanelScheduler2019.expression,0 30 00 * * ?" + LarScheduler2019 = "pekko.quartz.schedules.LARScheduler2019.expression,0 30 00 * * ?" + LarSchedulerLoanLimit2019 = "pekko.quartz.schedules.LARSchedulerLoanLimit2019.expression,0 30 00 * * ?" + TsScheduler2019 = "pekko.quartz.schedules.TsScheduler2019.expression,0 30 00 * * ?" //2018 Public Dynamic Data Schedules - PanelPublicScheduler2018 = "akka.quartz.schedules.PanelPublicScheduler2018.expression = 0 30 00 * * ?" - LarPublicScheduler2018 = "akka.quartz.schedules.LarPublicScheduler2018.expression = 0 30 00 * * ?" - TsPublicScheduler2018 = "akka.quartz.schedules.TsPublicScheduler2018.expression = 0 30 00 * * ?" + PanelPublicScheduler2018 = "pekko.quartz.schedules.PanelPublicScheduler2018.expression = 0 30 00 * * ?" + LarPublicScheduler2018 = "pekko.quartz.schedules.LarPublicScheduler2018.expression = 0 30 00 * * ?" + TsPublicScheduler2018 = "pekko.quartz.schedules.TsPublicScheduler2018.expression = 0 30 00 * * ?" //2020 Public Dynamic Data Schedules - LarSchedulerQuarterly2020 = "akka.quartz.schedules.LarSchedulerQuarterly2020.expression,0 30 00 * * ?" - TsSchedulerQuarterly2020 = "akka.quartz.schedules.TsSchedulerQuarterly2020.expression,0 30 00 * * ?" - LarSchedulerLoanLimit2020 = "akka.quartz.schedules.LARSchedulerLoanLimit2020.expression,0 30 00 * * ?" + LarSchedulerQuarterly2020 = "pekko.quartz.schedules.LarSchedulerQuarterly2020.expression,0 30 00 * * ?" + TsSchedulerQuarterly2020 = "pekko.quartz.schedules.TsSchedulerQuarterly2020.expression,0 30 00 * * ?" + LarSchedulerLoanLimit2020 = "pekko.quartz.schedules.LARSchedulerLoanLimit2020.expression,0 30 00 * * ?" // This is what is being used in tests quartz { @@ -119,7 +119,7 @@ public-aws { public-year ="2018" } -alpakka.s3 { +pekko.s3 { endpoint-url = "http://localhost:9090" aws { credentials { diff --git a/hmda-data-publisher/src/test/scala/hmda/publisher/api/DataPublisherHttpApiSpec.scala b/hmda-data-publisher/src/test/scala/hmda/publisher/api/DataPublisherHttpApiSpec.scala index 734d8b7480..eb77cb8f58 100644 --- a/hmda-data-publisher/src/test/scala/hmda/publisher/api/DataPublisherHttpApiSpec.scala +++ b/hmda-data-publisher/src/test/scala/hmda/publisher/api/DataPublisherHttpApiSpec.scala @@ -1,10 +1,10 @@ package hmda.publisher.api -import akka.actor.ActorRef -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.testkit.ScalatestRouteTest -import akka.testkit.TestProbe -import akka.util.Timeout +import org.apache.pekko.actor.ActorRef +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest +import org.apache.pekko.testkit.TestProbe +import org.apache.pekko.util.Timeout import hmda.publisher.scheduler.AllSchedulers import hmda.publisher.scheduler.schedules.{ Schedule, ScheduleWithYear, Schedules } import org.scalatest.{ MustMatchers, WordSpec } @@ -12,7 +12,7 @@ import org.scalatest.{ MustMatchers, WordSpec } import scala.concurrent.duration.DurationInt class DataPublisherHttpApiSpec extends WordSpec with MustMatchers with ScalatestRouteTest { - implicit val timeout = Timeout(15.seconds) + implicit val timeout = Timeout(120.seconds) "DataPublisherHttpApi" must { "trigger right scheduler" in { diff --git a/hmda-data-publisher/src/test/scala/hmda/publisher/checks/TSLinesCheckTest.scala b/hmda-data-publisher/src/test/scala/hmda/publisher/checks/TSLinesCheckTest.scala index 9017997f5e..02bd82aa6c 100644 --- a/hmda-data-publisher/src/test/scala/hmda/publisher/checks/TSLinesCheckTest.scala +++ b/hmda-data-publisher/src/test/scala/hmda/publisher/checks/TSLinesCheckTest.scala @@ -1,7 +1,7 @@ package hmda.publisher.validation -import akka.actor.ActorSystem -import akka.testkit.TestKit +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.testkit.TestKit import hmda.publisher.query.component.{ PublisherComponent2018, TransmittalSheetTable, TsRepository } import hmda.publisher.query.lar.{ LarEntityImpl2018, LarPartFive2018, LarPartFour2018, LarPartOne2018, LarPartSix2018, LarPartThree2018, LarPartTwo2018 } import hmda.query.ts.TransmittalSheetEntity diff --git a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2018Spec.scala b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2018Spec.scala index 7dfe6996aa..39a18491a1 100644 --- a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2018Spec.scala +++ b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2018Spec.scala @@ -1,8 +1,8 @@ package hmda.publisher.query.component -import akka.actor.ActorSystem -import akka.stream.scaladsl.{ Sink, Source } -import akka.testkit.TestKit +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.scaladsl.{ Sink, Source } +import org.apache.pekko.testkit.TestKit import hmda.publisher.query.lar._ import hmda.publisher.query.panel.InstitutionEntity import hmda.query.ts.TransmittalSheetEntity diff --git a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2019Spec.scala b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2019Spec.scala index 5b467d7718..45029e3624 100644 --- a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2019Spec.scala +++ b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2019Spec.scala @@ -1,8 +1,8 @@ package hmda.publisher.query.component -import akka.actor.ActorSystem -import akka.stream.scaladsl.{ Sink, Source } -import akka.testkit.TestKit +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.scaladsl.{ Sink, Source } +import org.apache.pekko.testkit.TestKit import hmda.publisher.query.lar._ import hmda.publisher.query.panel.InstitutionEntity import hmda.query.ts.TransmittalSheetEntity diff --git a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2020Spec.scala b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2020Spec.scala index 84f5c11215..69d3f35b92 100644 --- a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2020Spec.scala +++ b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2020Spec.scala @@ -1,8 +1,8 @@ package hmda.publisher.query.component -import akka.actor.ActorSystem -import akka.stream.scaladsl.{ Sink, Source } -import akka.testkit.TestKit +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.scaladsl.{ Sink, Source } +import org.apache.pekko.testkit.TestKit import hmda.publisher.query.lar._ import hmda.publisher.query.panel.InstitutionEntity import hmda.query.ts.TransmittalSheetEntity diff --git a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2021Spec.scala b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2021Spec.scala index 0de017e189..0dde5f56b8 100644 --- a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2021Spec.scala +++ b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2021Spec.scala @@ -1,8 +1,8 @@ package hmda.publisher.query.component -import akka.actor.ActorSystem -import akka.stream.scaladsl.{Sink, Source} -import akka.testkit.TestKit +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.scaladsl.{Sink, Source} +import org.apache.pekko.testkit.TestKit import hmda.publisher.query.lar._ import hmda.publisher.query.panel.InstitutionEntity import hmda.query.ts.TransmittalSheetEntity diff --git a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2022Spec.scala b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2022Spec.scala index 208ca23929..1a0230cf1a 100644 --- a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2022Spec.scala +++ b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2022Spec.scala @@ -1,8 +1,8 @@ package hmda.publisher.query.component -import akka.actor.ActorSystem -import akka.stream.scaladsl.{Sink, Source} -import akka.testkit.TestKit +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.scaladsl.{Sink, Source} +import org.apache.pekko.testkit.TestKit import hmda.publisher.query.lar._ import hmda.publisher.query.panel.InstitutionEntity import hmda.query.ts.TransmittalSheetEntity diff --git a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2023Spec.scala b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2023Spec.scala index fea1b5a1cb..a8fde1aa41 100644 --- a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2023Spec.scala +++ b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2023Spec.scala @@ -1,8 +1,8 @@ package hmda.publisher.query.component -import akka.actor.ActorSystem -import akka.stream.scaladsl.{Sink, Source} -import akka.testkit.TestKit +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.scaladsl.{Sink, Source} +import org.apache.pekko.testkit.TestKit import hmda.publisher.query.lar._ import hmda.publisher.query.panel.InstitutionEntity import hmda.query.ts.TransmittalSheetEntity diff --git a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2024Spec.scala b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2024Spec.scala index 57d20b7d27..d8d860120a 100644 --- a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2024Spec.scala +++ b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2024Spec.scala @@ -1,8 +1,8 @@ package hmda.publisher.query.component -import akka.actor.ActorSystem -import akka.stream.scaladsl.{Sink, Source} -import akka.testkit.TestKit +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.scaladsl.{Sink, Source} +import org.apache.pekko.testkit.TestKit import hmda.publisher.query.lar._ import hmda.publisher.query.panel.InstitutionEntity import hmda.query.ts.TransmittalSheetEntity diff --git a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2025Spec.scala b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2025Spec.scala index 00d536a9fe..9938f1d081 100644 --- a/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2025Spec.scala +++ b/hmda-data-publisher/src/test/scala/hmda/publisher/query/component/PublisherComponent2025Spec.scala @@ -1,8 +1,8 @@ package hmda.publisher.query.component -import akka.actor.ActorSystem -import akka.stream.scaladsl.{Sink, Source} -import akka.testkit.TestKit +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.scaladsl.{Sink, Source} +import org.apache.pekko.testkit.TestKit import hmda.publisher.query.lar._ import hmda.publisher.query.panel.InstitutionEntity import hmda.query.ts.TransmittalSheetEntity diff --git a/hmda-data-publisher/src/test/scala/hmda/publisher/util/ScheduleCoordinatorSpec.scala b/hmda-data-publisher/src/test/scala/hmda/publisher/util/ScheduleCoordinatorSpec.scala index 28eee0fb26..33cef2951e 100644 --- a/hmda-data-publisher/src/test/scala/hmda/publisher/util/ScheduleCoordinatorSpec.scala +++ b/hmda-data-publisher/src/test/scala/hmda/publisher/util/ScheduleCoordinatorSpec.scala @@ -1,6 +1,6 @@ package hmda.publisher.util -import akka.http.scaladsl.testkit.ScalatestRouteTest +import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest import org.scalatest.{MustMatchers, WordSpec} import scala.concurrent.ExecutionContext diff --git a/hmda-quarterly-data-service/src/main/resources/cors.conf b/hmda-quarterly-data-service/src/main/resources/cors.conf index 34c2d4b74f..b35c7f634b 100644 --- a/hmda-quarterly-data-service/src/main/resources/cors.conf +++ b/hmda-quarterly-data-service/src/main/resources/cors.conf @@ -1,4 +1,4 @@ -akka-http-cors { +pekko-http-cors { allowed-methods = ["GET"] allowed-origins = "*" } diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/HmdaQuarterlyDataApp.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/HmdaQuarterlyDataApp.scala index d9e72f582d..093f270824 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/HmdaQuarterlyDataApp.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/HmdaQuarterlyDataApp.scala @@ -1,6 +1,6 @@ package hmda.quarterly.data -import akka.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.ActorSystem import hmda.quarterly.data.api.HmdaQuarterlyDataApi import org.slf4j.LoggerFactory diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/HmdaQuarterlyDataApi.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/HmdaQuarterlyDataApi.scala index 49e6db86d1..cf18587e58 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/HmdaQuarterlyDataApi.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/HmdaQuarterlyDataApi.scala @@ -1,13 +1,13 @@ package hmda.quarterly.data.api -import akka.actor -import akka.actor.CoordinatedShutdown -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.typed.{ ActorSystem, Behavior } -import akka.http.scaladsl.server.Directives._ -import akka.stream.Materializer -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.cors +import org.apache.pekko.actor +import org.apache.pekko.actor.CoordinatedShutdown +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.typed.{ ActorSystem, Behavior } +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.stream.Materializer +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.cors import hmda.api.http.directives.HmdaTimeDirectives.timed import hmda.api.http.routes.BaseHttpApi import slick.basic.DatabaseConfig diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/HmdaQuarterlyGraphRequestHandler.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/HmdaQuarterlyGraphRequestHandler.scala index b8b7f2ff6e..b31cbae184 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/HmdaQuarterlyGraphRequestHandler.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/HmdaQuarterlyGraphRequestHandler.scala @@ -1,7 +1,7 @@ package hmda.quarterly.data.api -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server._ +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server._ import hmda.quarterly.data.api.route._ import hmda.quarterly.data.api.serde.JsonSupport diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/dto/QuarterGraphData.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/dto/QuarterGraphData.scala index e3e92e5b3b..126e5593b2 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/dto/QuarterGraphData.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/dto/QuarterGraphData.scala @@ -1,6 +1,6 @@ package hmda.quarterly.data.api.dto -import akka.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.Route import hmda.quarterly.data.api.route.lib.Verbiage.DEFAULT_DECIMAL_PRECISION object QuarterGraphData { diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/AllApplicationsVolume.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/AllApplicationsVolume.scala index 7848d8f60a..b71bd762c7 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/AllApplicationsVolume.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/AllApplicationsVolume.scala @@ -1,7 +1,7 @@ package hmda.quarterly.data.api.route.counts.loans -import akka.http.scaladsl.server.Directives.{ complete, path, pathPrefix } -import akka.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.Directives.{ complete, path, pathPrefix } +import org.apache.pekko.http.scaladsl.server.Route import hmda.quarterly.data.api.dao.repo.QuarterlyGraphRepo import hmda.quarterly.data.api.dto.QuarterGraphData.{ GraphRoute, GraphSeriesInfo, GraphSeriesSummary } import Loans._ diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/AllApplicationsVolumeLoanPurposeHome.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/AllApplicationsVolumeLoanPurposeHome.scala index 97909df153..0c1ce5d7e2 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/AllApplicationsVolumeLoanPurposeHome.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/AllApplicationsVolumeLoanPurposeHome.scala @@ -1,7 +1,7 @@ package hmda.quarterly.data.api.route.counts.loans -import akka.http.scaladsl.server.Directives.{complete, path, pathPrefix} -import akka.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.Directives.{complete, path, pathPrefix} +import org.apache.pekko.http.scaladsl.server.Route import hmda.quarterly.data.api.dao.repo.QuarterlyGraphRepo import hmda.quarterly.data.api.dto.QuarterGraphData.{GraphRoute, GraphSeriesInfo, GraphSeriesSummary} import hmda.quarterly.data.api.route.counts.loans.Loans._ diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/AllApplicationsVolumeLoanPurposeRefinance.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/AllApplicationsVolumeLoanPurposeRefinance.scala index 080ccf9e7f..6c2c870b66 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/AllApplicationsVolumeLoanPurposeRefinance.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/AllApplicationsVolumeLoanPurposeRefinance.scala @@ -1,7 +1,7 @@ package hmda.quarterly.data.api.route.counts.loans -import akka.http.scaladsl.server.Directives.{complete, path, pathPrefix} -import akka.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.Directives.{complete, path, pathPrefix} +import org.apache.pekko.http.scaladsl.server.Route import hmda.quarterly.data.api.dao.repo.QuarterlyGraphRepo import hmda.quarterly.data.api.dto.QuarterGraphData.{GraphRoute, GraphSeriesInfo, GraphSeriesSummary} import hmda.quarterly.data.api.route.counts.loans.Loans._ diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/ApplicationsVolume.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/ApplicationsVolume.scala index 8f2e60ed5b..89687f577f 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/ApplicationsVolume.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/ApplicationsVolume.scala @@ -1,7 +1,7 @@ package hmda.quarterly.data.api.route.counts.loans -import akka.http.scaladsl.server.Directives.{ complete, path, pathPrefix } -import akka.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.Directives.{ complete, path, pathPrefix } +import org.apache.pekko.http.scaladsl.server.Route import hmda.model.filing.lar.enums._ import hmda.quarterly.data.api.dao.repo.QuarterlyGraphRepo import hmda.quarterly.data.api.dto.QuarterGraphData.{ GraphRoute, GraphSeriesInfo, GraphSeriesSummary } diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/ApplicationsVolumeLoanPurposeHome.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/ApplicationsVolumeLoanPurposeHome.scala index 61d9ba22c7..904e8ab012 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/ApplicationsVolumeLoanPurposeHome.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/ApplicationsVolumeLoanPurposeHome.scala @@ -1,7 +1,7 @@ package hmda.quarterly.data.api.route.counts.loans -import akka.http.scaladsl.server.Directives.{complete, path, pathPrefix} -import akka.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.Directives.{complete, path, pathPrefix} +import org.apache.pekko.http.scaladsl.server.Route import hmda.model.filing.lar.enums._ import hmda.quarterly.data.api.dao.repo.QuarterlyGraphRepo import hmda.quarterly.data.api.dto.QuarterGraphData.{GraphRoute, GraphSeriesInfo, GraphSeriesSummary} diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/ApplicationsVolumeLoanPurposeRefinance.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/ApplicationsVolumeLoanPurposeRefinance.scala index b688f8ce11..16134842b6 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/ApplicationsVolumeLoanPurposeRefinance.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/ApplicationsVolumeLoanPurposeRefinance.scala @@ -1,7 +1,7 @@ package hmda.quarterly.data.api.route.counts.loans -import akka.http.scaladsl.server.Directives.{complete, path, pathPrefix} -import akka.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.Directives.{complete, path, pathPrefix} +import org.apache.pekko.http.scaladsl.server.Route import hmda.model.filing.lar.enums._ import hmda.quarterly.data.api.dao.repo.QuarterlyGraphRepo import hmda.quarterly.data.api.dto.QuarterGraphData.{GraphRoute, GraphSeriesInfo, GraphSeriesSummary} diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/LoansVolume.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/LoansVolume.scala index ad201c9072..f914da773b 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/LoansVolume.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/LoansVolume.scala @@ -1,7 +1,7 @@ package hmda.quarterly.data.api.route.counts.loans -import akka.http.scaladsl.server.Directives.{ complete, path, pathPrefix } -import akka.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.Directives.{ complete, path, pathPrefix } +import org.apache.pekko.http.scaladsl.server.Route import hmda.model.filing.lar.enums._ import hmda.quarterly.data.api.dao.repo.QuarterlyGraphRepo import hmda.quarterly.data.api.dto.QuarterGraphData.{ GraphRoute, GraphSeriesInfo, GraphSeriesSummary } diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/LoansVolumeLoanPurposeHome.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/LoansVolumeLoanPurposeHome.scala index 3a9b4e7ccc..999a857dfd 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/LoansVolumeLoanPurposeHome.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/LoansVolumeLoanPurposeHome.scala @@ -1,7 +1,7 @@ package hmda.quarterly.data.api.route.counts.loans -import akka.http.scaladsl.server.Directives.{complete, path, pathPrefix} -import akka.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.Directives.{complete, path, pathPrefix} +import org.apache.pekko.http.scaladsl.server.Route import hmda.model.filing.lar.enums._ import hmda.quarterly.data.api.dao.repo.QuarterlyGraphRepo import hmda.quarterly.data.api.dto.QuarterGraphData.{GraphRoute, GraphSeriesInfo, GraphSeriesSummary} diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/LoansVolumeLoanPurposeRefinance.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/LoansVolumeLoanPurposeRefinance.scala index 53732d7d7a..fae819785f 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/LoansVolumeLoanPurposeRefinance.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/counts/loans/LoansVolumeLoanPurposeRefinance.scala @@ -1,7 +1,7 @@ package hmda.quarterly.data.api.route.counts.loans -import akka.http.scaladsl.server.Directives.{complete, path, pathPrefix} -import akka.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.Directives.{complete, path, pathPrefix} +import org.apache.pekko.http.scaladsl.server.Route import hmda.model.filing.lar.enums._ import hmda.quarterly.data.api.dao.repo.QuarterlyGraphRepo import hmda.quarterly.data.api.dto.QuarterGraphData.{GraphRoute, GraphSeriesInfo, GraphSeriesSummary} diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/rates/RatesGraph.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/rates/RatesGraph.scala index 851bc34955..ff59f86ecf 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/rates/RatesGraph.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/route/rates/RatesGraph.scala @@ -1,7 +1,7 @@ package hmda.quarterly.data.api.route.rates -import akka.http.scaladsl.server.Directives.{complete, path, pathPrefix} -import akka.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.server.Directives.{complete, path, pathPrefix} +import org.apache.pekko.http.scaladsl.server.Route import hmda.model.filing.lar.enums._ import hmda.quarterly.data.api.dto.QuarterGraphData.{GraphRoute, GraphSeriesInfo, GraphSeriesSummary} import hmda.quarterly.data.api.route.TitleSuffixAppender.addSuffix diff --git a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/serde/JsonSupport.scala b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/serde/JsonSupport.scala index 49275113c2..3528c94ae8 100644 --- a/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/serde/JsonSupport.scala +++ b/hmda-quarterly-data-service/src/main/scala/hmda/quarterly/data/api/serde/JsonSupport.scala @@ -1,6 +1,6 @@ package hmda.quarterly.data.api.serde -import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport +import org.apache.pekko.http.scaladsl.marshallers.sprayjson.SprayJsonSupport import hmda.quarterly.data.api.dao.DataPoint import hmda.quarterly.data.api.dto.QuarterGraphData._ import spray.json.{ DefaultJsonProtocol, RootJsonFormat } diff --git a/hmda-reporting/src/main/resources/application.conf b/hmda-reporting/src/main/resources/application.conf index 1d9a05b424..9346b4cae2 100644 --- a/hmda-reporting/src/main/resources/application.conf +++ b/hmda-reporting/src/main/resources/application.conf @@ -1,9 +1,9 @@ -akka { +pekko { log-level = INFO http.server.preview.enable-http2 = on } -akka.http.server.request-timeout = infinite +pekko.http.server.request-timeout = infinite hmda { reporting { diff --git a/hmda-reporting/src/main/scala/hmda/reporting/HmdaReporting.scala b/hmda-reporting/src/main/scala/hmda/reporting/HmdaReporting.scala index 0a4b174fec..f4ef2b317c 100644 --- a/hmda-reporting/src/main/scala/hmda/reporting/HmdaReporting.scala +++ b/hmda-reporting/src/main/scala/hmda/reporting/HmdaReporting.scala @@ -1,6 +1,6 @@ package hmda.reporting -import akka.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.ActorSystem import hmda.reporting.api.http.HmdaReportingApi import org.slf4j.LoggerFactory diff --git a/hmda-reporting/src/main/scala/hmda/reporting/api/http/HmdaReportingApi.scala b/hmda-reporting/src/main/scala/hmda/reporting/api/http/HmdaReportingApi.scala index 71ebe9487c..4812ecec68 100644 --- a/hmda-reporting/src/main/scala/hmda/reporting/api/http/HmdaReportingApi.scala +++ b/hmda-reporting/src/main/scala/hmda/reporting/api/http/HmdaReportingApi.scala @@ -1,10 +1,10 @@ package hmda.reporting.api.http -import akka.actor.typed.Behavior -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.{ ActorSystem, CoordinatedShutdown } -import akka.http.scaladsl.server.Directives._ +import org.apache.pekko.actor.typed.Behavior +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.{ ActorSystem, CoordinatedShutdown } +import org.apache.pekko.http.scaladsl.server.Directives._ import hmda.api.http.directives.HmdaTimeDirectives._ import hmda.api.http.routes.BaseHttpApi diff --git a/hmda-reporting/src/main/scala/hmda/reporting/api/http/ReportingHttpApi.scala b/hmda-reporting/src/main/scala/hmda/reporting/api/http/ReportingHttpApi.scala index 0073f86088..989654180b 100644 --- a/hmda-reporting/src/main/scala/hmda/reporting/api/http/ReportingHttpApi.scala +++ b/hmda-reporting/src/main/scala/hmda/reporting/api/http/ReportingHttpApi.scala @@ -1,11 +1,11 @@ package hmda.reporting.api.http -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{ cors, corsRejectionHandler } +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{ cors, corsRejectionHandler } import com.typesafe.config.Config -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.model.institution.{ HmdaFiler, HmdaFilerResponse, MsaMd, MsaMdResponse } import hmda.query.repository.ModifiedLarRepository import hmda.reporting.repository.InstitutionComponent diff --git a/hmda-reporting/src/test/resources/application.conf b/hmda-reporting/src/test/resources/application.conf index cb7156af9b..5ef517f46b 100644 --- a/hmda-reporting/src/test/resources/application.conf +++ b/hmda-reporting/src/test/resources/application.conf @@ -1,9 +1,9 @@ -akka { +pekko { log-level = INFO http.server.preview.enable-http2 = on } -akka.http.server.request-timeout = infinite +pekko.http.server.request-timeout = infinite hmda { reporting { diff --git a/hmda-reporting/src/test/scala/hmda/reporting/api/http/ReportingHttpApiSpec.scala b/hmda-reporting/src/test/scala/hmda/reporting/api/http/ReportingHttpApiSpec.scala index 1fb9f3f748..ca19daf18e 100644 --- a/hmda-reporting/src/test/scala/hmda/reporting/api/http/ReportingHttpApiSpec.scala +++ b/hmda-reporting/src/test/scala/hmda/reporting/api/http/ReportingHttpApiSpec.scala @@ -1,9 +1,9 @@ package hmda.reporting.api.http -import akka.http.scaladsl.model.StatusCodes.OK -import akka.http.scaladsl.server.Route -import akka.http.scaladsl.testkit.ScalatestRouteTest -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport +import org.apache.pekko.http.scaladsl.model.StatusCodes.OK +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport import hmda.model.institution.{ HmdaFiler, HmdaFilerResponse, MsaMd, MsaMdResponse } import hmda.query.institution.InstitutionEntity import hmda.query.repository.ModifiedLarRepository diff --git a/hmda/build.sbt b/hmda/build.sbt index 3a266d0774..77f673bade 100644 --- a/hmda/build.sbt +++ b/hmda/build.sbt @@ -8,8 +8,8 @@ packageName in Docker := "hmda-platform" dockerExposedPorts := Vector(8080, 8081, 8082, 19999, 9080, 1099) dockerEntrypoint ++= Seq( - """-Dakka.remote.netty.tcp.hostname="$(eval "echo $AKKA_REMOTING_BIND_HOST")"""", - """-Dakka.management.http.hostname="$(eval "echo $AKKA_REMOTING_BIND_HOST")"""" + """-Dpekko.remote.artery.bind.hostname="$(eval "echo $PEKKO_REMOTING_BIND_HOST")"""", + """-Dpekko.management.http.hostname="$(eval "echo $PEKKO_REMOTING_BIND_HOST")"""" ) //Add Yourkit profiler diff --git a/hmda/commercial-build.txt b/hmda/commercial-build.txt index 7160474280..b0b1e2b58e 100644 --- a/hmda/commercial-build.txt +++ b/hmda/commercial-build.txt @@ -8,8 +8,8 @@ packageName in Docker := "hmda-platform" dockerExposedPorts := Vector(8080, 8081, 8082, 19999, 9080, 1099) dockerEntrypoint ++= Seq( - """-Dakka.remote.netty.tcp.hostname="$(eval "echo $AKKA_REMOTING_BIND_HOST")"""", - """-Dakka.management.http.hostname="$(eval "echo $AKKA_REMOTING_BIND_HOST")"""" + """-Dpekko.remote.netty.tcp.hostname="$(eval "echo $PEKKO_REMOTING_BIND_HOST")"""", + """-Dpekko.management.http.hostname="$(eval "echo $PEKKO_REMOTING_BIND_HOST")"""" ) //Add Yourkit profiler @@ -40,14 +40,14 @@ cinnamonLogLevel := "INFO" cinnamon in run := true cinnamon in test := true -libraryDependencies += Cinnamon.library.cinnamonAkka -libraryDependencies += Cinnamon.library.cinnamonAkkaHttp -libraryDependencies += Cinnamon.library.cinnamonAkkaStream +libraryDependencies += Cinnamon.library.cinnamonpekko +libraryDependencies += Cinnamon.library.cinnamonpekkoHttp +libraryDependencies += Cinnamon.library.cinnamonpekkoStream libraryDependencies += Cinnamon.library.cinnamonPrometheus libraryDependencies += Cinnamon.library.cinnamonPrometheusHttpServer libraryDependencies += Cinnamon.library.cinnamonJvmMetricsProducer -libraryDependencies += Cinnamon.library.cinnamonAkkaPersistence -libraryDependencies += "com.lightbend.akka" %% "akka-diagnostics" % "1.1.12" +libraryDependencies += Cinnamon.library.cinnamonpekkoPersistence +libraryDependencies += "com.lightbend.pekko" %% "pekko-diagnostics" % "1.1.12" **/ javaOptions in Universal ++= Seq( diff --git a/hmda/src/main/resources/application-dcos.conf b/hmda/src/main/resources/application-dcos.conf index 4d6b5d1848..c5ce7bf546 100644 --- a/hmda/src/main/resources/application-dcos.conf +++ b/hmda/src/main/resources/application-dcos.conf @@ -1,6 +1,6 @@ include "application.conf" -akka { +pekko { remote { netty.tcp { @@ -20,11 +20,11 @@ akka { # This defines the interface to use. # InetAddress.getLocalHost.getHostAddress is used not overriden or empty hostname = ${?HOST} - port = 8558 + port = 7626 port = ${?PORT_19999} bind-hostname = 0.0.0.0 - bind-port = 8558 + bind-port = 7626 } cluster.bootstrap { @@ -54,7 +54,7 @@ akka { # Configured how we communicate with the contact point once it is discovered contact-point { # If no port is discovered along with the host/ip of a contact point this port will be used as fallback - fallback-port = 8558 + fallback-port = 7626 fallback-port = ${?PORT_19999} } diff --git a/hmda/src/main/resources/application-dev.conf b/hmda/src/main/resources/application-dev.conf index e3866274d1..34251c4d22 100644 --- a/hmda/src/main/resources/application-dev.conf +++ b/hmda/src/main/resources/application-dev.conf @@ -4,10 +4,10 @@ include "application.conf" APP_PORT = 2551 APP_PORT = ${?APP_PORT} -akka { +pekko { cluster { - seed-nodes = ["akka://hmda2@127.0.0.1:"${APP_PORT}] + seed-nodes = ["pekko://hmda2@127.0.0.1:"${APP_PORT}] } } \ No newline at end of file diff --git a/hmda/src/main/resources/application-kind.conf b/hmda/src/main/resources/application-kind.conf index a57c90d9ba..caa094acb4 100644 --- a/hmda/src/main/resources/application-kind.conf +++ b/hmda/src/main/resources/application-kind.conf @@ -2,14 +2,14 @@ include "persistence.conf" include "hmda.conf" include "cors.conf" -akka.log-config-on-start = on +pekko.log-config-on-start = on -akka { +pekko { remote { artery { transport = tcp - canonical.port = 0 //https://discuss.lightbend.com/t/scalatestroutetest-and-artery-bindexception/5838/2 + canonical.port = 17355 // canonical.hostname = ${HOSTNAME} // pick default which is InetAddress.getLocalHost.getHostAddress large-message-destinations = ["/temp/*"] advanced { @@ -92,13 +92,13 @@ akka { sharding { number-of-shards = 500 passivate-idle-entity-after = 65 minutes - passivate-idle-entity-after = ${?AKKA_CLUSTER_IDLE_ENTITY_TIMEOUT} + passivate-idle-entity-after = ${?PEKKO_CLUSTER_IDLE_ENTITY_TIMEOUT} } } management { http { - port = 8558 + port = 7626 } cluster.bootstrap { diff --git a/hmda/src/main/resources/application-kubernetes.conf b/hmda/src/main/resources/application-kubernetes.conf index f8105d9c79..8e291ce2b6 100644 --- a/hmda/src/main/resources/application-kubernetes.conf +++ b/hmda/src/main/resources/application-kubernetes.conf @@ -7,12 +7,13 @@ include "persistence.conf" include "hmda.conf" include "cors.conf" -akka { +pekko { remote { artery { + enabled = true transport = tcp - canonical.port = 0 //https://discuss.lightbend.com/t/scalatestroutetest-and-artery-bindexception/5838/2 + canonical.port = 25521 //https://discuss.lightbend.com/t/scalatestroutetest-and-artery-bindexception/5838/2 // canonical.hostname = ${HOSTNAME} // pick default which is InetAddress.getLocalHost.getHostAddress large-message-destinations = ["/temp/*"] advanced { @@ -45,10 +46,7 @@ akka { } throughput = 1000 } - actor { - provider = "cluster" - timeout = 8 - } + blocking-parser-dispatcher { type = Dispatcher @@ -60,7 +58,7 @@ akka { throughput = 1000 } actor { - provider = "cluster" + provider = cluster timeout = 8 } @@ -73,13 +71,6 @@ akka { } throughput = 1000 } - actor { - provider = "cluster" - timeout = 8 - } - - - discovery { kubernetes-api { @@ -94,13 +85,13 @@ akka { sharding { number-of-shards = 500 passivate-idle-entity-after = 65 minutes - passivate-idle-entity-after = ${?AKKA_CLUSTER_IDLE_ENTITY_TIMEOUT} + passivate-idle-entity-after = ${?PEKKO_CLUSTER_IDLE_ENTITY_TIMEOUT} } } management { http { - port = 8558 + port = 7626 } cluster.bootstrap { diff --git a/hmda/src/main/resources/application.conf b/hmda/src/main/resources/application.conf index bd27d24b67..fe881f71d0 100644 --- a/hmda/src/main/resources/application.conf +++ b/hmda/src/main/resources/application.conf @@ -9,7 +9,7 @@ include "hmda.conf" include "cors.conf" include "edits.conf" -akka { +pekko { diagnostics { starvation-detector { @@ -56,9 +56,9 @@ akka { } log-config-on-start = off - log-config-on-start = ${?AKKA_COFIG_ON_START} + log-config-on-start = ${?PEKKO_COFIG_ON_START} loglevel = INFO - loglevel = ${?AKKA_LOG_LEVEL} + loglevel = ${?PEKKO_LOG_LEVEL} log-dead-letters = off log-dead-letters-during-shutdown = off @@ -68,7 +68,7 @@ akka { http.server.websocket.periodic-keep-alive-max-idle = 1 second http.server.idle-timeout = infinite - discovery.method = akka-dns + discovery.method = pekko-dns io.dns.resolver = async-dns actor { @@ -82,13 +82,13 @@ akka { sharding { number-of-shards = 500 passivation.default-idle-strategy.idle-entity.timeout = 35 minutes - passivation.default-idle-strategy.idle-entity.timeout = ${?AKKA_CLUSTER_IDLE_ENTITY_TIMEOUT} + passivation.default-idle-strategy.idle-entity.timeout = ${?PEKKO_CLUSTER_IDLE_ENTITY_TIMEOUT} } } remote.artery { transport = tcp - canonical.port = 2551 + canonical.port = 17355 canonical.port = ${?APP_PORT} canonical.hostname = "127.0.0.1" maximum-frame-size = 30000000b @@ -99,11 +99,11 @@ akka { management { http { hostname = "127.0.0.1" - port = 8558 + port = 7626 port = ${?MANAGEMENT_PORT} bind-hostname = 0.0.0.0 - bind-port = 8558 + bind-port = 7626 bind-port = ${?MANAGEMENT_PORT} } } @@ -113,9 +113,9 @@ akka { cinnamon.application = "hmda-platform" -cinnamon.akka { +cinnamon.pekko { // monitor all actors - // see https://developer.lightbend.com/docs/telemetry/current/instrumentations/akka/akka.html + // see https://developer.lightbend.com/docs/telemetry/current/instrumentations/pekko/pekko.html actors { "hmda.*" { report-by = class @@ -123,15 +123,15 @@ cinnamon.akka { } // monitor the named-example stream that we have explicitly instrumented - // see https://developer.lightbend.com/docs/telemetry/current/instrumentations/akka-streams/akka-streams.html + // see https://developer.lightbend.com/docs/telemetry/current/instrumentations/pekko-streams/pekko-streams.html streams { "hmda.*" { report-by = name } } - // monitor akka http paths - // see https://developer.lightbend.com/docs/telemetry/current/instrumentations/akka-http/akka-http-configuration.html#example-configuration-1 + // monitor pekko http paths + // see https://developer.lightbend.com/docs/telemetry/current/instrumentations/pekko-http/pekko-http-configuration.html#example-configuration-1 http { servers { "*:*" { diff --git a/hmda/src/main/resources/cors.conf b/hmda/src/main/resources/cors.conf index 22f0540543..0f3d13f5b4 100644 --- a/hmda/src/main/resources/cors.conf +++ b/hmda/src/main/resources/cors.conf @@ -1,3 +1,3 @@ -akka-http-cors { +pekko-http-cors { allowed-methods = ["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS"] } \ No newline at end of file diff --git a/hmda/src/main/resources/logback.xml b/hmda/src/main/resources/logback.xml index 16f20b3930..d25219bbf8 100644 --- a/hmda/src/main/resources/logback.xml +++ b/hmda/src/main/resources/logback.xml @@ -25,5 +25,5 @@ - + \ No newline at end of file diff --git a/hmda/src/main/scala/hmda/HmdaPlatform.scala b/hmda/src/main/scala/hmda/HmdaPlatform.scala index 5f99b60b73..d7b956e76a 100644 --- a/hmda/src/main/scala/hmda/HmdaPlatform.scala +++ b/hmda/src/main/scala/hmda/HmdaPlatform.scala @@ -2,13 +2,13 @@ package hmda import java.net.InetAddress -import akka.actor.typed.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.{ActorSystem => ClassicActorSystem} -import akka.cluster.typed.Cluster -import akka.management.cluster.bootstrap.ClusterBootstrap -import akka.management.scaladsl.AkkaManagement -import akka.stream.Materializer +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.{ActorSystem => ClassicActorSystem} +import org.apache.pekko.cluster.typed.Cluster +import org.apache.pekko.management.cluster.bootstrap.ClusterBootstrap +import org.apache.pekko.management.scaladsl.PekkoManagement +import org.apache.pekko.stream.Materializer import com.typesafe.config.ConfigFactory import hmda.api.HmdaApi import hmda.persistence.HmdaPersistence @@ -71,7 +71,7 @@ object HmdaPlatform extends App { implicit val cluster = Cluster(system) ClusterBootstrap(system).start() - AkkaManagement(system).start() + PekkoManagement(system).start() // TODO: Fix this as initializing it here is not a good idea, this should be initialized in HmdaPersistence and passed into HmdaValidationError val stringKafkaProducer = KafkaUtils.getStringKafkaProducer(system) diff --git a/hmda/src/main/scala/hmda/api/HmdaApi.scala b/hmda/src/main/scala/hmda/api/HmdaApi.scala index 6ac9a9bf44..920c99c2c3 100644 --- a/hmda/src/main/scala/hmda/api/HmdaApi.scala +++ b/hmda/src/main/scala/hmda/api/HmdaApi.scala @@ -1,7 +1,7 @@ package hmda.api -import akka.actor.typed.Behavior -import akka.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.Behavior +import org.apache.pekko.actor.typed.scaladsl.Behaviors import hmda.api.http.{ HmdaAdminApi, HmdaFilingApi, HmdaPublicApi } import hmda.api.ws.HmdaWSApi diff --git a/hmda/src/main/scala/hmda/api/http/HmdaAdminApi.scala b/hmda/src/main/scala/hmda/api/http/HmdaAdminApi.scala index fb750e2890..309b49c3e5 100644 --- a/hmda/src/main/scala/hmda/api/http/HmdaAdminApi.scala +++ b/hmda/src/main/scala/hmda/api/http/HmdaAdminApi.scala @@ -1,13 +1,13 @@ package hmda.api.http -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.typed.{ActorSystem, Behavior} -import akka.actor.{CoordinatedShutdown, ActorSystem => ClassicActorSystem} -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.http.scaladsl.server.Directives._ -import akka.stream.Materializer -import akka.util.Timeout +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.typed.{ActorSystem, Behavior} +import org.apache.pekko.actor.{CoordinatedShutdown, ActorSystem => ClassicActorSystem} +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.stream.Materializer +import org.apache.pekko.util.Timeout import hmda.api.http.admin.{InstitutionAdminHttpApi, PublishAdminHttpApi, StatsAdminHttpApi, SubmissionAdminHttpApi} import hmda.api.http.directives.HmdaTimeDirectives._ import hmda.api.http.routes.BaseHttpApi diff --git a/hmda/src/main/scala/hmda/api/http/HmdaFilingApi.scala b/hmda/src/main/scala/hmda/api/http/HmdaFilingApi.scala index cfb7ebbea8..c9ef5e520f 100644 --- a/hmda/src/main/scala/hmda/api/http/HmdaFilingApi.scala +++ b/hmda/src/main/scala/hmda/api/http/HmdaFilingApi.scala @@ -1,14 +1,14 @@ package hmda.api.http -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.typed.{ ActorSystem, Behavior } -import akka.actor.{ CoordinatedShutdown, ActorSystem => ClassicActorSystem } -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.stream.Materializer -import akka.util.Timeout +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.typed.{ ActorSystem, Behavior } +import org.apache.pekko.actor.{ CoordinatedShutdown, ActorSystem => ClassicActorSystem } +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.stream.Materializer +import org.apache.pekko.util.Timeout import hmda.api.http.filing.submissions._ import hmda.api.http.filing.{ FilingHttpApi, InstitutionHttpApi } import hmda.api.http.routes.BaseHttpApi diff --git a/hmda/src/main/scala/hmda/api/http/HmdaPublicApi.scala b/hmda/src/main/scala/hmda/api/http/HmdaPublicApi.scala index 43d247a2c3..d188d60cbb 100644 --- a/hmda/src/main/scala/hmda/api/http/HmdaPublicApi.scala +++ b/hmda/src/main/scala/hmda/api/http/HmdaPublicApi.scala @@ -1,17 +1,17 @@ package hmda.api.http -import akka.actor.typed.{ActorSystem, Behavior} -import akka.actor.{CoordinatedShutdown, ActorSystem => ClassicActorSystem} -import akka.actor.typed.scaladsl.Behaviors -import akka.stream.Materializer +import org.apache.pekko.actor.typed.{ActorSystem, Behavior} +import org.apache.pekko.actor.{CoordinatedShutdown, ActorSystem => ClassicActorSystem} +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.stream.Materializer import hmda.api.http.public.{HmdaFileParsingHttpApi, HmdaFileValidationHttpApi, LarValidationHttpApi, TsValidationHttpApi} import hmda.api.http.routes.BaseHttpApi import hmda.api.http.directives.HmdaTimeDirectives._ import scala.concurrent.ExecutionContext -import akka.http.scaladsl.server.Directives._ -import akka.actor.typed.scaladsl.adapter._ -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.cors +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.cors // This is just a Guardian for starting up the API // $COVERAGE-OFF$ diff --git a/hmda/src/main/scala/hmda/api/http/admin/InstitutionAdminHttpApi.scala b/hmda/src/main/scala/hmda/api/http/admin/InstitutionAdminHttpApi.scala index abeebc727d..47fc0c778f 100644 --- a/hmda/src/main/scala/hmda/api/http/admin/InstitutionAdminHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/admin/InstitutionAdminHttpApi.scala @@ -1,14 +1,14 @@ package hmda.api.http.admin -import akka.cluster.sharding.typed.scaladsl.{ClusterSharding, EntityRef} -import akka.http.scaladsl.model.headers.RawHeader -import akka.http.scaladsl.model.{StatusCodes, Uri} -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.util.Timeout -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import org.apache.pekko.cluster.sharding.typed.scaladsl.{ ClusterSharding, EntityRef } +import org.apache.pekko.http.scaladsl.model.headers.RawHeader +import org.apache.pekko.http.scaladsl.model.{ StatusCodes, Uri } +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.util.Timeout +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} import com.typesafe.config.Config -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.PathMatchers._ import hmda.api.http.model.ErrorResponse import hmda.api.http.model.admin.InstitutionDeletedResponse diff --git a/hmda/src/main/scala/hmda/api/http/admin/PublishAdminHttpApi.scala b/hmda/src/main/scala/hmda/api/http/admin/PublishAdminHttpApi.scala index f0a9df1215..157c5247d4 100644 --- a/hmda/src/main/scala/hmda/api/http/admin/PublishAdminHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/admin/PublishAdminHttpApi.scala @@ -1,16 +1,16 @@ package hmda.api.http.admin // $COVERAGE-OFF$ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} import com.typesafe.config.Config -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.auth.OAuth2Authorization import hmda.publication.KafkaUtils._ -import akka.Done -import akka.actor.typed.ActorSystem +import org.apache.pekko.Done +import org.apache.pekko.actor.typed.ActorSystem import org.apache.kafka.clients.producer.{ Producer => KafkaProducer } import hmda.messages.pubsub.HmdaTopics._ import hmda.util.http.FilingResponseUtils._ diff --git a/hmda/src/main/scala/hmda/api/http/admin/RequestReplicationClient.scala b/hmda/src/main/scala/hmda/api/http/admin/RequestReplicationClient.scala index cc390ca898..9407ccebcb 100644 --- a/hmda/src/main/scala/hmda/api/http/admin/RequestReplicationClient.scala +++ b/hmda/src/main/scala/hmda/api/http/admin/RequestReplicationClient.scala @@ -1,11 +1,11 @@ package hmda.api.http.admin // $COVERAGE-OFF$ -import akka.actor.ActorSystem -import akka.http.scaladsl.model.headers.{Authorization, RawHeader} -import akka.http.scaladsl.Http -import akka.http.scaladsl.model.{HttpRequest, Uri} -import akka.http.scaladsl.server.{Directive, Directive0, Directives, RouteResult} -import akka.http.scaladsl.server.Directives._ +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.http.scaladsl.model.headers.{Authorization, RawHeader} +import org.apache.pekko.http.scaladsl.Http +import org.apache.pekko.http.scaladsl.model.{HttpRequest, Uri} +import org.apache.pekko.http.scaladsl.server.{Directive, Directive0, Directives, RouteResult} +import org.apache.pekko.http.scaladsl.server.Directives._ import hmda.api.http.admin.RequestReplicationClient.{InternalReplicationErrorResultCode, ResultCodeHeaderName} import org.slf4j.LoggerFactory import cats.syntax.all._ diff --git a/hmda/src/main/scala/hmda/api/http/admin/StatsAdminHttpApi.scala b/hmda/src/main/scala/hmda/api/http/admin/StatsAdminHttpApi.scala index 6623ac401b..4b03d47092 100644 --- a/hmda/src/main/scala/hmda/api/http/admin/StatsAdminHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/admin/StatsAdminHttpApi.scala @@ -1,15 +1,15 @@ package hmda.api.http.admin -import akka.NotUsed -import akka.actor.typed.ActorSystem -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.stream.Materializer -import akka.stream.scaladsl.{ Sink, Source } -import akka.util.Timeout +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{ Sink, Source } +import org.apache.pekko.util.Timeout import com.typesafe.config.Config -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.model.{ SignedLeiCountResponse, SignedLeiListResponse, TotalLeiCountResponse, TotalLeiListResponse } import hmda.auth.OAuth2Authorization import hmda.messages.filing.FilingCommands.GetLatestSignedSubmission diff --git a/hmda/src/main/scala/hmda/api/http/admin/SubmissionAdminHttpApi.scala b/hmda/src/main/scala/hmda/api/http/admin/SubmissionAdminHttpApi.scala index da32ceb675..cf4ddc75c3 100644 --- a/hmda/src/main/scala/hmda/api/http/admin/SubmissionAdminHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/admin/SubmissionAdminHttpApi.scala @@ -1,26 +1,26 @@ package hmda.api.http.admin // $COVERAGE-OFF$ -import akka.NotUsed -import akka.actor.typed.ActorSystem -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.http.scaladsl.common.{CsvEntityStreamingSupport, EntityStreamingSupport} -import akka.http.scaladsl.marshalling.ToResponseMarshallable -import akka.http.scaladsl.model.ContentTypes.`text/csv(UTF-8)` -import akka.http.scaladsl.model.StatusCodes.{InternalServerError, NotFound, OK} -import akka.http.scaladsl.model.headers.ContentDispositionTypes.attachment -import akka.http.scaladsl.model.headers.`Content-Disposition` -import akka.http.scaladsl.model.{HttpEntity, StatusCodes} -import akka.http.scaladsl.unmarshalling.Unmarshaller -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.{Directive1, Route} -import akka.stream.Materializer -import akka.stream.scaladsl.{Keep, Sink, Source} -import akka.util.{ByteString, Timeout} +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.http.scaladsl.common.{CsvEntityStreamingSupport, EntityStreamingSupport} +import org.apache.pekko.http.scaladsl.marshalling.ToResponseMarshallable +import org.apache.pekko.http.scaladsl.model.ContentTypes.`text/csv(UTF-8)` +import org.apache.pekko.http.scaladsl.model.StatusCodes.{InternalServerError, NotFound, OK} +import org.apache.pekko.http.scaladsl.model.headers.ContentDispositionTypes.attachment +import org.apache.pekko.http.scaladsl.model.headers.`Content-Disposition` +import org.apache.pekko.http.scaladsl.model.{HttpEntity, StatusCodes} +import org.apache.pekko.http.scaladsl.unmarshalling.Unmarshaller +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.{Directive1, Route} +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{Keep, Sink, Source} +import org.apache.pekko.util.{ByteString, Timeout} import cats.data.Validated.{Invalid, Valid} import cats.data.ValidatedNec import cats.implicits._ import com.typesafe.config.Config -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.admin.SubmissionAdminHttpApi.{lineCount, pipeDelimitedFileStream, validateRawSubmissionId} import hmda.api.http.model.admin.{LeiLatestSubmissionSummaryResponse, LeiSubmissionSummaryResponse, SubmissionSummaryResponse, YearlySubmissionSummaryResponse} import hmda.auth.OAuth2Authorization diff --git a/hmda/src/main/scala/hmda/api/http/directives/QuarterlyFilingAuthorization.scala b/hmda/src/main/scala/hmda/api/http/directives/QuarterlyFilingAuthorization.scala index 91dc3d946b..e5e9b51fb6 100644 --- a/hmda/src/main/scala/hmda/api/http/directives/QuarterlyFilingAuthorization.scala +++ b/hmda/src/main/scala/hmda/api/http/directives/QuarterlyFilingAuthorization.scala @@ -1,12 +1,12 @@ package hmda.api.http.directives -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.model.StatusCodes.{ BadRequest, Forbidden } -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server._ -import akka.util.Timeout -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.model.StatusCodes.{ BadRequest, Forbidden } +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server._ +import org.apache.pekko.util.Timeout +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.model.ErrorResponse import hmda.messages.institution.InstitutionCommands.GetInstitution import hmda.model.institution.Institution diff --git a/hmda/src/main/scala/hmda/api/http/filing/FilingHttpApi.scala b/hmda/src/main/scala/hmda/api/http/filing/FilingHttpApi.scala index 57016d1ce2..67fa468fc2 100644 --- a/hmda/src/main/scala/hmda/api/http/filing/FilingHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/filing/FilingHttpApi.scala @@ -2,14 +2,14 @@ package hmda.api.http.filing import java.time.Instant -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.http.scaladsl.model.headers.RawHeader -import akka.http.scaladsl.model.{StatusCodes, Uri} -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.util.Timeout -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.http.scaladsl.model.headers.RawHeader +import org.apache.pekko.http.scaladsl.model.{StatusCodes, Uri} +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.util.Timeout +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.PathMatchers._ import hmda.api.http.directives.CreateFilingAuthorization._ import hmda.api.http.directives.QuarterlyFilingAuthorization.quarterlyFilingAllowed diff --git a/hmda/src/main/scala/hmda/api/http/filing/InstitutionHttpApi.scala b/hmda/src/main/scala/hmda/api/http/filing/InstitutionHttpApi.scala index 1fe8b878b3..ff477055d3 100644 --- a/hmda/src/main/scala/hmda/api/http/filing/InstitutionHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/filing/InstitutionHttpApi.scala @@ -1,13 +1,13 @@ package hmda.api.http.filing -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.http.scaladsl.model.StatusCodes._ -import akka.http.scaladsl.model.Uri -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.util.Timeout -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.http.scaladsl.model.StatusCodes._ +import org.apache.pekko.http.scaladsl.model.Uri +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.util.Timeout +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.PathMatchers._ import hmda.api.http.directives.QuarterlyFilingAuthorization.quarterlyFilingAllowed import hmda.api.http.model.ErrorResponse diff --git a/hmda/src/main/scala/hmda/api/http/filing/submissions/EditsHttpApi.scala b/hmda/src/main/scala/hmda/api/http/filing/submissions/EditsHttpApi.scala index 46901691c4..12e46a0c44 100644 --- a/hmda/src/main/scala/hmda/api/http/filing/submissions/EditsHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/filing/submissions/EditsHttpApi.scala @@ -1,18 +1,18 @@ package hmda.api.http.filing.submissions -import akka.NotUsed -import akka.actor.typed.ActorSystem -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.http.scaladsl.marshalling.ToResponseMarshallable -import akka.http.scaladsl.model.headers.{ContentDispositionTypes, `Content-Disposition`} -import akka.http.scaladsl.model.{ContentTypes, HttpEntity, HttpResponse, StatusCodes, Uri} -import akka.http.scaladsl.server.Directives.{encodeResponse, handleRejections, _} -import akka.http.scaladsl.server.Route -import akka.stream.Materializer -import akka.stream.scaladsl.{Sink, Source} -import akka.util.{ByteString, Timeout} -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.http.scaladsl.marshalling.ToResponseMarshallable +import org.apache.pekko.http.scaladsl.model.headers.{ContentDispositionTypes, `Content-Disposition`} +import org.apache.pekko.http.scaladsl.model.{ContentTypes, HttpEntity, HttpResponse, StatusCodes, Uri} +import org.apache.pekko.http.scaladsl.server.Directives.{encodeResponse, handleRejections, _} +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{Sink, Source} +import org.apache.pekko.util.{ByteString, Timeout} +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.PathMatchers._ import hmda.api.http.directives.QuarterlyFilingAuthorization._ import hmda.api.http.model.filing.submissions._ diff --git a/hmda/src/main/scala/hmda/api/http/filing/submissions/ParseErrorHttpApi.scala b/hmda/src/main/scala/hmda/api/http/filing/submissions/ParseErrorHttpApi.scala index 895f8b9326..4184bd3bfe 100644 --- a/hmda/src/main/scala/hmda/api/http/filing/submissions/ParseErrorHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/filing/submissions/ParseErrorHttpApi.scala @@ -1,12 +1,12 @@ package hmda.api.http.filing.submissions -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.http.scaladsl.model.{StatusCodes, Uri} -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.util.Timeout -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.http.scaladsl.model.{StatusCodes, Uri} +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.util.Timeout +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.PathMatchers._ import hmda.api.http.directives.QuarterlyFilingAuthorization._ import hmda.api.http.model.filing.submissions.ParsingErrorSummary diff --git a/hmda/src/main/scala/hmda/api/http/filing/submissions/SignHttpApi.scala b/hmda/src/main/scala/hmda/api/http/filing/submissions/SignHttpApi.scala index ee05a981b5..1fa2c96b59 100644 --- a/hmda/src/main/scala/hmda/api/http/filing/submissions/SignHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/filing/submissions/SignHttpApi.scala @@ -1,16 +1,18 @@ package hmda.api.http.filing.submissions -import akka.actor.typed.ActorSystem -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.http.scaladsl.marshalling.ToResponseMarshallable -import akka.http.scaladsl.model.headers.RawHeader -import akka.http.scaladsl.model.{ StatusCodes, Uri } -import akka.http.scaladsl.server.Directives.{ encodeResponse, handleRejections, _ } -import akka.http.scaladsl.server.Route -import akka.stream.scaladsl.Sink -import akka.util.{ ByteString, Timeout } -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{ cors, corsRejectionHandler } -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import scala.concurrent.{ExecutionContext, Future} +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.http.scaladsl.marshalling.ToResponseMarshallable +import org.apache.pekko.http.scaladsl.model.headers.RawHeader +import org.apache.pekko.http.scaladsl.model.{ StatusCodes, Uri } +import org.apache.pekko.http.scaladsl.server.Directives.{ encodeResponse, handleRejections, _ } +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.util.Timeout +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{ cors, corsRejectionHandler } +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ +import org.apache.pekko.stream.scaladsl.{Keep, Sink, Source} +import org.apache.pekko.util.ByteString import hmda.api.http.model.filing.submissions.{ EditsSign, SignedResponse } import hmda.auth.OAuth2Authorization import hmda.messages.institution.InstitutionCommands.{ GetInstitution, ModifyInstitution } diff --git a/hmda/src/main/scala/hmda/api/http/filing/submissions/SubmissionHttpApi.scala b/hmda/src/main/scala/hmda/api/http/filing/submissions/SubmissionHttpApi.scala index f96ca10530..e451ec7c6e 100644 --- a/hmda/src/main/scala/hmda/api/http/filing/submissions/SubmissionHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/filing/submissions/SubmissionHttpApi.scala @@ -1,18 +1,18 @@ package hmda.api.http.filing.submissions -import akka.actor.typed.ActorSystem -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.http.scaladsl.marshalling.ToResponseMarshallable -import akka.http.scaladsl.model.headers.RawHeader -import akka.http.scaladsl.model.{ HttpResponse, StatusCodes, Uri } -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.stream.Materializer -import akka.stream.scaladsl.Sink -import akka.util.{ ByteString, Timeout } +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.http.scaladsl.marshalling.ToResponseMarshallable +import org.apache.pekko.http.scaladsl.model.headers.RawHeader +import org.apache.pekko.http.scaladsl.model.{ HttpResponse, StatusCodes, Uri } +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.Sink +import org.apache.pekko.util.{ ByteString, Timeout } import com.typesafe.config.Config -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.PathMatchers._ import hmda.api.http.directives.CreateFilingAuthorization._ import hmda.api.http.directives.QuarterlyFilingAuthorization._ diff --git a/hmda/src/main/scala/hmda/api/http/filing/submissions/UploadHttpApi.scala b/hmda/src/main/scala/hmda/api/http/filing/submissions/UploadHttpApi.scala index eca861e011..6c1df049ae 100644 --- a/hmda/src/main/scala/hmda/api/http/filing/submissions/UploadHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/filing/submissions/UploadHttpApi.scala @@ -1,19 +1,19 @@ package hmda.api.http.filing.submissions import java.time.Instant -import akka.NotUsed -import akka.actor.typed.ActorSystem -import akka.cluster.sharding.typed.scaladsl.{ClusterSharding, EntityRef} -import akka.http.scaladsl.model.headers.RawHeader -import akka.http.scaladsl.model.{StatusCodes, Uri} -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.stream.Materializer -import akka.stream.scaladsl.{Flow, Framing, Sink} -import akka.util.{ByteString, Timeout} -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.cluster.sharding.typed.scaladsl.{ClusterSharding, EntityRef} +import org.apache.pekko.http.scaladsl.model.headers.RawHeader +import org.apache.pekko.http.scaladsl.model.{StatusCodes, Uri} +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{Flow, Framing, Sink} +import org.apache.pekko.util.{ByteString, Timeout} +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} import com.typesafe.config.ConfigFactory -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.PathMatchers._ import hmda.api.http.directives.QuarterlyFilingAuthorization._ import hmda.api.http.model.ErrorResponse diff --git a/hmda/src/main/scala/hmda/api/http/filing/submissions/VerifyHttpApi.scala b/hmda/src/main/scala/hmda/api/http/filing/submissions/VerifyHttpApi.scala index 4af0954cd6..91a5e48efd 100644 --- a/hmda/src/main/scala/hmda/api/http/filing/submissions/VerifyHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/filing/submissions/VerifyHttpApi.scala @@ -1,14 +1,14 @@ package hmda.api.http.filing.submissions -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.http.scaladsl.marshalling.ToResponseMarshallable -import akka.http.scaladsl.model.headers.RawHeader -import akka.http.scaladsl.model.{ StatusCodes, Uri } -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.util.Timeout -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.http.scaladsl.marshalling.ToResponseMarshallable +import org.apache.pekko.http.scaladsl.model.headers.RawHeader +import org.apache.pekko.http.scaladsl.model.{ StatusCodes, Uri } +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.util.Timeout +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.PathMatchers._ import hmda.api.http.directives.QuarterlyFilingAuthorization._ import hmda.api.http.model.filing.submissions.{ EditsVerification, EditsVerificationResponse } diff --git a/hmda/src/main/scala/hmda/api/http/public/FilingValidationHttpDirectives.scala b/hmda/src/main/scala/hmda/api/http/public/FilingValidationHttpDirectives.scala index c88b644838..75bf987fb7 100644 --- a/hmda/src/main/scala/hmda/api/http/public/FilingValidationHttpDirectives.scala +++ b/hmda/src/main/scala/hmda/api/http/public/FilingValidationHttpDirectives.scala @@ -1,9 +1,9 @@ package hmda.api.http.public -import akka.http.scaladsl.model.StatusCodes.BadRequest -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.http.scaladsl.model.StatusCodes.BadRequest +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.model.public.{ SingleValidationErrorResult, ValidationErrorSummary, ValidationSingleErrorSummary } import hmda.api.http.utils.ParserErrorUtils._ import hmda.model.filing.EditDescriptionLookup diff --git a/hmda/src/main/scala/hmda/api/http/public/HmdaFileParsingHttpApi.scala b/hmda/src/main/scala/hmda/api/http/public/HmdaFileParsingHttpApi.scala index 9a737b68d2..5d3550a919 100644 --- a/hmda/src/main/scala/hmda/api/http/public/HmdaFileParsingHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/public/HmdaFileParsingHttpApi.scala @@ -1,16 +1,16 @@ package hmda.api.http.public -import akka.NotUsed -import akka.http.scaladsl.marshalling.ToResponseMarshallable -import akka.http.scaladsl.model.headers.RawHeader -import akka.http.scaladsl.model.{ ContentTypes, HttpEntity, StatusCodes } -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.stream.scaladsl.{ Broadcast, Concat, Flow, GraphDSL, Sink, Source } -import akka.stream.{ FlowShape, Materializer } -import akka.util.ByteString -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.NotUsed +import org.apache.pekko.http.scaladsl.marshalling.ToResponseMarshallable +import org.apache.pekko.http.scaladsl.model.headers.RawHeader +import org.apache.pekko.http.scaladsl.model.{ ContentTypes, HttpEntity, StatusCodes } +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.stream.scaladsl.{ Broadcast, Concat, Flow, GraphDSL, Sink, Source } +import org.apache.pekko.stream.{ FlowShape, Materializer } +import org.apache.pekko.util.ByteString +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.model.filing.submissions.HmdaRowParsedErrorSummary import hmda.api.http.utils.ParserErrorUtils import hmda.parser.filing.lar.LarCsvParser diff --git a/hmda/src/main/scala/hmda/api/http/public/HmdaFileValidationHttpApi.scala b/hmda/src/main/scala/hmda/api/http/public/HmdaFileValidationHttpApi.scala index 65e8debe73..833acb4a88 100644 --- a/hmda/src/main/scala/hmda/api/http/public/HmdaFileValidationHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/public/HmdaFileValidationHttpApi.scala @@ -1,15 +1,15 @@ package hmda.api.http.public -import akka.NotUsed -import akka.http.scaladsl.marshalling.ToResponseMarshallable -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.stream.scaladsl.{ Broadcast, Concat, Flow, GraphDSL, Sink, Source } -import akka.stream.{ FlowShape, Materializer } -import akka.util.ByteString -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.NotUsed +import org.apache.pekko.http.scaladsl.marshalling.ToResponseMarshallable +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.stream.scaladsl.{ Broadcast, Concat, Flow, GraphDSL, Sink, Source } +import org.apache.pekko.stream.{ FlowShape, Materializer } +import org.apache.pekko.util.ByteString +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.model.validation.ValidationError import hmda.model.validation.LarValidationError import hmda.api.http.model.filing.submissions.HmdaRowParsedErrorSummary diff --git a/hmda/src/main/scala/hmda/api/http/public/LarValidationHttpApi.scala b/hmda/src/main/scala/hmda/api/http/public/LarValidationHttpApi.scala index eb3a742682..f2e0bb1d2c 100644 --- a/hmda/src/main/scala/hmda/api/http/public/LarValidationHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/public/LarValidationHttpApi.scala @@ -1,11 +1,11 @@ package hmda.api.http.public -import akka.http.scaladsl.marshalling.ToResponseMarshallable -import akka.http.scaladsl.model.headers.RawHeader -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.http.scaladsl.marshalling.ToResponseMarshallable +import org.apache.pekko.http.scaladsl.model.headers.RawHeader +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.PathMatchers._ import hmda.api.http.model.public.LarValidateRequest import hmda.api.http.public.FilingValidationHttpDirectives._ diff --git a/hmda/src/main/scala/hmda/api/http/public/TsValidationHttpApi.scala b/hmda/src/main/scala/hmda/api/http/public/TsValidationHttpApi.scala index aaf9f400c0..4550cea344 100644 --- a/hmda/src/main/scala/hmda/api/http/public/TsValidationHttpApi.scala +++ b/hmda/src/main/scala/hmda/api/http/public/TsValidationHttpApi.scala @@ -1,11 +1,11 @@ package hmda.api.http.public -import akka.http.scaladsl.marshalling.ToResponseMarshallable -import akka.http.scaladsl.model.headers.RawHeader -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.http.scaladsl.marshalling.ToResponseMarshallable +import org.apache.pekko.http.scaladsl.model.headers.RawHeader +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.PathMatchers._ import hmda.api.http.model.public.TsValidateRequest import hmda.api.http.public.FilingValidationHttpDirectives._ diff --git a/hmda/src/main/scala/hmda/api/ws/HmdaWSApi.scala b/hmda/src/main/scala/hmda/api/ws/HmdaWSApi.scala index 6b58e05f88..e8be1eac65 100644 --- a/hmda/src/main/scala/hmda/api/ws/HmdaWSApi.scala +++ b/hmda/src/main/scala/hmda/api/ws/HmdaWSApi.scala @@ -1,14 +1,14 @@ package hmda.api.ws -import akka.actor.CoordinatedShutdown -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.typed.{ ActorSystem, Behavior } -import akka.http.scaladsl.Http -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.stream.Materializer -import akka.{ actor, Done } +import org.apache.pekko.actor.CoordinatedShutdown +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.typed.{ ActorSystem, Behavior } +import org.apache.pekko.http.scaladsl.Http +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.stream.Materializer +import org.apache.pekko.{ actor, Done } import hmda.api.ws.filing.submissions.SubmissionWsApi import hmda.api.ws.routes.BaseWsApi diff --git a/hmda/src/main/scala/hmda/api/ws/WebSocketProgressTracker.scala b/hmda/src/main/scala/hmda/api/ws/WebSocketProgressTracker.scala index e30d957119..b67086bf27 100644 --- a/hmda/src/main/scala/hmda/api/ws/WebSocketProgressTracker.scala +++ b/hmda/src/main/scala/hmda/api/ws/WebSocketProgressTracker.scala @@ -1,14 +1,14 @@ package hmda.api.ws // $COVERAGE-OFF$ -import akka.Done -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.typed.{ ActorRef, ActorSystem, Behavior } -import akka.cluster.sharding.typed.scaladsl.{ ClusterSharding, EntityRef } -import akka.http.scaladsl.model.ws.{ BinaryMessage, Message, TextMessage } -import akka.stream.scaladsl.{ Flow, Sink, Source, SourceQueueWithComplete } -import akka.stream.{ Materializer, OverflowStrategy } -import akka.util.Timeout +import org.apache.pekko.Done +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.typed.{ ActorRef, ActorSystem, Behavior } +import org.apache.pekko.cluster.sharding.typed.scaladsl.{ ClusterSharding, EntityRef } +import org.apache.pekko.http.scaladsl.model.ws.{ BinaryMessage, Message, TextMessage } +import org.apache.pekko.stream.scaladsl.{ Flow, Sink, Source, SourceQueueWithComplete } +import org.apache.pekko.stream.{ Materializer, OverflowStrategy } +import org.apache.pekko.util.Timeout import hmda.api.ws.WebSocketProgressTracker.Protocol._ import hmda.api.ws.model.TrackerResponse import hmda.messages.submission.SubmissionProcessingCommands diff --git a/hmda/src/main/scala/hmda/api/ws/filing/submissions/SubmissionWsApi.scala b/hmda/src/main/scala/hmda/api/ws/filing/submissions/SubmissionWsApi.scala index 0c37064bff..dd007fdb1b 100644 --- a/hmda/src/main/scala/hmda/api/ws/filing/submissions/SubmissionWsApi.scala +++ b/hmda/src/main/scala/hmda/api/ws/filing/submissions/SubmissionWsApi.scala @@ -2,13 +2,13 @@ package hmda.api.ws.filing.submissions import java.time.Instant -import akka.NotUsed -import akka.actor.typed.ActorSystem -import akka.http.scaladsl.model.ws.{ Message, TextMessage } -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.stream.scaladsl.{ Flow, Source } -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.http.scaladsl.model.ws.{ Message, TextMessage } +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.stream.scaladsl.{ Flow, Source } +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} import hmda.api.ws.model.{ KeepAliveWsResponse, ServerPing, SubmissionStatus, SubmissionStatusWSResponse } import hmda.messages.submission.SubmissionEvents.{ SubmissionCreated, SubmissionEvent, SubmissionModified } import hmda.model.filing.submission.SubmissionId diff --git a/hmda/src/main/scala/hmda/persistence/HmdaPersistence.scala b/hmda/src/main/scala/hmda/persistence/HmdaPersistence.scala index a78e90dd46..061a4ad51c 100644 --- a/hmda/src/main/scala/hmda/persistence/HmdaPersistence.scala +++ b/hmda/src/main/scala/hmda/persistence/HmdaPersistence.scala @@ -1,8 +1,8 @@ package hmda.persistence -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.{ Behavior, PostStop, PreRestart } -import akka.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.{ Behavior, PostStop, PreRestart } +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding import com.typesafe.config.ConfigFactory import hmda.persistence.filing.FilingPersistence import hmda.persistence.institution.InstitutionPersistence diff --git a/hmda/src/main/scala/hmda/persistence/filing/FilingPersistence.scala b/hmda/src/main/scala/hmda/persistence/filing/FilingPersistence.scala index 11aab498f5..9b6328fe89 100644 --- a/hmda/src/main/scala/hmda/persistence/filing/FilingPersistence.scala +++ b/hmda/src/main/scala/hmda/persistence/filing/FilingPersistence.scala @@ -1,12 +1,12 @@ package hmda.persistence.filing -import akka.actor.typed.scaladsl.{ ActorContext, Behaviors } -import akka.actor.typed.{ ActorRef, Behavior } -import akka.cluster.sharding.typed.ShardingEnvelope -import akka.cluster.sharding.typed.scaladsl.{ ClusterSharding, EntityRef, EntityTypeKey } -import akka.persistence.typed.PersistenceId -import akka.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler -import akka.persistence.typed.scaladsl.{ Effect, EventSourcedBehavior, RetentionCriteria } +import org.apache.pekko.actor.typed.scaladsl.{ ActorContext, Behaviors } +import org.apache.pekko.actor.typed.{ ActorRef, Behavior } +import org.apache.pekko.cluster.sharding.typed.ShardingEnvelope +import org.apache.pekko.cluster.sharding.typed.scaladsl.{ ClusterSharding, EntityRef, EntityTypeKey } +import org.apache.pekko.persistence.typed.PersistenceId +import org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler +import org.apache.pekko.persistence.typed.scaladsl.{ Effect, EventSourcedBehavior, RetentionCriteria } import com.typesafe.scalalogging.LazyLogging import hmda.messages.filing.FilingCommands._ import hmda.messages.filing.FilingEvents.{ FilingCreated, FilingEvent, SubmissionAdded, SubmissionUpdated } diff --git a/hmda/src/main/scala/hmda/persistence/institution/InstitutionPersistence.scala b/hmda/src/main/scala/hmda/persistence/institution/InstitutionPersistence.scala index 8343bb887e..45b7cfb945 100644 --- a/hmda/src/main/scala/hmda/persistence/institution/InstitutionPersistence.scala +++ b/hmda/src/main/scala/hmda/persistence/institution/InstitutionPersistence.scala @@ -1,14 +1,14 @@ package hmda.persistence.institution -import akka.Done -import akka.actor.typed.scaladsl.{ActorContext, Behaviors} -import akka.actor.typed.{ActorRef, ActorSystem, Behavior} -import akka.cluster.sharding.typed.ShardingEnvelope -import akka.cluster.sharding.typed.scaladsl.{ClusterSharding, EntityRef} -import akka.persistence.typed.PersistenceId -import akka.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler -import akka.persistence.typed.scaladsl.{Effect, EventSourcedBehavior, RetentionCriteria} -import akka.stream.Materializer +import org.apache.pekko.Done +import org.apache.pekko.actor.typed.scaladsl.{ActorContext, Behaviors} +import org.apache.pekko.actor.typed.{ActorRef, ActorSystem, Behavior} +import org.apache.pekko.cluster.sharding.typed.ShardingEnvelope +import org.apache.pekko.cluster.sharding.typed.scaladsl.{ClusterSharding, EntityRef} +import org.apache.pekko.persistence.typed.PersistenceId +import org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler +import org.apache.pekko.persistence.typed.scaladsl.{Effect, EventSourcedBehavior, RetentionCriteria} +import org.apache.pekko.stream.Materializer import com.typesafe.config.Config import hmda.HmdaPlatform.{institutionKafkaProducer, log} import hmda.messages.institution.InstitutionCommands._ diff --git a/hmda/src/main/scala/hmda/persistence/submission/EditDetailsPersistence.scala b/hmda/src/main/scala/hmda/persistence/submission/EditDetailsPersistence.scala index 014bc92672..0138ef68e1 100644 --- a/hmda/src/main/scala/hmda/persistence/submission/EditDetailsPersistence.scala +++ b/hmda/src/main/scala/hmda/persistence/submission/EditDetailsPersistence.scala @@ -1,12 +1,12 @@ package hmda.persistence.submission -import akka.actor.typed.scaladsl.{ ActorContext, Behaviors } -import akka.actor.typed.{ ActorRef, Behavior } -import akka.cluster.sharding.typed.ShardingEnvelope -import akka.cluster.sharding.typed.scaladsl.{ ClusterSharding, EntityRef } -import akka.persistence.typed.PersistenceId -import akka.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler -import akka.persistence.typed.scaladsl.{ Effect, EventSourcedBehavior } +import org.apache.pekko.actor.typed.scaladsl.{ ActorContext, Behaviors } +import org.apache.pekko.actor.typed.{ ActorRef, Behavior } +import org.apache.pekko.cluster.sharding.typed.ShardingEnvelope +import org.apache.pekko.cluster.sharding.typed.scaladsl.{ ClusterSharding, EntityRef } +import org.apache.pekko.persistence.typed.PersistenceId +import org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler +import org.apache.pekko.persistence.typed.scaladsl.{ Effect, EventSourcedBehavior } import hmda.messages.submission.EditDetailsCommands.{ EditDetailsPersistenceCommand, GetEditRowCount, PersistEditDetails, StopEditDetails } import hmda.messages.submission.EditDetailsEvents.{ EditDetailsAdded, EditDetailsPersistenceEvent, EditDetailsRowCounted } import hmda.model.filing.submission.SubmissionId diff --git a/hmda/src/main/scala/hmda/persistence/submission/HmdaParserError.scala b/hmda/src/main/scala/hmda/persistence/submission/HmdaParserError.scala index fefd62bc66..028415c664 100644 --- a/hmda/src/main/scala/hmda/persistence/submission/HmdaParserError.scala +++ b/hmda/src/main/scala/hmda/persistence/submission/HmdaParserError.scala @@ -1,16 +1,16 @@ package hmda.persistence.submission -import akka.actor.typed.scaladsl.{ ActorContext, Behaviors } -import akka.actor.typed.{ ActorRef, ActorSystem, Behavior, DispatcherSelector } -import akka.cluster.sharding.typed.ShardingEnvelope -import akka.cluster.sharding.typed.scaladsl.{ ClusterSharding, EntityRef } -import akka.persistence.typed.PersistenceId -import akka.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler -import akka.persistence.typed.scaladsl.{ Effect, EventSourcedBehavior, RetentionCriteria } -import akka.stream.Materializer -import akka.stream.scaladsl.{ Sink, Source } -import akka.stream.typed.scaladsl.ActorFlow -import akka.util.{ ByteString, Timeout } +import org.apache.pekko.actor.typed.scaladsl.{ ActorContext, Behaviors } +import org.apache.pekko.actor.typed.{ ActorRef, ActorSystem, Behavior, DispatcherSelector } +import org.apache.pekko.cluster.sharding.typed.ShardingEnvelope +import org.apache.pekko.cluster.sharding.typed.scaladsl.{ ClusterSharding, EntityRef } +import org.apache.pekko.persistence.typed.PersistenceId +import org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler +import org.apache.pekko.persistence.typed.scaladsl.{ Effect, EventSourcedBehavior, RetentionCriteria } +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{ Sink, Source } +import org.apache.pekko.stream.typed.scaladsl.ActorFlow +import org.apache.pekko.util.{ ByteString, Timeout } import com.typesafe.config.ConfigFactory import hmda.api.http.utils.ParserErrorUtils._ import hmda.messages.submission.SubmissionProcessingCommands._ @@ -51,7 +51,7 @@ object HmdaParserError extends HmdaTypedPersistentActor[SubmissionProcessingComm val log = ctx.log implicit val system: ActorSystem[_] = ctx.system implicit val materializer: Materializer = Materializer(ctx) - implicit val blockingEc: ExecutionContext = system.dispatchers.lookup(DispatcherSelector.fromConfig("akka.blocking-parser-dispatcher")) + implicit val blockingEc: ExecutionContext = system.dispatchers.lookup(DispatcherSelector.fromConfig("pekko.blocking-parser-dispatcher")) val sharding = ClusterSharding(system) cmd match { diff --git a/hmda/src/main/scala/hmda/persistence/submission/HmdaProcessingUtils.scala b/hmda/src/main/scala/hmda/persistence/submission/HmdaProcessingUtils.scala index d7629e0ffa..66985f97d4 100644 --- a/hmda/src/main/scala/hmda/persistence/submission/HmdaProcessingUtils.scala +++ b/hmda/src/main/scala/hmda/persistence/submission/HmdaProcessingUtils.scala @@ -1,12 +1,12 @@ package hmda.persistence.submission -import akka.NotUsed -import akka.actor.typed.ActorSystem -import akka.cluster.sharding.typed.scaladsl.{ ClusterSharding, EntityRef } -import akka.stream.scaladsl.Source +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.cluster.sharding.typed.scaladsl.{ ClusterSharding, EntityRef } +import org.apache.pekko.stream.scaladsl.Source import hmda.messages.submission.HmdaRawDataEvents.LineAdded import hmda.query.HmdaQuery._ -import akka.util.Timeout +import org.apache.pekko.util.Timeout import hmda.messages.submission.SubmissionCommands.{ GetSubmission, ModifySubmission, SubmissionCommand } import hmda.messages.submission.SubmissionEvents.SubmissionEvent import hmda.messages.submission.SubmissionManagerCommands.UpdateSubmissionStatus diff --git a/hmda/src/main/scala/hmda/persistence/submission/HmdaRawData.scala b/hmda/src/main/scala/hmda/persistence/submission/HmdaRawData.scala index 428e931417..6739b6f74c 100644 --- a/hmda/src/main/scala/hmda/persistence/submission/HmdaRawData.scala +++ b/hmda/src/main/scala/hmda/persistence/submission/HmdaRawData.scala @@ -1,12 +1,12 @@ package hmda.persistence.submission -import akka.actor.typed.scaladsl.{ActorContext, Behaviors} -import akka.actor.typed.{ActorRef, Behavior} -import akka.cluster.sharding.typed.ShardingEnvelope -import akka.cluster.sharding.typed.scaladsl.{ClusterSharding, EntityRef} -import akka.persistence.typed.PersistenceId -import akka.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler -import akka.persistence.typed.scaladsl.{Effect, EventSourcedBehavior, RetentionCriteria} +import org.apache.pekko.actor.typed.scaladsl.{ActorContext, Behaviors} +import org.apache.pekko.actor.typed.{ActorRef, Behavior} +import org.apache.pekko.cluster.sharding.typed.ShardingEnvelope +import org.apache.pekko.cluster.sharding.typed.scaladsl.{ClusterSharding, EntityRef} +import org.apache.pekko.persistence.typed.PersistenceId +import org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler +import org.apache.pekko.persistence.typed.scaladsl.{Effect, EventSourcedBehavior, RetentionCriteria} import hmda.messages.submission.HmdaRawDataCommands.{AddLines, HmdaRawDataCommand, StopRawData} import hmda.messages.submission.HmdaRawDataEvents.{HmdaRawDataEvent, LineAdded} import hmda.messages.submission.HmdaRawDataReplies.LinesAdded diff --git a/hmda/src/main/scala/hmda/persistence/submission/HmdaValidationError.scala b/hmda/src/main/scala/hmda/persistence/submission/HmdaValidationError.scala index 19ee7a927e..4aa2fcd9f5 100644 --- a/hmda/src/main/scala/hmda/persistence/submission/HmdaValidationError.scala +++ b/hmda/src/main/scala/hmda/persistence/submission/HmdaValidationError.scala @@ -1,20 +1,20 @@ package hmda.persistence.submission import java.time.Instant -import akka.actor.typed._ -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.typed.scaladsl.{ActorContext, Behaviors} -import akka.cluster.sharding.typed.ShardingEnvelope -import akka.cluster.sharding.typed.scaladsl.{ClusterSharding, EntityRef} -import akka.pattern.ask -import akka.persistence.typed.scaladsl.EventSourcedBehavior.{CommandHandler, EventHandler} -import akka.persistence.typed.scaladsl.{Effect, EventSourcedBehavior, RetentionCriteria} -import akka.persistence.typed.{PersistenceId, RecoveryCompleted} -import akka.stream.Materializer -import akka.stream.scaladsl.{Sink, Source, _} -import akka.stream.typed.scaladsl.ActorFlow -import akka.util.{ByteString, Timeout} -import akka.{Done, NotUsed} +import org.apache.pekko.actor.typed._ +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.typed.scaladsl.{ActorContext, Behaviors} +import org.apache.pekko.cluster.sharding.typed.ShardingEnvelope +import org.apache.pekko.cluster.sharding.typed.scaladsl.{ClusterSharding, EntityRef} +import org.apache.pekko.pattern.ask +import org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior.{CommandHandler, EventHandler} +import org.apache.pekko.persistence.typed.scaladsl.{Effect, EventSourcedBehavior, RetentionCriteria} +import org.apache.pekko.persistence.typed.{PersistenceId, RecoveryCompleted} +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{Sink, Source, _} +import org.apache.pekko.stream.typed.scaladsl.ActorFlow +import org.apache.pekko.util.{ByteString, Timeout} +import org.apache.pekko.{Done, NotUsed} import com.typesafe.config.Config import com.typesafe.scalalogging.StrictLogging import hmda.HmdaPlatform.stringKafkaProducer @@ -90,7 +90,7 @@ object HmdaValidationError ): CommandHandler[SubmissionProcessingCommand, SubmissionProcessingEvent, HmdaValidationErrorState] = { (state, cmd) => val log = ctx.log implicit val system: ActorSystem[_] = ctx.system - implicit val blockingEc: ExecutionContext = system.dispatchers.lookup(DispatcherSelector.fromConfig("akka.blocking-quality-dispatcher")) + implicit val blockingEc: ExecutionContext = system.dispatchers.lookup(DispatcherSelector.fromConfig("pekko.blocking-quality-dispatcher")) val materializer = implicitly[Materializer] val config = system.settings.config diff --git a/hmda/src/main/scala/hmda/persistence/submission/SubmissionManager.scala b/hmda/src/main/scala/hmda/persistence/submission/SubmissionManager.scala index b219162328..d0187fd24a 100644 --- a/hmda/src/main/scala/hmda/persistence/submission/SubmissionManager.scala +++ b/hmda/src/main/scala/hmda/persistence/submission/SubmissionManager.scala @@ -1,9 +1,9 @@ package hmda.persistence.submission -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.{ActorRef, Behavior} -import akka.cluster.sharding.typed.ShardingEnvelope -import akka.cluster.sharding.typed.scaladsl.{ClusterSharding, EntityRef} +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.{ActorRef, Behavior} +import org.apache.pekko.cluster.sharding.typed.ShardingEnvelope +import org.apache.pekko.cluster.sharding.typed.scaladsl.{ClusterSharding, EntityRef} import hmda.actor.HmdaTypedActor import hmda.messages.submission.SubmissionCommands.ModifySubmission import hmda.messages.submission.SubmissionEvents.{SubmissionEvent, SubmissionModified} diff --git a/hmda/src/main/scala/hmda/persistence/submission/SubmissionPersistence.scala b/hmda/src/main/scala/hmda/persistence/submission/SubmissionPersistence.scala index 1f3a3f3b43..adbb07e391 100644 --- a/hmda/src/main/scala/hmda/persistence/submission/SubmissionPersistence.scala +++ b/hmda/src/main/scala/hmda/persistence/submission/SubmissionPersistence.scala @@ -2,13 +2,13 @@ package hmda.persistence.submission import java.time.Instant -import akka.actor.typed.scaladsl.{ ActorContext, Behaviors } -import akka.actor.typed.{ ActorRef, Behavior } -import akka.cluster.sharding.typed.ShardingEnvelope -import akka.cluster.sharding.typed.scaladsl.{ ClusterSharding, EntityRef } -import akka.persistence.typed.PersistenceId -import akka.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler -import akka.persistence.typed.scaladsl.{ Effect, EventSourcedBehavior, RetentionCriteria } +import org.apache.pekko.actor.typed.scaladsl.{ ActorContext, Behaviors } +import org.apache.pekko.actor.typed.{ ActorRef, Behavior } +import org.apache.pekko.cluster.sharding.typed.ShardingEnvelope +import org.apache.pekko.cluster.sharding.typed.scaladsl.{ ClusterSharding, EntityRef } +import org.apache.pekko.persistence.typed.PersistenceId +import org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler +import org.apache.pekko.persistence.typed.scaladsl.{ Effect, EventSourcedBehavior, RetentionCriteria } import hmda.messages.filing.FilingCommands.{ AddSubmission, UpdateSubmission } import hmda.messages.submission.SubmissionCommands._ import hmda.messages.submission.SubmissionEvents.{ SubmissionCreated, SubmissionEvent, SubmissionModified, SubmissionNotExists } diff --git a/hmda/src/main/scala/hmda/persistence/submission/ValidationProgressTracker.scala b/hmda/src/main/scala/hmda/persistence/submission/ValidationProgressTracker.scala index 49ac0bbd46..8d66ba4740 100644 --- a/hmda/src/main/scala/hmda/persistence/submission/ValidationProgressTracker.scala +++ b/hmda/src/main/scala/hmda/persistence/submission/ValidationProgressTracker.scala @@ -1,9 +1,9 @@ package hmda.persistence.submission -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.typed.{ Behavior, Terminated } -import akka.actor.{ ActorRef => ClassicActorRef } +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.typed.{ Behavior, Terminated } +import org.apache.pekko.actor.{ ActorRef => ClassicActorRef } import hmda.messages.submission.ValidationProgressTrackerCommands._ import hmda.model.processing.state.{ HmdaValidationErrorState, ValidationProgressTrackerState, ValidationType } // $COVERAGE-OFF$ diff --git a/hmda/src/main/scala/hmda/publication/HmdaPublication.scala b/hmda/src/main/scala/hmda/publication/HmdaPublication.scala index d500215690..bf5f64f63f 100644 --- a/hmda/src/main/scala/hmda/publication/HmdaPublication.scala +++ b/hmda/src/main/scala/hmda/publication/HmdaPublication.scala @@ -1,7 +1,7 @@ package hmda.publication -import akka.actor.typed.{ Behavior, PostStop, PreRestart } -import akka.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.{ Behavior, PostStop, PreRestart } +import org.apache.pekko.actor.typed.scaladsl.Behaviors object HmdaPublication { diff --git a/hmda/src/main/scala/hmda/util/SourceUtils.scala b/hmda/src/main/scala/hmda/util/SourceUtils.scala index 81d5c73963..69720dd088 100644 --- a/hmda/src/main/scala/hmda/util/SourceUtils.scala +++ b/hmda/src/main/scala/hmda/util/SourceUtils.scala @@ -1,8 +1,8 @@ package hmda.util -import akka.NotUsed -import akka.stream.Materializer -import akka.stream.scaladsl.{ Sink, Source } +import org.apache.pekko.NotUsed +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{ Sink, Source } import scala.collection.immutable import scala.concurrent.Future diff --git a/hmda/src/main/scala/hmda/validation/HmdaValidation.scala b/hmda/src/main/scala/hmda/validation/HmdaValidation.scala index aefbf114eb..0b5e0b997d 100644 --- a/hmda/src/main/scala/hmda/validation/HmdaValidation.scala +++ b/hmda/src/main/scala/hmda/validation/HmdaValidation.scala @@ -1,7 +1,7 @@ package hmda.validation -import akka.actor.typed.{ Behavior, PostStop, PreRestart } -import akka.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.{ Behavior, PostStop, PreRestart } +import org.apache.pekko.actor.typed.scaladsl.Behaviors object HmdaValidation { diff --git a/hmda/src/main/scala/hmda/validation/aggregate/DistinctElements.scala b/hmda/src/main/scala/hmda/validation/aggregate/DistinctElements.scala index 842c56a60c..ec804333a2 100644 --- a/hmda/src/main/scala/hmda/validation/aggregate/DistinctElements.scala +++ b/hmda/src/main/scala/hmda/validation/aggregate/DistinctElements.scala @@ -1,9 +1,9 @@ package hmda.validation.aggregate -import akka.NotUsed -import akka.stream.Materializer -import akka.stream.scaladsl.{ Keep, Sink, Source } -import akka.util.ByteString +import org.apache.pekko.NotUsed +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{ Keep, Sink, Source } +import org.apache.pekko.util.ByteString import com.typesafe.scalalogging.StrictLogging import hmda.model.filing.lar.LoanApplicationRegister import hmda.model.filing.lar.enums.LoanOriginated diff --git a/hmda/src/main/scala/hmda/validation/engine/ValidationEngine.scala b/hmda/src/main/scala/hmda/validation/engine/ValidationEngine.scala index e3f78d6939..2972b45f78 100644 --- a/hmda/src/main/scala/hmda/validation/engine/ValidationEngine.scala +++ b/hmda/src/main/scala/hmda/validation/engine/ValidationEngine.scala @@ -1,7 +1,7 @@ package hmda.validation.engine -import akka.stream.Materializer -import akka.stream.scaladsl.{ Sink, Source } +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{ Sink, Source } import cats.data.Validated import cats.implicits._ import hmda.model.validation._ diff --git a/hmda/src/main/scala/hmda/validation/filing/MacroValidationFlow.scala b/hmda/src/main/scala/hmda/validation/filing/MacroValidationFlow.scala index 51d32dc87a..5095b0e830 100644 --- a/hmda/src/main/scala/hmda/validation/filing/MacroValidationFlow.scala +++ b/hmda/src/main/scala/hmda/validation/filing/MacroValidationFlow.scala @@ -1,9 +1,9 @@ package hmda.validation.filing -import akka.NotUsed -import akka.actor.typed.ActorSystem -import akka.stream.Materializer -import akka.stream.scaladsl.Source +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.Source import com.typesafe.config.ConfigFactory import hmda.model.filing.lar.LoanApplicationRegister import hmda.model.filing.lar.enums._ diff --git a/hmda/src/main/scala/hmda/validation/filing/ValidationFlow.scala b/hmda/src/main/scala/hmda/validation/filing/ValidationFlow.scala index a7f1ebd155..5266617e7f 100644 --- a/hmda/src/main/scala/hmda/validation/filing/ValidationFlow.scala +++ b/hmda/src/main/scala/hmda/validation/filing/ValidationFlow.scala @@ -1,9 +1,9 @@ package hmda.validation.filing -import akka.NotUsed -import akka.stream.{ FlowShape, Materializer } -import akka.stream.scaladsl.{ Broadcast, Concat, Flow, GraphDSL } -import akka.util.ByteString +import org.apache.pekko.NotUsed +import org.apache.pekko.stream.{ FlowShape, Materializer } +import org.apache.pekko.stream.scaladsl.{ Broadcast, Concat, Flow, GraphDSL } +import org.apache.pekko.util.ByteString import cats.Semigroup import hmda.model.filing.EditDescriptionLookup.config import hmda.model.filing.{ EditDescriptionLookup, PipeDelimited } diff --git a/hmda/src/test/resources/application.conf b/hmda/src/test/resources/application.conf index 80acb71aed..d459bd6f2b 100644 --- a/hmda/src/test/resources/application.conf +++ b/hmda/src/test/resources/application.conf @@ -1,6 +1,6 @@ include "persistence.conf" -akka { +pekko { stdout-loglevel = OFF loglevel = OFF @@ -35,6 +35,9 @@ akka { } datastax-java-driver { + basic.request { + timeout = 10 seconds + } basic { contact-points = ["localhost:9042"] load-balancing-policy.local-datacenter = "datacenter1" diff --git a/hmda/src/test/scala/hmda/api/http/IntegrationQuarterlySpec.scala b/hmda/src/test/scala/hmda/api/http/IntegrationQuarterlySpec.scala index e6ecaa1c72..f6c4122d06 100644 --- a/hmda/src/test/scala/hmda/api/http/IntegrationQuarterlySpec.scala +++ b/hmda/src/test/scala/hmda/api/http/IntegrationQuarterlySpec.scala @@ -1,14 +1,14 @@ package hmda.api.http -import akka.actor.typed.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{Cluster, Join} -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.model.StatusCodes.Created -import akka.http.scaladsl.testkit.ScalatestRouteTest -import akka.stream.scaladsl.Sink -import akka.util.Timeout +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{Cluster, Join} +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.model.StatusCodes.Created +import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest +import org.apache.pekko.stream.scaladsl.Sink +import org.apache.pekko.util.Timeout import com.typesafe.config.Config import hmda.api.http.admin.{ InstitutionAdminHttpApi, SubmissionAdminHttpApi } import hmda.api.http.filing.submissions._ @@ -20,7 +20,7 @@ import hmda.model.filing.FilingDetails import hmda.model.filing.submission.{Submission, SubmissionId} import hmda.model.institution.Institution import hmda.model.institution.InstitutionGenerators.institutionGen -import hmda.persistence.AkkaCassandraPersistenceSpec +import hmda.persistence.PekkoCassandraPersistenceSpec import hmda.persistence.filing.FilingPersistence import hmda.persistence.institution.InstitutionPersistence import hmda.persistence.submission._ @@ -37,7 +37,7 @@ import scala.concurrent.{Await, ExecutionContext} import scala.util.Random class IntegrationQuarterlySpec - extends AkkaCassandraPersistenceSpec + extends PekkoCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest with FileUploadUtils @@ -111,7 +111,7 @@ class IntegrationQuarterlySpec "IntegrationQuarterlySpec" must { "run through for a quarterly submission" in { - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ val institution = Post("/institutions", sampleInstitutionQuarterly) ~> institutionAdminRoute(oAuth2Authorization) ~> check { response.status mustBe Created responseAs[Institution] diff --git a/hmda/src/test/scala/hmda/api/http/IntegrationSpec.scala b/hmda/src/test/scala/hmda/api/http/IntegrationSpec.scala index 818a0fff2f..b41a5022a9 100644 --- a/hmda/src/test/scala/hmda/api/http/IntegrationSpec.scala +++ b/hmda/src/test/scala/hmda/api/http/IntegrationSpec.scala @@ -1,15 +1,15 @@ package hmda.api.http -import akka.actor.typed.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{Cluster, Join} -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.model.StatusCodes.Created -import akka.http.scaladsl.model.headers.{ContentDispositionTypes, `Content-Disposition`} -import akka.http.scaladsl.testkit.{ScalatestRouteTest, WSProbe} -import akka.stream.scaladsl.Sink -import akka.util.Timeout +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{Cluster, Join} +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.model.StatusCodes.Created +import org.apache.pekko.http.scaladsl.model.headers.{ContentDispositionTypes, `Content-Disposition`} +import org.apache.pekko.http.scaladsl.testkit.{ScalatestRouteTest, WSProbe} +import org.apache.pekko.stream.scaladsl.Sink +import org.apache.pekko.util.Timeout import com.typesafe.config.Config import hmda.api.http.admin.{InstitutionAdminHttpApi, SubmissionAdminHttpApi} import hmda.api.http.filing.submissions._ @@ -22,7 +22,7 @@ import hmda.model.filing.FilingDetails import hmda.model.filing.submission.{Submission, SubmissionId} import hmda.model.institution.Institution import hmda.model.institution.InstitutionGenerators.institutionGen -import hmda.persistence.AkkaCassandraPersistenceSpec +import hmda.persistence.PekkoCassandraPersistenceSpec import hmda.persistence.filing.FilingPersistence import hmda.persistence.institution.InstitutionPersistence import hmda.persistence.submission._ @@ -38,7 +38,7 @@ import scala.concurrent.duration._ import scala.concurrent.{Await, ExecutionContext} import scala.util.Random -class IntegrationSpec extends AkkaCassandraPersistenceSpec +class IntegrationSpec extends PekkoCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest with FileUploadUtils @@ -113,7 +113,7 @@ class IntegrationSpec extends AkkaCassandraPersistenceSpec "IntegrationSpec" must { "run through the process for a yearly submission" in { - import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ + import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ val institution = Post("/institutions", sampleInstitution) ~> institutionAdminRoute(oAuth2Authorization) ~> check { response.status mustBe Created responseAs[Institution] diff --git a/hmda/src/test/scala/hmda/api/http/admin/InstitutionAdminHttpApiSpec.scala b/hmda/src/test/scala/hmda/api/http/admin/InstitutionAdminHttpApiSpec.scala index 62c0939550..375153d3e0 100644 --- a/hmda/src/test/scala/hmda/api/http/admin/InstitutionAdminHttpApiSpec.scala +++ b/hmda/src/test/scala/hmda/api/http/admin/InstitutionAdminHttpApiSpec.scala @@ -1,21 +1,22 @@ package hmda.api.http.admin -import akka.actor.typed.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{ Cluster, Join } -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.server.Route -import akka.http.scaladsl.testkit.{ RouteTestTimeout, ScalatestRouteTest } -import akka.testkit._ -import akka.util.Timeout +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{ Cluster, Join } +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.testkit.{ RouteTestTimeout, ScalatestRouteTest } +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.testkit._ +import org.apache.pekko.util.Timeout import com.typesafe.config.Config -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.model.admin.InstitutionDeletedResponse import hmda.auth.{ KeycloakTokenVerifier, OAuth2Authorization } import hmda.model.institution.Institution import hmda.model.institution.InstitutionGenerators._ -import hmda.persistence.AkkaCassandraPersistenceSpec +import hmda.persistence.PekkoCassandraPersistenceSpec import hmda.persistence.institution.InstitutionPersistence import org.scalatest.MustMatchers import org.slf4j.{ Logger, LoggerFactory } @@ -23,7 +24,7 @@ import org.slf4j.{ Logger, LoggerFactory } import scala.concurrent.duration._ import scala.util.Random -class InstitutionAdminHttpApiSpec extends AkkaCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest { +class InstitutionAdminHttpApiSpec extends PekkoCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest { val duration = 10.seconds diff --git a/hmda/src/test/scala/hmda/api/http/directives/QuarterlyFilingAuthorizationSpec.scala b/hmda/src/test/scala/hmda/api/http/directives/QuarterlyFilingAuthorizationSpec.scala index 4bbbde0ebe..0bea97437f 100644 --- a/hmda/src/test/scala/hmda/api/http/directives/QuarterlyFilingAuthorizationSpec.scala +++ b/hmda/src/test/scala/hmda/api/http/directives/QuarterlyFilingAuthorizationSpec.scala @@ -1,26 +1,26 @@ package hmda.api.http.directives -import akka.actor.testkit.typed.scaladsl.TestProbe -import akka.actor.typed.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{ Cluster, Join } -import akka.http.scaladsl.model.StatusCodes._ -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.http.scaladsl.testkit.ScalatestRouteTest -import akka.util.Timeout +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{ Cluster, Join } +import org.apache.pekko.http.scaladsl.model.StatusCodes._ +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest +import org.apache.pekko.util.Timeout import hmda.messages.institution.InstitutionCommands.CreateInstitution import hmda.messages.institution.InstitutionEvents.{ InstitutionCreated, InstitutionEvent } import hmda.model.institution.Institution -import hmda.persistence.AkkaCassandraPersistenceSpec +import hmda.persistence.PekkoCassandraPersistenceSpec import hmda.persistence.institution.InstitutionPersistence import org.scalatest.{ Assertion, MustMatchers } import org.slf4j.{ Logger, LoggerFactory } import scala.concurrent.duration._ -class QuarterlyFilingAuthorizationSpec extends AkkaCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest { +class QuarterlyFilingAuthorizationSpec extends PekkoCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest { override implicit val typedSystem: ActorSystem[_] = system.toTyped val sharding = ClusterSharding(typedSystem) diff --git a/hmda/src/test/scala/hmda/api/http/filing/FileUploadUtils.scala b/hmda/src/test/scala/hmda/api/http/filing/FileUploadUtils.scala index 3af9ce2116..80849f968b 100644 --- a/hmda/src/test/scala/hmda/api/http/filing/FileUploadUtils.scala +++ b/hmda/src/test/scala/hmda/api/http/filing/FileUploadUtils.scala @@ -1,6 +1,6 @@ package hmda.api.http.filing -import akka.http.scaladsl.model.{ContentTypes, HttpEntity, Multipart} +import org.apache.pekko.http.scaladsl.model.{ContentTypes, HttpEntity, Multipart} trait FileUploadUtils { def multiPartFile(contents: String, fileName: String) = diff --git a/hmda/src/test/scala/hmda/api/http/filing/FilingHttpApiSpec.scala b/hmda/src/test/scala/hmda/api/http/filing/FilingHttpApiSpec.scala index 1205ae68b4..16634c5b60 100644 --- a/hmda/src/test/scala/hmda/api/http/filing/FilingHttpApiSpec.scala +++ b/hmda/src/test/scala/hmda/api/http/filing/FilingHttpApiSpec.scala @@ -1,22 +1,23 @@ package hmda.api.http.filing -import akka.actor.testkit.typed.scaladsl.TestProbe -import akka.actor.typed.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{ Cluster, Join } -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.testkit.{ RouteTestTimeout, ScalatestRouteTest } -import akka.testkit._ -import akka.util.Timeout -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{ Cluster, Join } +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.testkit.{ RouteTestTimeout, ScalatestRouteTest } +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.testkit._ +import org.apache.pekko.util.Timeout +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.auth.{ KeycloakTokenVerifier, OAuth2Authorization } import hmda.messages.institution.InstitutionCommands.CreateInstitution import hmda.messages.institution.InstitutionEvents._ import hmda.model.filing.{ FilingDetails, InProgress } import hmda.model.institution.Institution import hmda.model.institution.InstitutionGenerators._ -import hmda.persistence.AkkaCassandraPersistenceSpec +import hmda.persistence.PekkoCassandraPersistenceSpec import hmda.persistence.filing.FilingPersistence import hmda.persistence.institution.InstitutionPersistence import io.circe.generic.auto._ @@ -26,9 +27,9 @@ import org.slf4j.{ Logger, LoggerFactory } import scala.concurrent.duration._ import scala.util.Random -class FilingHttpApiSpec extends AkkaCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest { +class FilingHttpApiSpec extends PekkoCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest { - val duration = 90.seconds + val duration = 120.seconds implicit val routeTimeout = RouteTestTimeout(duration.dilated) diff --git a/hmda/src/test/scala/hmda/api/http/filing/InstitutionHttpApiSpec.scala b/hmda/src/test/scala/hmda/api/http/filing/InstitutionHttpApiSpec.scala index 67b2390b34..d9d92f11cf 100644 --- a/hmda/src/test/scala/hmda/api/http/filing/InstitutionHttpApiSpec.scala +++ b/hmda/src/test/scala/hmda/api/http/filing/InstitutionHttpApiSpec.scala @@ -1,15 +1,16 @@ package hmda.api.http.filing -import akka.actor.testkit.typed.scaladsl.TestProbe -import akka.actor.typed.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{ Cluster, Join } -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.testkit.{ RouteTestTimeout, ScalatestRouteTest } -import akka.testkit._ -import akka.util.Timeout -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{ Cluster, Join } +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.testkit.{ RouteTestTimeout, ScalatestRouteTest } +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.testkit._ +import org.apache.pekko.util.Timeout +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.auth.{ KeycloakTokenVerifier, OAuth2Authorization } import hmda.messages.filing.FilingCommands.CreateFiling import hmda.messages.filing.FilingEvents.{ FilingCreated, FilingEvent } @@ -19,7 +20,7 @@ import hmda.model.filing.Filing import hmda.model.filing.FilingGenerator._ import hmda.model.institution.InstitutionGenerators._ import hmda.model.institution.{ Institution, InstitutionDetail } -import hmda.persistence.AkkaCassandraPersistenceSpec +import hmda.persistence.PekkoCassandraPersistenceSpec import hmda.persistence.filing.FilingPersistence import hmda.persistence.institution.InstitutionPersistence import io.circe.generic.auto._ @@ -29,7 +30,7 @@ import org.slf4j.{ Logger, LoggerFactory } import scala.concurrent.ExecutionContext import scala.concurrent.duration._ -class InstitutionHttpApiSpec extends AkkaCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest { +class InstitutionHttpApiSpec extends PekkoCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest { val duration = 30.seconds diff --git a/hmda/src/test/scala/hmda/api/http/filing/submissions/ParseErrorHttpApiSpec.scala b/hmda/src/test/scala/hmda/api/http/filing/submissions/ParseErrorHttpApiSpec.scala index 6a1db46ebd..a7e35905db 100644 --- a/hmda/src/test/scala/hmda/api/http/filing/submissions/ParseErrorHttpApiSpec.scala +++ b/hmda/src/test/scala/hmda/api/http/filing/submissions/ParseErrorHttpApiSpec.scala @@ -1,15 +1,15 @@ package hmda.api.http.filing.submissions -import akka.actor.testkit.typed.scaladsl.TestProbe -import akka.actor.typed.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{ Cluster, Join } -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.server.Route -import akka.http.scaladsl.testkit.ScalatestRouteTest -import akka.util.Timeout -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{ Cluster, Join } +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest +import org.apache.pekko.util.Timeout +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.model.filing.submissions.ParsingErrorSummary import hmda.auth.{ KeycloakTokenVerifier, OAuth2Authorization } import hmda.messages.filing.FilingCommands.CreateFiling @@ -27,7 +27,7 @@ import hmda.model.institution.Institution import hmda.model.institution.InstitutionGenerators.institutionGen import hmda.model.submission.SubmissionGenerator.submissionGen import hmda.parser.filing.lar.LarParserErrorModel.InvalidLarId -import hmda.persistence.AkkaCassandraPersistenceSpec +import hmda.persistence.PekkoCassandraPersistenceSpec import hmda.persistence.filing.FilingPersistence import hmda.persistence.institution.InstitutionPersistence import hmda.persistence.submission.{ HmdaParserError, SubmissionPersistence } @@ -39,7 +39,7 @@ import scala.concurrent.ExecutionContext import scala.concurrent.duration._ import scala.util.Random -class ParseErrorHttpApiSpec extends AkkaCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest { +class ParseErrorHttpApiSpec extends PekkoCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest { val duration = 10.seconds diff --git a/hmda/src/test/scala/hmda/api/http/filing/submissions/SubmissionHttpApiSpec.scala b/hmda/src/test/scala/hmda/api/http/filing/submissions/SubmissionHttpApiSpec.scala index f7d5d0c53a..4860a8f1d3 100644 --- a/hmda/src/test/scala/hmda/api/http/filing/submissions/SubmissionHttpApiSpec.scala +++ b/hmda/src/test/scala/hmda/api/http/filing/submissions/SubmissionHttpApiSpec.scala @@ -1,16 +1,16 @@ package hmda.api.http.filing.submissions -import akka.actor.testkit.typed.scaladsl.TestProbe -import akka.actor.typed.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{ Cluster, Join } -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.testkit.{ RouteTestTimeout, ScalatestRouteTest } -import akka.testkit._ -import akka.util.Timeout +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{ Cluster, Join } +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.testkit.{ RouteTestTimeout, ScalatestRouteTest } +import org.apache.pekko.testkit._ +import org.apache.pekko.util.Timeout import com.typesafe.config.Config -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.model.ErrorResponse import hmda.auth.{ KeycloakTokenVerifier, OAuth2Authorization } import hmda.messages.filing.FilingCommands.CreateFiling @@ -22,7 +22,7 @@ import hmda.model.filing.FilingGenerator._ import hmda.model.filing.submission.{ Submission, SubmissionId, VerificationStatus } import hmda.model.institution.Institution import hmda.model.institution.InstitutionGenerators.institutionGen -import hmda.persistence.AkkaCassandraPersistenceSpec +import hmda.persistence.PekkoCassandraPersistenceSpec import hmda.persistence.filing.FilingPersistence import hmda.persistence.institution.InstitutionPersistence import hmda.persistence.submission.{ HmdaValidationError, SubmissionPersistence } @@ -32,7 +32,7 @@ import org.slf4j.{ Logger, LoggerFactory } import scala.concurrent.duration._ -class SubmissionHttpApiSpec extends AkkaCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest { +class SubmissionHttpApiSpec extends PekkoCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest { val duration: FiniteDuration = 30.seconds val config: Config = system.settings.config diff --git a/hmda/src/test/scala/hmda/api/http/filing/submissions/UploadHttpApiSpec.scala b/hmda/src/test/scala/hmda/api/http/filing/submissions/UploadHttpApiSpec.scala index 173018405e..1afdabeed0 100644 --- a/hmda/src/test/scala/hmda/api/http/filing/submissions/UploadHttpApiSpec.scala +++ b/hmda/src/test/scala/hmda/api/http/filing/submissions/UploadHttpApiSpec.scala @@ -1,18 +1,19 @@ package hmda.api.http.filing.submissions -import akka.actor.testkit.typed.scaladsl.TestProbe -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{ Cluster, Join } -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.model.Uri.Path -import akka.http.scaladsl.server.Route -import akka.http.scaladsl.testkit.{ RouteTestTimeout, ScalatestRouteTest } -import akka.stream.scaladsl.Source -import akka.testkit._ -import akka.util.Timeout +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{ Cluster, Join } +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.model.Uri.Path +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.testkit.{ RouteTestTimeout, ScalatestRouteTest } +import org.apache.pekko.stream.scaladsl.Source +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.testkit._ +import org.apache.pekko.util.Timeout import com.typesafe.config.Config -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.filing.FileUploadUtils import hmda.api.http.model.ErrorResponse import hmda.auth.{ KeycloakTokenVerifier, OAuth2Authorization } @@ -31,7 +32,7 @@ import hmda.model.filing.ts.TsGenerators._ import hmda.model.institution.Institution import hmda.model.institution.InstitutionGenerators.institutionGen import hmda.model.submission.SubmissionGenerator.submissionGen -import hmda.persistence.AkkaCassandraPersistenceSpec +import hmda.persistence.PekkoCassandraPersistenceSpec import hmda.persistence.filing.FilingPersistence import hmda.persistence.institution.InstitutionPersistence import hmda.persistence.submission._ @@ -41,7 +42,7 @@ import org.slf4j.{ Logger, LoggerFactory } import scala.concurrent.duration._ -class UploadHttpApiSpec extends AkkaCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest with FileUploadUtils { +class UploadHttpApiSpec extends PekkoCassandraPersistenceSpec with MustMatchers with ScalatestRouteTest with FileUploadUtils { implicit val typedSystem = system.toTyped val log: Logger = LoggerFactory.getLogger(getClass) diff --git a/hmda/src/test/scala/hmda/api/http/public/HmdaFileValidationHttpApiSpec.scala b/hmda/src/test/scala/hmda/api/http/public/HmdaFileValidationHttpApiSpec.scala index acb40dedfc..ddd63c6a8e 100644 --- a/hmda/src/test/scala/hmda/api/http/public/HmdaFileValidationHttpApiSpec.scala +++ b/hmda/src/test/scala/hmda/api/http/public/HmdaFileValidationHttpApiSpec.scala @@ -1,11 +1,11 @@ package hmda.api.http.public -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.server.Route -import akka.http.scaladsl.testkit.{ RouteTestTimeout, ScalatestRouteTest } -import akka.http.scaladsl.unmarshalling.Unmarshaller._ -import akka.testkit._ -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.testkit.{ RouteTestTimeout, ScalatestRouteTest } +import org.apache.pekko.http.scaladsl.unmarshalling.Unmarshaller._ +import org.apache.pekko.testkit._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.model.filing.submissions.HmdaRowParsedErrorSummary import hmda.model.filing.lar.LarGenerators.larNGen import hmda.model.filing.ts.TransmittalSheet diff --git a/hmda/src/test/scala/hmda/api/http/public/LarValidationHttpApiSpec.scala b/hmda/src/test/scala/hmda/api/http/public/LarValidationHttpApiSpec.scala index 61e9ead53f..0e6f9ca6a7 100644 --- a/hmda/src/test/scala/hmda/api/http/public/LarValidationHttpApiSpec.scala +++ b/hmda/src/test/scala/hmda/api/http/public/LarValidationHttpApiSpec.scala @@ -1,9 +1,9 @@ package hmda.api.http.public -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.server.Route -import akka.http.scaladsl.testkit.ScalatestRouteTest -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.model.filing.submissions.HmdaRowParsedErrorSummary import hmda.api.http.model.public.{ LarValidateRequest, SingleValidationErrorResult, ValidationErrorSummary, ValidationSingleErrorSummary } import hmda.model.filing.lar.LarGenerators._ diff --git a/hmda/src/test/scala/hmda/api/http/public/TsValidationHttpApiSpec.scala b/hmda/src/test/scala/hmda/api/http/public/TsValidationHttpApiSpec.scala index c0076b817a..3ded7bcaa5 100644 --- a/hmda/src/test/scala/hmda/api/http/public/TsValidationHttpApiSpec.scala +++ b/hmda/src/test/scala/hmda/api/http/public/TsValidationHttpApiSpec.scala @@ -1,9 +1,9 @@ package hmda.api.http.public -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.testkit.ScalatestRouteTest -import akka.util.Timeout -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest +import org.apache.pekko.util.Timeout +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.model.filing.submissions.HmdaRowParsedErrorSummary import hmda.api.http.model.public.{ SingleValidationErrorResult, TsValidateRequest } import hmda.model.filing.ts.{ Address, Contact, TransmittalSheet } diff --git a/hmda/src/test/scala/hmda/persistence/filing/FilingPersistenceSpec.scala b/hmda/src/test/scala/hmda/persistence/filing/FilingPersistenceSpec.scala index e985aedc09..229cef4ce6 100644 --- a/hmda/src/test/scala/hmda/persistence/filing/FilingPersistenceSpec.scala +++ b/hmda/src/test/scala/hmda/persistence/filing/FilingPersistenceSpec.scala @@ -1,21 +1,21 @@ package hmda.persistence.filing -import akka.actor -import akka.actor.testkit.typed.scaladsl.TestProbe -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{ Cluster, Join } +import org.apache.pekko.actor +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{ Cluster, Join } import hmda.messages.filing.FilingCommands._ import hmda.messages.filing.FilingEvents.FilingCreated import hmda.model.filing.{ Filing, FilingDetails, FilingId } -import hmda.persistence.AkkaCassandraPersistenceSpec +import hmda.persistence.PekkoCassandraPersistenceSpec import hmda.model.filing.FilingGenerator._ import hmda.model.filing.submission._ import hmda.model.submission.SubmissionGenerator._ import hmda.persistence.institution.InstitutionPersistence import hmda.utils.YearUtils.Period -class FilingPersistenceSpec extends AkkaCassandraPersistenceSpec { +class FilingPersistenceSpec extends PekkoCassandraPersistenceSpec { override implicit val system = actor.ActorSystem() override implicit val typedSystem = system.toTyped diff --git a/hmda/src/test/scala/hmda/persistence/institution/InstitutionPersistenceSpec.scala b/hmda/src/test/scala/hmda/persistence/institution/InstitutionPersistenceSpec.scala index fc096e7ff2..212f5b4d54 100644 --- a/hmda/src/test/scala/hmda/persistence/institution/InstitutionPersistenceSpec.scala +++ b/hmda/src/test/scala/hmda/persistence/institution/InstitutionPersistenceSpec.scala @@ -1,22 +1,22 @@ package hmda.persistence.institution -import akka.actor -import akka.actor.typed.ActorSystem -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.Cluster -import akka.cluster.typed.Join -import akka.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.Cluster +import org.apache.pekko.cluster.typed.Join +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe import hmda.model.institution.Institution import hmda.model.institution.InstitutionGenerators._ -import hmda.persistence.AkkaCassandraPersistenceSpec -import akka.actor.typed.scaladsl.adapter._ +import hmda.persistence.PekkoCassandraPersistenceSpec +import org.apache.pekko.actor.typed.scaladsl.adapter._ import hmda.messages.institution.InstitutionCommands._ import hmda.messages.institution.InstitutionEvents._ import org.scalatest.Tag object CustomTag extends Tag("actions-ignore") -class InstitutionPersistenceSpec extends AkkaCassandraPersistenceSpec { +class InstitutionPersistenceSpec extends PekkoCassandraPersistenceSpec { override val system = actor.ActorSystem() override implicit val typedSystem: ActorSystem[_] = system.toTyped diff --git a/hmda/src/test/scala/hmda/persistence/submission/EditDetailsPersistenceSpec.scala b/hmda/src/test/scala/hmda/persistence/submission/EditDetailsPersistenceSpec.scala index cd76baeb0e..7e5b0bcc0b 100644 --- a/hmda/src/test/scala/hmda/persistence/submission/EditDetailsPersistenceSpec.scala +++ b/hmda/src/test/scala/hmda/persistence/submission/EditDetailsPersistenceSpec.scala @@ -1,11 +1,11 @@ package hmda.persistence.submission -import akka.actor -import akka.actor.testkit.typed.scaladsl.TestProbe -import hmda.persistence.AkkaCassandraPersistenceSpec -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{ Cluster, Join } +import org.apache.pekko.actor +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import hmda.persistence.PekkoCassandraPersistenceSpec +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{ Cluster, Join } import hmda.messages.submission.EditDetailsCommands.{ GetEditRowCount, PersistEditDetails } import hmda.messages.submission.EditDetailsEvents.{ EditDetailsAdded, EditDetailsPersistenceEvent, EditDetailsRowCounted } import hmda.model.edits.{ EditDetails, EditDetailsRow } @@ -14,7 +14,7 @@ import hmda.utils.YearUtils.Period import scala.util.Random -class EditDetailsPersistenceSpec extends AkkaCassandraPersistenceSpec { +class EditDetailsPersistenceSpec extends PekkoCassandraPersistenceSpec { override implicit val system = actor.ActorSystem() override implicit val typedSystem = system.toTyped diff --git a/hmda/src/test/scala/hmda/persistence/submission/HmdaParserErrorSpec.scala b/hmda/src/test/scala/hmda/persistence/submission/HmdaParserErrorSpec.scala index 20ccb781e8..1dd982f2a5 100644 --- a/hmda/src/test/scala/hmda/persistence/submission/HmdaParserErrorSpec.scala +++ b/hmda/src/test/scala/hmda/persistence/submission/HmdaParserErrorSpec.scala @@ -1,11 +1,11 @@ package hmda.persistence.submission -import akka.actor -import akka.actor.testkit.typed.scaladsl.TestProbe -import hmda.persistence.AkkaCassandraPersistenceSpec -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{ Cluster, Join } +import org.apache.pekko.actor +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import hmda.persistence.PekkoCassandraPersistenceSpec +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{ Cluster, Join } import hmda.messages.submission.SubmissionProcessingCommands.{ GetParsedWithErrorCount, GetParsingErrors, PersistHmdaRowParsedError } import hmda.messages.submission.SubmissionProcessingEvents.{ HmdaRowParsedCount, HmdaRowParsedError, SubmissionProcessingEvent } import hmda.model.filing.submission.SubmissionId @@ -17,7 +17,7 @@ import hmda.utils.YearUtils.Period import scala.util.Random -class HmdaParserErrorSpec extends AkkaCassandraPersistenceSpec { +class HmdaParserErrorSpec extends PekkoCassandraPersistenceSpec { override implicit val system = actor.ActorSystem() override implicit val typedSystem = system.toTyped diff --git a/hmda/src/test/scala/hmda/persistence/submission/HmdaRawDataSpec.scala b/hmda/src/test/scala/hmda/persistence/submission/HmdaRawDataSpec.scala index 0a6984de22..6133cc58ee 100644 --- a/hmda/src/test/scala/hmda/persistence/submission/HmdaRawDataSpec.scala +++ b/hmda/src/test/scala/hmda/persistence/submission/HmdaRawDataSpec.scala @@ -1,20 +1,20 @@ package hmda.persistence.submission -import akka.actor -import akka.actor.testkit.typed.scaladsl.TestProbe -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{Cluster, Join} +import org.apache.pekko.actor +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{Cluster, Join} import hmda.messages.submission.HmdaRawDataCommands.AddLines import hmda.messages.submission.HmdaRawDataEvents.LineAdded import hmda.messages.submission.HmdaRawDataReplies.LinesAdded import hmda.model.filing.submission.SubmissionId -import hmda.persistence.AkkaCassandraPersistenceSpec +import hmda.persistence.PekkoCassandraPersistenceSpec import hmda.utils.YearUtils.Period import java.time.Instant -class HmdaRawDataSpec extends AkkaCassandraPersistenceSpec { +class HmdaRawDataSpec extends PekkoCassandraPersistenceSpec { override implicit val system = actor.ActorSystem() override implicit val typedSystem = system.toTyped diff --git a/hmda/src/test/scala/hmda/persistence/submission/HmdaValidationErrorSpec.scala b/hmda/src/test/scala/hmda/persistence/submission/HmdaValidationErrorSpec.scala index 2a14b12b8b..31cb92057d 100644 --- a/hmda/src/test/scala/hmda/persistence/submission/HmdaValidationErrorSpec.scala +++ b/hmda/src/test/scala/hmda/persistence/submission/HmdaValidationErrorSpec.scala @@ -1,14 +1,14 @@ package hmda.persistence.submission -import akka.actor -import akka.actor.testkit.typed.scaladsl.TestProbe -import akka.actor.typed.ActorRef -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{Cluster, Join} -import akka.stream.Materializer -import akka.stream.scaladsl.StreamConverters -import akka.util.Timeout +import org.apache.pekko.actor +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor.typed.ActorRef +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{Cluster, Join} +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.StreamConverters +import org.apache.pekko.util.Timeout import hmda.messages.submission.HmdaRawDataCommands.AddLines import hmda.messages.submission.HmdaRawDataReplies.LinesAdded import hmda.messages.submission.SubmissionProcessingCommands._ @@ -18,7 +18,7 @@ import hmda.messages.submission.ValidationProgressTrackerCommands.ValidationProg import hmda.model.filing.submission.{MacroErrors, SubmissionId, Verified} import hmda.model.processing.state.{EditSummary, HmdaValidationErrorState, ValidationProgress, ValidationProgressTrackerState} import hmda.model.validation._ -import hmda.persistence.AkkaCassandraPersistenceSpec +import hmda.persistence.PekkoCassandraPersistenceSpec import hmda.persistence.institution.InstitutionPersistence import hmda.util.streams.FlowUtils.framing import hmda.utils.YearUtils.Period @@ -28,7 +28,7 @@ import org.scalatest.concurrent.ScalaFutures import java.time.Instant import scala.concurrent.duration._ -class HmdaValidationErrorSpec extends AkkaCassandraPersistenceSpec with ScalaFutures { +class HmdaValidationErrorSpec extends PekkoCassandraPersistenceSpec with ScalaFutures { override implicit val system = actor.ActorSystem() override implicit val typedSystem = system.toTyped diff --git a/hmda/src/test/scala/hmda/persistence/submission/SubmissionManagerSpec.scala b/hmda/src/test/scala/hmda/persistence/submission/SubmissionManagerSpec.scala index 477db9e29d..c9c7eaa960 100644 --- a/hmda/src/test/scala/hmda/persistence/submission/SubmissionManagerSpec.scala +++ b/hmda/src/test/scala/hmda/persistence/submission/SubmissionManagerSpec.scala @@ -1,11 +1,11 @@ package hmda.persistence.submission -import akka.actor -import akka.actor.testkit.typed.scaladsl.TestProbe -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{ Cluster, Join } -import akka.http.scaladsl.testkit.RouteTestTimeout +import org.apache.pekko.actor +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{ Cluster, Join } +import org.apache.pekko.http.scaladsl.testkit.RouteTestTimeout import hmda.messages.filing.FilingCommands.GetLatestSubmission import hmda.messages.submission.SubmissionCommands.{ CreateSubmission, GetSubmission } import hmda.messages.submission.SubmissionEvents.{ SubmissionCreated, SubmissionEvent } @@ -14,19 +14,19 @@ import hmda.model.filing.FilingGenerator.filingGen import hmda.model.filing.{ Filing, FilingId } import hmda.model.filing.submission._ import hmda.model.submission.SubmissionGenerator.submissionGen -import hmda.persistence.AkkaCassandraPersistenceSpec +import hmda.persistence.PekkoCassandraPersistenceSpec import hmda.persistence.filing.FilingPersistence import hmda.utils.YearUtils.Period import org.scalatest.{ BeforeAndAfterAll, MustMatchers } -import akka.testkit._ +import org.apache.pekko.testkit._ import scala.concurrent.duration._ -class SubmissionManagerSpec extends AkkaCassandraPersistenceSpec with MustMatchers with BeforeAndAfterAll { +class SubmissionManagerSpec extends PekkoCassandraPersistenceSpec with MustMatchers with BeforeAndAfterAll { implicit val system = actor.ActorSystem() implicit val typedSystem = system.toTyped - val duration = 10.seconds + val duration = 120.seconds implicit val routeTimeout = RouteTestTimeout(duration.dilated) diff --git a/hmda/src/test/scala/hmda/persistence/submission/SubmissionPersistenceSpec.scala b/hmda/src/test/scala/hmda/persistence/submission/SubmissionPersistenceSpec.scala index 2e019b91f6..f6e53290f3 100644 --- a/hmda/src/test/scala/hmda/persistence/submission/SubmissionPersistenceSpec.scala +++ b/hmda/src/test/scala/hmda/persistence/submission/SubmissionPersistenceSpec.scala @@ -1,11 +1,11 @@ package hmda.persistence.submission -import akka.actor -import akka.actor.testkit.typed.scaladsl.TestProbe -import hmda.persistence.AkkaCassandraPersistenceSpec -import akka.actor.typed.scaladsl.adapter._ -import akka.cluster.sharding.typed.scaladsl.ClusterSharding -import akka.cluster.typed.{ Cluster, Join } +import org.apache.pekko.actor +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import hmda.persistence.PekkoCassandraPersistenceSpec +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.cluster.sharding.typed.scaladsl.ClusterSharding +import org.apache.pekko.cluster.typed.{ Cluster, Join } import hmda.messages.submission.SubmissionCommands.{ CreateSubmission, GetSubmission, ModifySubmission } import hmda.messages.submission.SubmissionEvents.{ SubmissionCreated, SubmissionEvent, SubmissionModified, SubmissionNotExists } import hmda.model.filing.submission.{ Created, Submission, SubmissionId, Uploaded } @@ -15,7 +15,7 @@ import hmda.utils.YearUtils.Period import scala.concurrent.duration._ -class SubmissionPersistenceSpec extends AkkaCassandraPersistenceSpec { +class SubmissionPersistenceSpec extends PekkoCassandraPersistenceSpec { override implicit val system = actor.ActorSystem() override implicit val typedSystem = system.toTyped diff --git a/hmda/src/test/scala/hmda/publication/HmdaPublicationSpec.scala b/hmda/src/test/scala/hmda/publication/HmdaPublicationSpec.scala index 8eb3306f0c..f8bd28d745 100644 --- a/hmda/src/test/scala/hmda/publication/HmdaPublicationSpec.scala +++ b/hmda/src/test/scala/hmda/publication/HmdaPublicationSpec.scala @@ -1,8 +1,8 @@ package hmda.publication -import akka.actor.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.testkit.{ ImplicitSender, TestKit } +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.testkit.{ ImplicitSender, TestKit } import org.scalatest.{ MustMatchers, WordSpecLike } class HmdaPublicationSpec extends TestKit(ActorSystem("hmda-publication-spec")) with WordSpecLike with MustMatchers with ImplicitSender { diff --git a/hmda/src/test/scala/hmda/util/SourceUtilsSpec.scala b/hmda/src/test/scala/hmda/util/SourceUtilsSpec.scala index 8b0fefa909..ceb415ee09 100644 --- a/hmda/src/test/scala/hmda/util/SourceUtilsSpec.scala +++ b/hmda/src/test/scala/hmda/util/SourceUtilsSpec.scala @@ -1,8 +1,8 @@ package hmda.util -import akka.actor.ActorSystem -import akka.stream.Materializer -import akka.stream.scaladsl.Source +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.Source import hmda.util.SourceUtils._ import org.scalatest.{ AsyncWordSpec, MustMatchers } diff --git a/hmda/src/test/scala/hmda/validation/HmdaValidationSpec.scala b/hmda/src/test/scala/hmda/validation/HmdaValidationSpec.scala index 7189e7f631..f5d3c91cba 100644 --- a/hmda/src/test/scala/hmda/validation/HmdaValidationSpec.scala +++ b/hmda/src/test/scala/hmda/validation/HmdaValidationSpec.scala @@ -1,8 +1,8 @@ package hmda.validation -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.ActorSystem -import akka.testkit.{ ImplicitSender, TestKit } +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.testkit.{ ImplicitSender, TestKit } import org.scalatest.{ MustMatchers, WordSpecLike } class HmdaValidationSpec extends TestKit(ActorSystem("hmda-validation-spec")) with WordSpecLike with MustMatchers with ImplicitSender { diff --git a/hmda/src/test/scala/hmda/validation/filing/MacroValidationFlowSpec.scala b/hmda/src/test/scala/hmda/validation/filing/MacroValidationFlowSpec.scala index 73e1c0e975..b9daba9bd1 100644 --- a/hmda/src/test/scala/hmda/validation/filing/MacroValidationFlowSpec.scala +++ b/hmda/src/test/scala/hmda/validation/filing/MacroValidationFlowSpec.scala @@ -1,10 +1,10 @@ package hmda.validation.filing -import akka.NotUsed -import akka.actor.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.stream.Materializer -import akka.stream.scaladsl.Source +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.Source import hmda.model.filing.lar.LarGenerators._ import hmda.model.filing.lar.enums._ import hmda.model.filing.lar.{ LarAction, LoanApplicationRegister } diff --git a/hmda/src/test/scala/hmda/validation/filing/ValidationFlowSpec.scala b/hmda/src/test/scala/hmda/validation/filing/ValidationFlowSpec.scala index a64dd4cca5..4bc25ad15f 100644 --- a/hmda/src/test/scala/hmda/validation/filing/ValidationFlowSpec.scala +++ b/hmda/src/test/scala/hmda/validation/filing/ValidationFlowSpec.scala @@ -1,10 +1,10 @@ package hmda.validation.filing -import akka.actor.ActorSystem -import akka.stream.Materializer -import akka.stream.scaladsl.Source -import akka.stream.testkit.scaladsl.TestSink -import akka.util.ByteString +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.Source +import org.apache.pekko.stream.testkit.scaladsl.TestSink +import org.apache.pekko.util.ByteString import hmda.model.filing.PipeDelimited import hmda.model.filing.lar.LoanApplicationRegister import hmda.model.filing.ts.TransmittalSheet diff --git a/institutions-api/src/main/resources/application.conf b/institutions-api/src/main/resources/application.conf index 5f516445ab..212b88ff42 100644 --- a/institutions-api/src/main/resources/application.conf +++ b/institutions-api/src/main/resources/application.conf @@ -1,11 +1,11 @@ include "persistence.conf" -akka { +pekko { stdout-loglevel = "WARNING" loglevel = "INFO" } -akka.http.host-connection-pool.response-entity-subscription-timeout = 100.seconds +pekko.http.host-connection-pool.response-entity-subscription-timeout = 100.seconds hmda { loader { diff --git a/institutions-api/src/main/resources/logback.xml b/institutions-api/src/main/resources/logback.xml index 2cea9f6507..82f31df418 100644 --- a/institutions-api/src/main/resources/logback.xml +++ b/institutions-api/src/main/resources/logback.xml @@ -10,7 +10,7 @@ - + diff --git a/institutions-api/src/main/scala/hmda/institution/HmdaInstitutionApi.scala b/institutions-api/src/main/scala/hmda/institution/HmdaInstitutionApi.scala index 36916de33c..4e40e231bf 100644 --- a/institutions-api/src/main/scala/hmda/institution/HmdaInstitutionApi.scala +++ b/institutions-api/src/main/scala/hmda/institution/HmdaInstitutionApi.scala @@ -1,13 +1,13 @@ package hmda.institution -import akka.Done -import akka.actor.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.kafka.scaladsl.Consumer.DrainingControl -import akka.kafka.scaladsl.{ Committer, Consumer } -import akka.kafka.{ CommitterSettings, ConsumerSettings, Subscriptions } -import akka.stream.Materializer -import akka.stream.scaladsl.{ Keep, Sink, Source } +import org.apache.pekko.Done +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.kafka.scaladsl.Consumer.DrainingControl +import org.apache.pekko.kafka.scaladsl.{ Committer, Consumer } +import org.apache.pekko.kafka.{ CommitterSettings, ConsumerSettings, Subscriptions } +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{ Keep, Sink, Source } import com.typesafe.config.ConfigFactory import hmda.institution.api.http.HmdaInstitutionQueryApi import hmda.institution.projection.{ InstitutionDBProjection, ProjectEvent } @@ -44,7 +44,7 @@ object HmdaInstitutionApi extends App { val host = config.getString("hmda.institution.http.host") val port = config.getString("hmda.institution.http.port") - val kafkaConfig = system.settings.config.getConfig("akka.kafka.consumer") + val kafkaConfig = system.settings.config.getConfig("pekko.kafka.consumer") val jdbcUrl = config.getString("db.db.url") log.info(s"Connection URL is \n\n$jdbcUrl\n") @@ -61,7 +61,9 @@ object HmdaInstitutionApi extends App { .committableSource(consumerSettings, Subscriptions.topics(HmdaTopics.institutionTopic)) .mapAsync(1)(msg => processData(msg.record.value()).map(_ => msg.committableOffset)) .toMat(Committer.sink(CommitterSettings(system).withParallelism(1)))(Keep.both) - .mapMaterializedValue(DrainingControl.apply) + .mapMaterializedValue { + case (control, future) => DrainingControl.apply(control, future) + } .run() val institutionDBProjector = diff --git a/institutions-api/src/main/scala/hmda/institution/api/http/HmdaInstitutionQueryApi.scala b/institutions-api/src/main/scala/hmda/institution/api/http/HmdaInstitutionQueryApi.scala index 81f3bd311f..e2c34a6bc7 100644 --- a/institutions-api/src/main/scala/hmda/institution/api/http/HmdaInstitutionQueryApi.scala +++ b/institutions-api/src/main/scala/hmda/institution/api/http/HmdaInstitutionQueryApi.scala @@ -1,10 +1,10 @@ package hmda.institution.api.http -import akka.actor.typed.Behavior -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.{ ActorSystem, CoordinatedShutdown } -import akka.http.scaladsl.server.Directives._ +import org.apache.pekko.actor.typed.Behavior +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.{ ActorSystem, CoordinatedShutdown } +import org.apache.pekko.http.scaladsl.server.Directives._ import hmda.api.http.directives.HmdaTimeDirectives._ import hmda.api.http.routes.BaseHttpApi diff --git a/institutions-api/src/main/scala/hmda/institution/api/http/InstitutionConverter.scala b/institutions-api/src/main/scala/hmda/institution/api/http/InstitutionConverter.scala index 7df437460b..edbaa74444 100644 --- a/institutions-api/src/main/scala/hmda/institution/api/http/InstitutionConverter.scala +++ b/institutions-api/src/main/scala/hmda/institution/api/http/InstitutionConverter.scala @@ -39,7 +39,7 @@ object InstitutionConverter { entity.quarterlyFilerHasFiledQ1, entity.quarterlyFilerHasFiledQ2, entity.quarterlyFilerHasFiledQ3, - entity.notes + "" )) } diff --git a/institutions-api/src/main/scala/hmda/institution/api/http/InstitutionQueryHttpApi.scala b/institutions-api/src/main/scala/hmda/institution/api/http/InstitutionQueryHttpApi.scala index 0a2efdbcb3..f58f08abdd 100644 --- a/institutions-api/src/main/scala/hmda/institution/api/http/InstitutionQueryHttpApi.scala +++ b/institutions-api/src/main/scala/hmda/institution/api/http/InstitutionQueryHttpApi.scala @@ -1,12 +1,12 @@ package hmda.institution.api.http -import akka.http.scaladsl.marshalling.ToResponseMarshallable -import akka.http.scaladsl.model.{StatusCodes, Uri} -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import org.apache.pekko.http.scaladsl.marshalling.ToResponseMarshallable +import org.apache.pekko.http.scaladsl.model.{StatusCodes, Uri} +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} import com.typesafe.config.Config -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.api.http.directives.CreateFilingAuthorization._ import hmda.api.http.model.ErrorResponse import hmda.institution.api.http.model.{InstitutionNoteHistoryResponse, InstitutionsResponse} diff --git a/institutions-api/src/main/scala/hmda/institution/loader/InstitutionLoader.scala b/institutions-api/src/main/scala/hmda/institution/loader/InstitutionLoader.scala index 7470744d14..27dae810be 100644 --- a/institutions-api/src/main/scala/hmda/institution/loader/InstitutionLoader.scala +++ b/institutions-api/src/main/scala/hmda/institution/loader/InstitutionLoader.scala @@ -2,12 +2,12 @@ package hmda.institution.loader import java.io.File -import akka.actor.ActorSystem -import akka.http.scaladsl.Http -import akka.http.scaladsl.model._ -import akka.stream.Materializer -import akka.stream.scaladsl.{FileIO, Sink} -import akka.util.ByteString +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.http.scaladsl.Http +import org.apache.pekko.http.scaladsl.model._ +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{FileIO, Sink} +import org.apache.pekko.util.ByteString import com.typesafe.config.ConfigFactory import hmda.api.http.FlowUtils import hmda.parser.institution.InstitutionCsvParser @@ -15,8 +15,7 @@ import io.circe.syntax._ import org.slf4j.LoggerFactory import scala.concurrent.duration._ import hmda.auth.OAuth2Authorization -import akka.http.scaladsl.model.headers.{Authorization, OAuth2BearerToken} - + import scala.concurrent.ExecutionContext import scala.util.{ Failure, Success } // $COVERAGE-OFF$ diff --git a/institutions-api/src/main/scala/hmda/institution/projection/InstitutionDBProjection.scala b/institutions-api/src/main/scala/hmda/institution/projection/InstitutionDBProjection.scala index 16d7f193a5..050bd50b0c 100644 --- a/institutions-api/src/main/scala/hmda/institution/projection/InstitutionDBProjection.scala +++ b/institutions-api/src/main/scala/hmda/institution/projection/InstitutionDBProjection.scala @@ -2,8 +2,8 @@ package hmda.institution.projection import java.time.Instant -import akka.actor.typed.Behavior -import akka.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.Behavior +import org.apache.pekko.actor.typed.scaladsl.Behaviors import com.typesafe.config.ConfigFactory import hmda.institution.api.http.InstitutionConverter import hmda.institution.query.{InstitutionNoteHistoryEntity, _} diff --git a/institutions-api/src/test/resources/application-createschema.conf b/institutions-api/src/test/resources/application-createschema.conf index 70bcb98210..72fc1ca529 100644 --- a/institutions-api/src/test/resources/application-createschema.conf +++ b/institutions-api/src/test/resources/application-createschema.conf @@ -1,6 +1,6 @@ include "persistence.conf" -akka { +pekko { stdout-loglevel = OFF loglevel = OFF diff --git a/institutions-api/src/test/resources/application.conf b/institutions-api/src/test/resources/application.conf index 3072c47c7e..0ccdb2f480 100644 --- a/institutions-api/src/test/resources/application.conf +++ b/institutions-api/src/test/resources/application.conf @@ -1,6 +1,6 @@ include "persistence.conf" -akka { +pekko { stdout-loglevel = OFF loglevel = OFF diff --git a/institutions-api/src/test/scala/hmda/institution/api/http/InstitutionQueryHttpApiSpec.scala b/institutions-api/src/test/scala/hmda/institution/api/http/InstitutionQueryHttpApiSpec.scala index ad6f597087..e58dd1e51e 100644 --- a/institutions-api/src/test/scala/hmda/institution/api/http/InstitutionQueryHttpApiSpec.scala +++ b/institutions-api/src/test/scala/hmda/institution/api/http/InstitutionQueryHttpApiSpec.scala @@ -1,11 +1,11 @@ package hmda.institution.api.http -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.server.Route -import akka.http.scaladsl.testkit.ScalatestRouteTest -import akka.util.Timeout +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest +import org.apache.pekko.util.Timeout import com.typesafe.config.ConfigFactory -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.institution.api.http.model.InstitutionsResponse import hmda.institution.query.InstitutionSetup import hmda.model.institution.Institution diff --git a/institutions-api/src/test/scala/hmda/institution/projection/InstitutionDBProjectionSpec.scala b/institutions-api/src/test/scala/hmda/institution/projection/InstitutionDBProjectionSpec.scala index 0c7eadf879..9c4d2609dc 100644 --- a/institutions-api/src/test/scala/hmda/institution/projection/InstitutionDBProjectionSpec.scala +++ b/institutions-api/src/test/scala/hmda/institution/projection/InstitutionDBProjectionSpec.scala @@ -1,9 +1,9 @@ package hmda.institution.projection -import akka.actor.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.testkit.TestKit +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.testkit.TestKit import hmda.institution.query.InstitutionEmailComponent import hmda.messages.institution.InstitutionEvents.{ InstitutionCreated, InstitutionDeleted, InstitutionModified } import hmda.model.institution.Institution diff --git a/institutions-api/src/test/scala/hmda/institution/query/InstitutionSetup.scala b/institutions-api/src/test/scala/hmda/institution/query/InstitutionSetup.scala index 4a43e0459f..2b2e79c5c9 100644 --- a/institutions-api/src/test/scala/hmda/institution/query/InstitutionSetup.scala +++ b/institutions-api/src/test/scala/hmda/institution/query/InstitutionSetup.scala @@ -1,6 +1,6 @@ package hmda.institution.query -import akka.http.scaladsl.testkit.RouteTestTimeout +import org.apache.pekko.http.scaladsl.testkit.RouteTestTimeout import hmda.institution.query.InstitutionEntityGenerators.institutionEntityGen import hmda.query.DbConfiguration.dbConfig import slick.dbio.DBIOAction diff --git a/irs-publisher/src/main/resources/application.conf b/irs-publisher/src/main/resources/application.conf index 92ba4c82e4..aee06c82e9 100644 --- a/irs-publisher/src/main/resources/application.conf +++ b/irs-publisher/src/main/resources/application.conf @@ -5,7 +5,7 @@ include "persistence.conf" # AWS Keyspace with SigV4AuthProvider # include "persistence-keyspace-sigv4.conf" -akka { +pekko { loglevel = info log-dead-letters = off log-dead-letters-during-shutdown = off @@ -21,7 +21,7 @@ akka { } } -akka.http.host-connection-pool.response-entity-subscription-timeout = 100.seconds +pekko.http.host-connection-pool.response-entity-subscription-timeout = 100.seconds cassandra-journal { contact-points = ["localhost"] diff --git a/irs-publisher/src/main/scala/hmda/publication/lar/IrsPublisherApp.scala b/irs-publisher/src/main/scala/hmda/publication/lar/IrsPublisherApp.scala index e9dde4bb8b..ece5eadff7 100644 --- a/irs-publisher/src/main/scala/hmda/publication/lar/IrsPublisherApp.scala +++ b/irs-publisher/src/main/scala/hmda/publication/lar/IrsPublisherApp.scala @@ -1,15 +1,15 @@ package hmda.publication.lar -import akka.Done -import akka.actor.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.kafka.scaladsl.Consumer -import akka.kafka.scaladsl.Consumer.DrainingControl -import akka.kafka.{ConsumerSettings, Subscriptions} -import akka.pattern.ask -import akka.stream.Materializer -import akka.stream.scaladsl.{Keep, Sink, Source} -import akka.util.Timeout +import org.apache.pekko.Done +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.kafka.scaladsl.Consumer +import org.apache.pekko.kafka.scaladsl.Consumer.DrainingControl +import org.apache.pekko.kafka.{ConsumerSettings, Subscriptions} +import org.apache.pekko.pattern.ask +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{Keep, Sink, Source} +import org.apache.pekko.util.Timeout import com.typesafe.config.ConfigFactory import hmda.census.records.CensusRecords import hmda.messages.HmdaMessageFilter @@ -48,7 +48,7 @@ object IrsPublisherApp extends App { implicit val timeout = Timeout(5.seconds) - val kafkaConfig = system.settings.config.getConfig("akka.kafka.consumer") + val kafkaConfig = system.settings.config.getConfig("pekko.kafka.consumer") val config = ConfigFactory.load() val parallelism = config.getInt("hmda.lar.irs.parallelism") @@ -67,7 +67,9 @@ object IrsPublisherApp extends App { .mapAsync(parallelism)(HmdaMessageFilter.processOnlyValidKeys(msg => processData(msg.record.value().stripLineEnd.trim()).map(_ => msg.committableOffset))) .mapAsync(parallelism * 2)(offset => offset.commitScaladsl()) .toMat(Sink.seq)(Keep.both) - .mapMaterializedValue(DrainingControl.apply) + .mapMaterializedValue { + case (control, future) => DrainingControl.apply(control, future) + } .run() def processData(msg: String): Future[Done] = diff --git a/irs-publisher/src/main/scala/hmda/publication/lar/publication/IrsPublisher.scala b/irs-publisher/src/main/scala/hmda/publication/lar/publication/IrsPublisher.scala index 123f738452..97d73d16e2 100644 --- a/irs-publisher/src/main/scala/hmda/publication/lar/publication/IrsPublisher.scala +++ b/irs-publisher/src/main/scala/hmda/publication/lar/publication/IrsPublisher.scala @@ -1,15 +1,15 @@ package hmda.publication.lar.publication -import akka.NotUsed -import akka.actor.typed.Behavior -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.stream.Materializer -import akka.stream.alpakka.s3.ApiVersion.ListBucketVersion2 -import akka.stream.alpakka.s3.scaladsl.S3 -import akka.stream.alpakka.s3.{MemoryBufferType, MultipartUploadResult, S3Attributes, S3Settings} -import akka.stream.scaladsl.{Sink, Source} -import akka.util.ByteString +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.Behavior +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.connectors.s3.ApiVersion.ListBucketVersion2 +import org.apache.pekko.stream.connectors.s3.scaladsl.S3 +import org.apache.pekko.stream.connectors.s3.{MemoryBufferType, MultipartUploadResult, S3Attributes, S3Settings} +import org.apache.pekko.stream.scaladsl.{Sink, Source} +import org.apache.pekko.util.ByteString import com.typesafe.config.ConfigFactory import hmda.census.records.CensusRecords import hmda.census.records.CensusRecords._ diff --git a/kubernetes/beta/hmda-platform/templates/deployment.yaml b/kubernetes/beta/hmda-platform/templates/deployment.yaml index adcb35d687..28a99e43a0 100644 --- a/kubernetes/beta/hmda-platform/templates/deployment.yaml +++ b/kubernetes/beta/hmda-platform/templates/deployment.yaml @@ -271,11 +271,11 @@ spec: # path: /ready # port: {{ .Values.bootstrap.name }} ports: - # akka remoting + # pekko remoting - name: {{ .Values.remoting.name }} containerPort: {{ .Values.remoting.port }} protocol: {{ .Values.remoting.protocol }} - # akka-management bootstrap + # pekko-management bootstrap - name: {{ .Values.bootstrap.name }} containerPort: {{ .Values.bootstrap.port }} protocol: {{ .Values.bootstrap.protocol }} diff --git a/kubernetes/beta/hmda-platform/values.yaml b/kubernetes/beta/hmda-platform/values.yaml index 942af8a7d8..72cd46fd23 100644 --- a/kubernetes/beta/hmda-platform/values.yaml +++ b/kubernetes/beta/hmda-platform/values.yaml @@ -73,12 +73,12 @@ public: cluster: name: management protocol: TCP - port: 8558 + port: 7626 bootstrap: name: bootstrap protocol: TCP - port: 8558 + port: 7626 websockets: name: websockets diff --git a/kubernetes/hmda-platform/templates/deployment.yaml b/kubernetes/hmda-platform/templates/deployment.yaml index 4ac3b3a170..7328da61d7 100644 --- a/kubernetes/hmda-platform/templates/deployment.yaml +++ b/kubernetes/hmda-platform/templates/deployment.yaml @@ -275,11 +275,11 @@ spec: # path: /ready # port: {{ .Values.bootstrap.name }} ports: - # akka remoting + # pekko remoting - name: {{ .Values.remoting.name }} containerPort: {{ .Values.remoting.port }} protocol: {{ .Values.remoting.protocol }} - # akka-management bootstrap + # pekko-management bootstrap - name: {{ .Values.bootstrap.name }} containerPort: {{ .Values.bootstrap.port }} protocol: {{ .Values.bootstrap.protocol }} diff --git a/kubernetes/hmda-platform/values.yaml b/kubernetes/hmda-platform/values.yaml index 8e8c1a574f..579a8ece4e 100644 --- a/kubernetes/hmda-platform/values.yaml +++ b/kubernetes/hmda-platform/values.yaml @@ -73,12 +73,12 @@ public: cluster: name: management protocol: TCP - port: 8558 + port: 7626 bootstrap: name: bootstrap protocol: TCP - port: 8558 + port: 7626 websockets: name: websockets diff --git a/kubernetes/kind/hmda-platform/helm/templates/deployment.yaml b/kubernetes/kind/hmda-platform/helm/templates/deployment.yaml index f7e86f6ae0..1c81e21850 100644 --- a/kubernetes/kind/hmda-platform/helm/templates/deployment.yaml +++ b/kubernetes/kind/hmda-platform/helm/templates/deployment.yaml @@ -308,11 +308,11 @@ spec: # path: /ready # port: {{ .Values.bootstrap.name }} ports: - # akka remoting + # pekko remoting - name: {{ .Values.remoting.name }} containerPort: {{ .Values.remoting.port }} protocol: {{ .Values.remoting.protocol }} - # akka-management bootstrap + # pekko-management bootstrap - name: {{ .Values.bootstrap.name }} containerPort: {{ .Values.bootstrap.port }} protocol: {{ .Values.bootstrap.protocol }} diff --git a/kubernetes/kind/hmda-platform/helm/values-dev.yaml b/kubernetes/kind/hmda-platform/helm/values-dev.yaml index 064d262942..d229bc2745 100644 --- a/kubernetes/kind/hmda-platform/helm/values-dev.yaml +++ b/kubernetes/kind/hmda-platform/helm/values-dev.yaml @@ -67,12 +67,12 @@ public: cluster: name: management protocol: TCP - port: 8558 + port: 7626 bootstrap: name: bootstrap protocol: TCP - port: 8558 + port: 7626 websockets: name: websockets diff --git a/kubernetes/kind/hmda-platform/helm/values.yaml b/kubernetes/kind/hmda-platform/helm/values.yaml index b382513007..592f5d4d9a 100644 --- a/kubernetes/kind/hmda-platform/helm/values.yaml +++ b/kubernetes/kind/hmda-platform/helm/values.yaml @@ -68,12 +68,12 @@ public: cluster: name: management protocol: TCP - port: 8558 + port: 7626 bootstrap: name: bootstrap protocol: TCP - port: 8558 + port: 7626 websockets: name: websockets diff --git a/kubernetes/project/build.properties b/kubernetes/project/build.properties new file mode 100644 index 0000000000..ee4c672cd0 --- /dev/null +++ b/kubernetes/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.10.1 diff --git a/modified-lar/src/main/resources/application.conf b/modified-lar/src/main/resources/application.conf index 980d7dd6a3..7174722383 100644 --- a/modified-lar/src/main/resources/application.conf +++ b/modified-lar/src/main/resources/application.conf @@ -5,7 +5,7 @@ include "persistence.conf" # AWS Keyspace with SigV4AuthProvider # include "persistence-keyspace-sigv4.conf" -akka { +pekko { loglevel = info log-dead-letters = off log-dead-letters-during-shutdown = off diff --git a/modified-lar/src/main/scala/hmda/publication/lar/ModifiedLarApp.scala b/modified-lar/src/main/scala/hmda/publication/lar/ModifiedLarApp.scala index 1cf8a7791f..3785645b88 100644 --- a/modified-lar/src/main/scala/hmda/publication/lar/ModifiedLarApp.scala +++ b/modified-lar/src/main/scala/hmda/publication/lar/ModifiedLarApp.scala @@ -1,15 +1,15 @@ package hmda.publication.lar -import akka.Done -import akka.actor.typed.scaladsl.AskPattern._ -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.typed.{ActorRef, ActorSystem} -import akka.actor.{ActorSystem => ClassicActorSystem} -import akka.kafka.scaladsl.{Committer, Consumer} -import akka.kafka.{CommitterSettings, ConsumerMessage, ConsumerSettings, Subscriptions} -import akka.stream.Materializer -import akka.stream.scaladsl._ -import akka.util.Timeout +import org.apache.pekko.{Done, pattern} +import org.apache.pekko.actor.typed.scaladsl.AskPattern._ +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.typed.{ActorRef, ActorSystem} +import org.apache.pekko.actor.{ActorSystem => ClassicActorSystem} +import org.apache.pekko.kafka.scaladsl.{Committer, Consumer} +import org.apache.pekko.kafka.{CommitterSettings, ConsumerMessage, ConsumerSettings, Subscriptions} +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl._ +import org.apache.pekko.util.Timeout import com.typesafe.config.ConfigFactory import hmda.census.records._ import hmda.messages.HmdaMessageFilter @@ -44,7 +44,7 @@ object ModifiedLarApp extends App { val futRes: Future[PersistModifiedLarResult] = modifiedLarPublisher ? ((ref: ActorRef[PersistModifiedLarResult]) => PersistToS3AndPostgres(submissionId, ref)) // bubble up failure if there is any (this is done to prevent a commit to Kafka from happening - // when used in Kafka consumer Akka Stream + // when used in Kafka consumer pekko Stream futRes.map(result => result.status).flatMap { case UploadSucceeded => Future.successful(Done.done()) case UploadFailed(exception) => Future.failed(exception) @@ -73,7 +73,7 @@ object ModifiedLarApp extends App { implicit val timeout: Timeout = Timeout(1.hour) val config = ConfigFactory.load() - val kafkaConfig = config.getConfig("akka.kafka.consumer") + val kafkaConfig = config.getConfig("pekko.kafka.consumer") val parallelism = config.getInt("hmda.lar.modified.parallelism") val censusTractMap2018: Map[String, Census] = @@ -127,7 +127,7 @@ object ModifiedLarApp extends App { log.info(s"Received a message - key: ${msg.record.key().toUpperCase()}, value: ${msg.record.value().toUpperCase()}") processKafkaRecord(msg.record.value().toUpperCase().trim).map(_ => msg.committableOffset) } - akka.pattern.retry( + pattern.retry( attempt = () => processMsg(), attempts = 2, delay = 90.seconds diff --git a/modified-lar/src/main/scala/hmda/publication/lar/publication/ModifiedLarPublisher.scala b/modified-lar/src/main/scala/hmda/publication/lar/publication/ModifiedLarPublisher.scala index 51e45cbc6b..1021de045b 100644 --- a/modified-lar/src/main/scala/hmda/publication/lar/publication/ModifiedLarPublisher.scala +++ b/modified-lar/src/main/scala/hmda/publication/lar/publication/ModifiedLarPublisher.scala @@ -1,15 +1,15 @@ package hmda.publication.lar.publication -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.typed.{ActorRef, ActorSystem, Behavior, SupervisorStrategy} -import akka.stream._ -import akka.stream.alpakka.s3.ApiVersion.ListBucketVersion2 -import akka.stream.alpakka.s3._ -import akka.stream.alpakka.s3.scaladsl.S3 -import akka.stream.scaladsl._ -import akka.util.ByteString -import akka.{Done, NotUsed} +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.typed.{ActorRef, ActorSystem, Behavior, SupervisorStrategy} +import org.apache.pekko.stream._ +import org.apache.pekko.stream.connectors.s3.ApiVersion.ListBucketVersion2 +import org.apache.pekko.stream.connectors.s3._ +import org.apache.pekko.stream.connectors.s3.scaladsl.S3 +import org.apache.pekko.stream.scaladsl._ +import org.apache.pekko.util.ByteString +import org.apache.pekko.{Done, NotUsed} import com.typesafe.config.ConfigFactory import hmda.messages.pubsub.HmdaTopics._ import hmda.messages.submission.HmdaRawDataEvents.LineAdded @@ -144,7 +144,7 @@ object ModifiedLarPublisher { _ <- s3HeaderMat _ <- s3NoHeaderMat _ <- pgMat - } yield akka.Done.done() + } yield Done.done() ) { implicit builder => (source, headerSink, noHeaderSink, pgSink) => import GraphDSL.Implicits._ diff --git a/modified-lar/src/test/resources/application.conf b/modified-lar/src/test/resources/application.conf index 051d447159..223b830d8c 100644 --- a/modified-lar/src/test/resources/application.conf +++ b/modified-lar/src/test/resources/application.conf @@ -82,7 +82,7 @@ embedded-pg { } } -alpakka.s3 { +pekko.s3 { endpoint-url = "http://localhost:9090" aws { credentials { diff --git a/modified-lar/src/test/scala/hmda/publication/lar/parser/ModifiedLarPublisherSpec.scala b/modified-lar/src/test/scala/hmda/publication/lar/parser/ModifiedLarPublisherSpec.scala index c19b727d0e..e4c1744e43 100644 --- a/modified-lar/src/test/scala/hmda/publication/lar/parser/ModifiedLarPublisherSpec.scala +++ b/modified-lar/src/test/scala/hmda/publication/lar/parser/ModifiedLarPublisherSpec.scala @@ -1,15 +1,15 @@ //package hmda.publication.lar.publication // -//import akka.NotUsed -//import akka.actor.ActorSystem -//import akka.actor.typed.{ActorSystem => TypedSystem} -//import akka.actor.typed.scaladsl.AskPattern._ -//import akka.actor.typed.scaladsl.Behaviors -//import akka.actor.typed.scaladsl.adapter._ -//import akka.actor.typed.{ActorRef, SupervisorStrategy} -//import akka.stream.scaladsl.Source -//import akka.testkit.TestKit -//import akka.util.Timeout +//import org.apache.pekko.NotUsed +//import org.apache.pekko.actor.ActorSystem +//import org.apache.pekko.actor.typed.{ActorSystem => TypedSystem} +//import org.apache.pekko.actor.typed.scaladsl.AskPattern._ +//import org.apache.pekko.actor.typed.scaladsl.Behaviors +//import org.apache.pekko.actor.typed.scaladsl.adapter._ +//import org.apache.pekko.actor.typed.{ActorRef, SupervisorStrategy} +//import org.apache.pekko.stream.scaladsl.Source +//import org.apache.pekko.testkit.TestKit +//import org.apache.pekko.util.Timeout //import com.adobe.testing.s3mock.S3MockApplication //import hmda.census.records.CensusRecords //import hmda.messages.submission.HmdaRawDataEvents.LineAdded diff --git a/project/BuildSettings.scala b/project/BuildSettings.scala index 4484db00ad..b30908cfcf 100644 --- a/project/BuildSettings.scala +++ b/project/BuildSettings.scala @@ -23,7 +23,7 @@ object BuildSettings { assembly / aggregate := false, Test / parallelExecution:= false, Test / fork := true, - resolvers += "Akka library repository".at("https://repo.akka.io/maven"), + resolvers += "pekko library repository".at("https://repo.pekko.io/maven"), commands += dockerPublishLocalSkipTestsCommand ) } \ No newline at end of file diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 612884ce9a..a9d2205bea 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -12,65 +12,67 @@ object Dependencies { val scalaCheck = "org.scalacheck" %% "scalacheck" % Version.scalaCheck % Test val scalaMock = "org.scalamock" %% "scalamock" % Version.scalaMock % Test val logback = "ch.qos.logback" % "logback-classic" % Version.logback - lazy val akkaSlf4J = "com.typesafe.akka" %% "akka-slf4j" % Version.akka - lazy val akkaTyped = "com.typesafe.akka" %% "akka-actor-typed" % Version.akka - lazy val akkaCluster = "com.typesafe.akka" %% "akka-cluster" % Version.akka - lazy val akkaClusterTyped = "com.typesafe.akka" %% "akka-cluster-typed" % Version.akka - lazy val akkaClusterSharding = "com.typesafe.akka" %% "akka-cluster-sharding" % Version.akka - lazy val akkaClusterShardingTyped = "com.typesafe.akka" %% "akka-cluster-sharding-typed" % Version.akka - lazy val akkaPersistence = "com.typesafe.akka" %% "akka-persistence" % Version.akka - lazy val akkaPersistenceTyped = "com.typesafe.akka" %% "akka-persistence-typed" % Version.akka - lazy val akkaPersistenceQuery = "com.typesafe.akka" %% "akka-persistence-query" % Version.akka - lazy val akkaTestkitTyped = "com.typesafe.akka" %% "akka-actor-testkit-typed" % Version.akka % Test - lazy val akkaStream = "com.typesafe.akka" %% "akka-stream" % Version.akka - lazy val akkaStreamTyped = "com.typesafe.akka" %% "akka-stream-typed" % Version.akka - lazy val akkaStreamsTestKit = "com.typesafe.akka" %% "akka-stream-testkit" % Version.akka % Test - lazy val akkaHttp = "com.typesafe.akka" %% "akka-http" % Version.akkaHttp - lazy val akkaHttp2 = "com.typesafe.akka" %% "akka-http2-support" % Version.akkaHttp2Support - lazy val akkaHttpXml = "com.typesafe.akka" %% "akka-http-xml" % Version.akkaHttp - lazy val akkaHttpTestkit = "com.typesafe.akka" %% "akka-http-testkit" % Version.akkaHttp % Test - lazy val akkaHttpSprayJson = "com.typesafe.akka" %% "akka-http-spray-json" % Version.akkaHttp + lazy val pekkoSlf4J = "org.apache.pekko" %% "pekko-slf4j" % Version.pekkoVersion + lazy val pekkoTyped = "org.apache.pekko" %% "pekko-actor-typed" % Version.pekkoVersion + lazy val pekkoCluster = "org.apache.pekko" %% "pekko-cluster" % Version.pekkoVersion + lazy val pekkoClusterTyped = "org.apache.pekko" %% "pekko-cluster-typed" % Version.pekkoVersion + lazy val pekkoClusterSharding = "org.apache.pekko" %% "pekko-cluster-sharding" % Version.pekkoVersion + lazy val pekkoClusterShardingTyped = "org.apache.pekko" %% "pekko-cluster-sharding-typed" % Version.pekkoVersion + lazy val pekkoPersistence = "org.apache.pekko" %% "pekko-persistence" % Version.pekkoVersion + lazy val pekkoPersistenceTyped = "org.apache.pekko" %% "pekko-persistence-typed" % Version.pekkoVersion + lazy val pekkoPersistenceQuery = "org.apache.pekko" %% "pekko-persistence-query" % Version.pekkoVersion + lazy val pekkoTestkitTyped = "org.apache.pekko" %% "pekko-actor-testkit-typed" % Version.pekkoVersion % Test + lazy val pekkoStream = "org.apache.pekko" %% "pekko-stream" % Version.pekkoVersion + lazy val pekkoStreamTyped = "org.apache.pekko" %% "pekko-stream-typed" % Version.pekkoVersion + lazy val pekkoStreamsTestKit = "org.apache.pekko" %% "pekko-stream-testkit" % Version.pekkoVersion % Test + lazy val pekkoHttp = "org.apache.pekko" %% "pekko-http" % Version.pekkoVersion + lazy val pekkoHttp2 = "org.playframework" %% "play-pekko-http2-support" % Version.pekkoHttp2Support + lazy val pekkoHttpXml = "org.apache.pekko" %% "pekko-http-xml" % Version.pekkoVersion + lazy val pekkoHttpTestkit = "org.apache.pekko" %% "pekko-http-testkit" % Version.pekkoVersion % Test + lazy val pekkoHttpSprayJson = "org.apache.pekko" %% "pekko-http-spray-json" % Version.pekkoVersion lazy val scalaLogging = "com.typesafe.scala-logging" %% "scala-logging" % Version.scalaLogging lazy val slickPostgres = "com.github.tminglei" %% "slick-pg" % Version.slickPostgres - lazy val akkaHttpCirce = "de.heikoseeberger" %% "akka-http-circe" % Version.akkaHttpJson - lazy val akkaManagementClusterBootstrap = - "com.lightbend.akka.management" %% "akka-management-cluster-bootstrap" % Version.akkaClusterManagement exclude ("com.typesafe.akka", "akka-http") exclude ("com.typesafe.akka", "akka-http-xml") - lazy val akkaServiceDiscoveryDNS = - "com.typesafe.akka" %% "akka-discovery" % Version.akka exclude ("com.typesafe.akka", "akka-http") exclude ("com.typesafe.akka", "akka-http-xml") - lazy val akkaServiceDiscoveryKubernetes = - "com.lightbend.akka.discovery" %% "akka-discovery-kubernetes-api" % Version.akkaClusterManagement exclude ("com.typesafe.akka", "akka-http") exclude ("com.typesafe.akka", "akka-http-xml") - lazy val akkaManagement = - "com.lightbend.akka.management" %% "akka-management" % Version.akkaClusterManagement exclude ("com.typesafe.akka", "akka-http") exclude ("com.typesafe.akka", "akka-http-xml") - lazy val akkaClusterHttpManagement = - "com.lightbend.akka.management" %% "akka-management-cluster-http" % Version.akkaClusterManagement exclude ("com.typesafe.akka", "akka-http") exclude ("com.typesafe.akka", "akka-http-xml") - lazy val akkaCors = - "ch.megard" %% "akka-http-cors" % Version.akkaCors exclude ("com.typesafe.akka", "akka-http") exclude ("com.typesafe.akka", "akka-http-xml") + lazy val pekkoHttpCirce = "com.github.pjfanning" %% "pekko-http-circe" % Version.pekkoHttpCirce + lazy val pekkoManagementClusterBootstrap = + "org.apache.pekko" %% "pekko-management-cluster-bootstrap" % Version.pekkoClusterManagement exclude ("org.apache.pekko", "pekko-http") exclude ("org.apache.pekko", "pekko-http-xml") + lazy val pekkoServiceDiscoveryDNS = + "org.apache.pekko" %% "pekko-discovery" % Version.pekkoVersion exclude ("org.apache.pekko", "pekko-http") exclude ("org.apache.pekko", "pekko-http-xml") + lazy val pekkoServiceDiscoveryKubernetes = + "org.apache.pekko" %% "pekko-discovery-kubernetes-api" % Version.pekkoClusterManagement exclude ("org.apache.pekko", "pekko-http") exclude ("org.apache.pekko", "pekko-http-xml") + lazy val pekkoManagement = + "org.apache.pekko" %% "pekko-management" % Version.pekkoClusterManagement exclude ("org.apache.pekko", "pekko-http") exclude ("org.apache.pekko", "pekko-http-xml") + lazy val pekkoClusterHttpManagement = + "org.apache.pekko" %% "pekko-management-cluster-http" % Version.pekkoClusterManagement exclude("org.apache.pekko", "pekko-http") exclude ("org.apache.pekko", "pekko-http-xml") + lazy val pekkoCors = + "org.apache.pekko" %% "pekko-http-cors" % Version.pekkoVersion exclude ("org.apache.pekko", "pekko-http") exclude ("org.apache.pekko", "pekko-http-xml") lazy val circe = "io.circe" %% "circe-core" % Version.circe lazy val circeGeneric = "io.circe" %% "circe-generic" % Version.circe lazy val circeParser = "io.circe" %% "circe-parser" % Version.circe - lazy val akkaPersistenceCassandra = "com.typesafe.akka" %% "akka-persistence-cassandra" % Version.cassandraPluginVersion + lazy val pekkoPersistenceCassandra = "org.apache.pekko" %% "pekko-persistence-cassandra" % Version.cassandraPluginVersion lazy val slick = "com.typesafe.slick" %% "slick" % Version.slick lazy val slickHikariCP = "com.typesafe.slick" %% "slick-hikaricp" % Version.slick - lazy val alpakkaSlick = "com.lightbend.akka" %% "akka-stream-alpakka-slick" % Version.alpakka + lazy val pekkoSlick = "org.apache.pekko" %% "pekko-connectors-slick" % Version.pekkoVersion lazy val postgres = "org.postgresql" % "postgresql" % Version.postgres lazy val h2 = "com.h2database" % "h2" % Version.h2 % Test lazy val testContainers = "org.testcontainers" % "testcontainers" % Version.testContainers % Test lazy val apacheCommonsIO = "commons-io" % "commons-io" % Version.apacheCommons % Test - lazy val keycloakAdmin = "org.keycloak" % "keycloak-admin-client" % Version.keycloakAdmin exclude("org.jboss.logging", "commons-logging-jboss-logging") + lazy val keycloakAdmin = "org.keycloak" % "keycloak-admin-client" % Version.keycloakAdmin exclude("org.jboss.logging", "commons-logging-jboss-logging") exclude ("com.sun.activation","jakarta.activation") lazy val keycloakCommons = "org.keycloak" % "keycloak-client-common-synced" % Version.keycloakCommons lazy val resteasyClient = "org.jboss.resteasy" % "resteasy-client" % Version.resteasy % "provided" lazy val resteasyJackson = "org.jboss.resteasy" % "resteasy-jackson2-provider" % Version.resteasy % "provided" lazy val resteasyMulti = "org.jboss.resteasy" % "resteasy-multipart-provider" % Version.resteasy % "provided" lazy val jbossLogging = "org.jboss.logging" % "jboss-logging" % Version.jbossLogging lazy val httpClient = "org.apache.httpcomponents" % "httpclient" % Version.httpcomponents - lazy val akkaKafkaStreams = "com.typesafe.akka" %% "akka-stream-kafka" % Version.akkaKafka exclude("org.apache.kafka", "kafka-clients") + lazy val pekkoKafkaStreams = "org.apache.pekko" %% "pekko-connectors-kafka" % Version.pekkoKafkaStreams exclude("org.apache.kafka", "kafka-clients") lazy val kafkaClients = "org.apache.kafka" % "kafka-clients" % Version.kafkaClients - lazy val alpakkaS3 = "com.lightbend.akka" %% "akka-stream-alpakka-s3" % Version.alpakkaS3 - lazy val akkaQuartzScheduler = "com.enragedginger" %% "akka-quartz-scheduler" % Version.akkaQuartzScheduler + lazy val pekkoS3 = "org.apache.pekko" %% "pekko-connectors-s3" % Version.pekkoVersion + lazy val pekkoQuartzScheduler = "io.github.samueleresca" %% "pekko-quartz-scheduler" % Version.pekkoQuartzScheduler lazy val sbtResolver = "io.spray" %% "sbt-revolver" % Version.sprayresolver lazy val enumeratum = "com.beachape" %% "enumeratum" % Version.enumeratum lazy val enumeratumCirce = "com.beachape" %% "enumeratum-circe" % Version.enumeratumCirce lazy val monix = "io.monix" %% "monix" % Version.monix + lazy val jacksonDatabind = "com.fasterxml.jackson.core" %% "jackson-databind" % Version.jacksonDatabind + lazy val pekkoSerialization = "org.apache.pekko" %% "pekko-serialization-jackson" % Version.pekkoVersion lazy val lettuce = "io.lettuce" % "lettuce-core" % Version.lettuce lazy val guava = "com.google.guava" % "guava" % Version.guava lazy val awsSesSdk = "com.amazonaws" % "aws-java-sdk-ses" % Version.awsSesSdk exclude ("commons-logging", "commons-logging") @@ -78,7 +80,7 @@ object Dependencies { lazy val zeroAllocationHashing = "net.openhft" % "zero-allocation-hashing" % Version.zeroAllocation lazy val cormorant = "io.chrisdavenport" %% "cormorant-parser" % Version.cormorant lazy val cormorantGeneric = "io.chrisdavenport" %% "cormorant-generic" % Version.cormorant - lazy val alpakkaFile = "com.lightbend.akka" %% "akka-stream-alpakka-file" % Version.alpakka + lazy val pekkoFile = "org.apache.pekko" %% "pekko-connectors-file" % Version.pekkoVersion lazy val scalacheckShapeless = "com.github.alexarchambault" %% "scalacheck-shapeless_1.14" % Version.scalacheckShapeless % Test lazy val diffx = "com.softwaremill.diffx" %% "diffx-core" % Version.diffx % Test lazy val kubernetesApi = "io.kubernetes" % "client-java" % Version.kubernetesApi diff --git a/project/Version.scala b/project/Version.scala index 9591191dc9..503b20495c 100644 --- a/project/Version.scala +++ b/project/Version.scala @@ -3,16 +3,18 @@ object Version { val logback = "1.5.18" val scalaTest = "3.0.8" val scalaCheck = "1.17.0" - val akka = "2.9.4" - val akkaHttp = "10.6.3" - val akkaHttp2Support = "10.5.3" - val akkaHttpJson = "1.39.2" - val akkaClusterManagement = "1.5.2" - val akkaCors = "1.2.0" - val akkaKafka = "2.0.2" + val pekkoVersion = "1.3.0" + val pekkoHttp = "1.3.0" + val jacksonDatabind ="2.15.4" + val pekkoHttp2Support = "3.0.11" + val pekkoHttpJson = "1.3.0" + val pekkoClusterManagement = "1.2.1" + val pekkoCors = "1.3.0" + val pekkoKafkaStreams = "1.1.0" val kafkaClients = "4.0.0" val circe = "0.14.5" - val cassandraPluginVersion = "1.2.1" + val pekkoHttpCirce = "3.9.2" + val cassandraPluginVersion = "1.1.0" val cassandraLauncher = "1.1.1" val slick = "3.4.1" val slickPostgres = "0.21.1" @@ -24,9 +26,10 @@ object Version { val resteasy = "6.2.4.Final" val jbossLogging = "3.5.1.Final" val httpcomponents = "4.5.14" - val alpakka = "6.0.2" - val alpakkaS3 = "6.0.2" - val akkaQuartzScheduler = "1.9.3-akka-2.6.x" + val pekkoSlick = "1.0.2" + val pekkoS3 = "1.3.0" + val pekkoFile = "1.3.0" + val pekkoQuartzScheduler = "1.3.0-pekko-1.1.x" val sprayresolver = "0.10.0" val enumeratum = "1.7.2" val enumeratumCirce = "1.7.2" diff --git a/project/grpc.sbt b/project/grpc.sbt index 5f5cf6a4d9..9726b5f311 100644 --- a/project/grpc.sbt +++ b/project/grpc.sbt @@ -1,4 +1 @@ -addSbtPlugin("com.lightbend.akka.grpc" % "sbt-akka-grpc" % "1.2.5") -addSbtPlugin("com.lightbend.sbt" % "sbt-javaagent" % "0.1.5") // ALPN agent - - +addSbtPlugin("org.apache.pekko" % "pekko-grpc-sbt-plugin" % "1.0.2") \ No newline at end of file diff --git a/project/plugins.sbt b/project/plugins.sbt new file mode 100644 index 0000000000..6ad9694e40 --- /dev/null +++ b/project/plugins.sbt @@ -0,0 +1 @@ +addSbtPlugin("com.github.sbt" % "sbt-javaagent" % "0.1.8") \ No newline at end of file diff --git a/rate-limit/src/main/resources/application.conf b/rate-limit/src/main/resources/application.conf index fb88bd027f..166fa13f36 100644 --- a/rate-limit/src/main/resources/application.conf +++ b/rate-limit/src/main/resources/application.conf @@ -12,7 +12,7 @@ hmda { } } -akka { +pekko { loglevel = info log-dead-letters = off log-dead-letters-during-shutdown = off diff --git a/rate-limit/src/main/scala/hmda/RateLimitApp.scala b/rate-limit/src/main/scala/hmda/RateLimitApp.scala index a30e9bc5d0..e641ee1e38 100644 --- a/rate-limit/src/main/scala/hmda/RateLimitApp.scala +++ b/rate-limit/src/main/scala/hmda/RateLimitApp.scala @@ -1,6 +1,6 @@ package hmda.rateLimit -import akka.actor.ActorSystem +import org.apache.pekko.actor.ActorSystem import org.slf4j.LoggerFactory object RateLimitApp extends App { diff --git a/rate-limit/src/main/scala/hmda/api/RateLimitApi.scala b/rate-limit/src/main/scala/hmda/api/RateLimitApi.scala index a322622d10..16f4d4581a 100644 --- a/rate-limit/src/main/scala/hmda/api/RateLimitApi.scala +++ b/rate-limit/src/main/scala/hmda/api/RateLimitApi.scala @@ -1,12 +1,12 @@ package hmda.rateLimit -import akka.actor.{ ActorSystem, Props } -import akka.event.Logging -import akka.http.scaladsl.model.{ HttpRequest, HttpResponse } -import akka.http.scaladsl.{ Http, HttpConnectionContext } -import akka.pattern.pipe -import akka.stream.Materializer -import akka.util.Timeout +import org.apache.pekko.actor.{ ActorSystem, Props } +import org.apache.pekko.event.Logging +import org.apache.pekko.http.scaladsl.model.{ HttpRequest, HttpResponse } +import org.apache.pekko.http.scaladsl.{ Http, HttpConnectionContext } +import org.apache.pekko.pattern.pipe +import org.apache.pekko.stream.Materializer +import org.apache.pekko.util.Timeout import com.typesafe.config.{ Config, ConfigFactory } import hmda.api.HmdaServer import hmda.rateLimit.api.grpc.RateLimitServiceImpl diff --git a/ratespread-calculator/src/main/resources/application.conf b/ratespread-calculator/src/main/resources/application.conf index 7af9176e0f..1a183cb5f2 100644 --- a/ratespread-calculator/src/main/resources/application.conf +++ b/ratespread-calculator/src/main/resources/application.conf @@ -1,6 +1,6 @@ include "cors.conf" -akka { +pekko { log-level = INFO http.server.preview.enable-http2 = on diff --git a/ratespread-calculator/src/main/resources/cors.conf b/ratespread-calculator/src/main/resources/cors.conf index 9e8d4e561c..822acf27f0 100644 --- a/ratespread-calculator/src/main/resources/cors.conf +++ b/ratespread-calculator/src/main/resources/cors.conf @@ -1,4 +1,4 @@ -akka-http-cors { +pekko-http-cors { allow-credentials = no allowed-origins = "*" allowed-headers = ["Origin","Content-Type"] diff --git a/ratespread-calculator/src/main/scala/hmda/calculator/Guardian/scala.scala b/ratespread-calculator/src/main/scala/hmda/calculator/Guardian/scala.scala index 74f1062484..9e04977775 100644 --- a/ratespread-calculator/src/main/scala/hmda/calculator/Guardian/scala.scala +++ b/ratespread-calculator/src/main/scala/hmda/calculator/Guardian/scala.scala @@ -1,7 +1,7 @@ package hmda.calculator -import akka.actor.typed.Behavior -import akka.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.Behavior +import org.apache.pekko.actor.typed.scaladsl.Behaviors import hmda.calculator.api.http.RateSpreadAPI import hmda.calculator.scheduler.APORScheduler import hmda.calculator.scheduler.APORScheduler.Command diff --git a/ratespread-calculator/src/main/scala/hmda/calculator/HmdaRateSpread.scala b/ratespread-calculator/src/main/scala/hmda/calculator/HmdaRateSpread.scala index 001268edbe..fa34fe9c41 100644 --- a/ratespread-calculator/src/main/scala/hmda/calculator/HmdaRateSpread.scala +++ b/ratespread-calculator/src/main/scala/hmda/calculator/HmdaRateSpread.scala @@ -1,6 +1,6 @@ package hmda.calculator -import akka.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.ActorSystem import org.slf4j.LoggerFactory // $COVERAGE-OFF$ object HmdaRateSpread extends App { diff --git a/ratespread-calculator/src/main/scala/hmda/calculator/api/http/RateSpreadAPI.scala b/ratespread-calculator/src/main/scala/hmda/calculator/api/http/RateSpreadAPI.scala index f04c40c6c1..47d32fe49a 100644 --- a/ratespread-calculator/src/main/scala/hmda/calculator/api/http/RateSpreadAPI.scala +++ b/ratespread-calculator/src/main/scala/hmda/calculator/api/http/RateSpreadAPI.scala @@ -1,10 +1,10 @@ package hmda.calculator.api.http -import akka.actor.typed.Behavior -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.{ ActorSystem, CoordinatedShutdown } -import akka.http.scaladsl.server.Directives._ +import org.apache.pekko.actor.typed.Behavior +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.{ ActorSystem, CoordinatedShutdown } +import org.apache.pekko.http.scaladsl.server.Directives._ import hmda.api.http.directives.HmdaTimeDirectives._ import hmda.api.http.routes.BaseHttpApi diff --git a/ratespread-calculator/src/main/scala/hmda/calculator/api/http/RateSpreadAPIRoutes.scala b/ratespread-calculator/src/main/scala/hmda/calculator/api/http/RateSpreadAPIRoutes.scala index b0a8a15cb4..85a443e656 100644 --- a/ratespread-calculator/src/main/scala/hmda/calculator/api/http/RateSpreadAPIRoutes.scala +++ b/ratespread-calculator/src/main/scala/hmda/calculator/api/http/RateSpreadAPIRoutes.scala @@ -1,14 +1,14 @@ package hmda.calculator.api.http -import akka.http.scaladsl.model.MediaTypes.`text/csv` -import akka.http.scaladsl.model.StatusCodes.BadRequest -import akka.http.scaladsl.model.{ HttpCharsets, HttpEntity } -import akka.http.scaladsl.server.Directives._ -import akka.http.scaladsl.server.Route -import akka.stream.scaladsl.Source -import akka.util.ByteString -import ch.megard.akka.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import org.apache.pekko.http.scaladsl.model.MediaTypes.`text/csv` +import org.apache.pekko.http.scaladsl.model.StatusCodes.BadRequest +import org.apache.pekko.http.scaladsl.model.{ HttpCharsets, HttpEntity } +import org.apache.pekko.http.scaladsl.server.Directives._ +import org.apache.pekko.http.scaladsl.server.Route +import org.apache.pekko.stream.scaladsl.Source +import org.apache.pekko.util.ByteString +import org.apache.pekko.http.cors.scaladsl.CorsDirectives.{cors, corsRejectionHandler} +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.calculator.api.model.RateSpreadRequest import hmda.calculator.apor.APORCommands import hmda.calculator.parser.RateSpreadCSVParser diff --git a/ratespread-calculator/src/main/scala/hmda/calculator/scheduler/APORScheduler.scala b/ratespread-calculator/src/main/scala/hmda/calculator/scheduler/APORScheduler.scala index 33af0b2f6c..b79cbec4a8 100644 --- a/ratespread-calculator/src/main/scala/hmda/calculator/scheduler/APORScheduler.scala +++ b/ratespread-calculator/src/main/scala/hmda/calculator/scheduler/APORScheduler.scala @@ -1,17 +1,17 @@ package hmda.calculator.scheduler -import akka.actor.typed.SupervisorStrategy -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.typed.{Behavior, PostStop} -import akka.stream.alpakka.s3.ApiVersion.ListBucketVersion2 -import akka.stream.alpakka.s3.scaladsl.S3 -import akka.stream.alpakka.s3.{MemoryBufferType, ObjectMetadata, S3Attributes, S3Settings} -import akka.stream.scaladsl.{Flow, Framing, Sink, Source} -import akka.stream.{Attributes, Materializer} -import akka.util.ByteString -import akka.{Done, NotUsed} -import com.typesafe.akka.extension.quartz.QuartzSchedulerExtension +import org.apache.pekko.actor.typed.SupervisorStrategy +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.typed.{Behavior, PostStop} +import org.apache.pekko.stream.connectors.s3.ApiVersion.ListBucketVersion2 +import org.apache.pekko.stream.connectors.s3.scaladsl.S3 +import org.apache.pekko.stream.connectors.s3.{MemoryBufferType, ObjectMetadata, S3Attributes, S3Settings} +import org.apache.pekko.stream.scaladsl.{Flow, Framing, Sink, Source} +import org.apache.pekko.stream.{Attributes, Materializer} +import org.apache.pekko.util.ByteString +import org.apache.pekko.{Done, NotUsed} +import org.apache.pekko.extension.quartz.QuartzSchedulerExtension import com.typesafe.config.ConfigFactory import hmda.calculator.apor.{AporListEntity, FixedRate, RateType, VariableRate} import hmda.calculator.parser.APORCsvParser diff --git a/ratespread-calculator/src/test/resources/application.conf b/ratespread-calculator/src/test/resources/application.conf index 6eba9a1ac8..98c01c832f 100644 --- a/ratespread-calculator/src/test/resources/application.conf +++ b/ratespread-calculator/src/test/resources/application.conf @@ -1,6 +1,6 @@ include "cors.conf" -akka { +pekko { log-level = INFO http.server.preview.enable-http2 = on quartz { @@ -40,7 +40,7 @@ aws { region = "us-east-1" } -alpakka.s3 { +pekko.s3 { endpoint-url = "http://localhost:9090" aws { credentials { diff --git a/ratespread-calculator/src/test/scala/hmda/calculator/api/http/RateSpreadAPISpec.scala b/ratespread-calculator/src/test/scala/hmda/calculator/api/http/RateSpreadAPISpec.scala index e034d44282..73b5ada17c 100644 --- a/ratespread-calculator/src/test/scala/hmda/calculator/api/http/RateSpreadAPISpec.scala +++ b/ratespread-calculator/src/test/scala/hmda/calculator/api/http/RateSpreadAPISpec.scala @@ -2,12 +2,12 @@ package hmda.uli.api.http import java.time.LocalDate import java.time.format.DateTimeFormatter -import akka.http.scaladsl.model.StatusCodes -import akka.http.scaladsl.testkit.ScalatestRouteTest -import akka.http.scaladsl.unmarshalling.Unmarshaller._ -import akka.util.Timeout +import org.apache.pekko.http.scaladsl.model.StatusCodes +import org.apache.pekko.http.scaladsl.testkit.ScalatestRouteTest +import org.apache.pekko.http.scaladsl.unmarshalling.Unmarshaller._ +import org.apache.pekko.util.Timeout import com.typesafe.config.ConfigFactory -import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._ +import com.github.pjfanning.pekkohttpcirce.FailFastCirceSupport._ import hmda.calculator.api.RateSpreadResponse import hmda.calculator.api.http.RateSpreadAPIRoutes import hmda.calculator.api.model.RateSpreadRequest diff --git a/ratespread-calculator/src/test/scala/hmda/calculator/scheduler/APORSchedulerSpec.scala b/ratespread-calculator/src/test/scala/hmda/calculator/scheduler/APORSchedulerSpec.scala index d421aacd78..cdcbacd550 100644 --- a/ratespread-calculator/src/test/scala/hmda/calculator/scheduler/APORSchedulerSpec.scala +++ b/ratespread-calculator/src/test/scala/hmda/calculator/scheduler/APORSchedulerSpec.scala @@ -3,14 +3,14 @@ //import java.time.LocalDate //import java.time.format.DateTimeFormatter // -//import akka.actor.ActorSystem -//import akka.actor.typed.scaladsl.adapter._ -//import akka.stream.alpakka.s3.ApiVersion.ListBucketVersion2 -//import akka.stream.alpakka.s3.scaladsl.S3 -//import akka.stream.alpakka.s3.{ MemoryBufferType, S3Attributes, S3Settings } -//import akka.stream.scaladsl.{ Sink, Source } -//import akka.testkit.{ ImplicitSender, TestKit } -//import akka.util.ByteString +//import org.apache.pekko.actor.ActorSystem +//import org.apache.pekko.actor.typed.scaladsl.adapter._ +//import org.apache.pekko.stream.connectors.s3.ApiVersion.ListBucketVersion2 +//import org.apache.pekko.stream.connectors.s3.scaladsl.S3 +//import org.apache.pekko.stream.connectors.s3.{ MemoryBufferType, S3Attributes, S3Settings } +//import org.apache.pekko.stream.scaladsl.{ Sink, Source } +//import org.apache.pekko.testkit.{ ImplicitSender, TestKit } +//import org.apache.pekko.util.ByteString //import com.adobe.testing.s3mock.S3MockApplication //import hmda.calculator.apor.APOR //import hmda.calculator.scheduler.APORScheduler.Command diff --git a/submission-errors/src/main/scala/hmda/submissionerrors/SubmissionErrorsApp.scala b/submission-errors/src/main/scala/hmda/submissionerrors/SubmissionErrorsApp.scala index 1f83ce50f7..f82c6136ad 100644 --- a/submission-errors/src/main/scala/hmda/submissionerrors/SubmissionErrorsApp.scala +++ b/submission-errors/src/main/scala/hmda/submissionerrors/SubmissionErrorsApp.scala @@ -1,12 +1,12 @@ package hmda.submissionerrors -import akka.actor.typed.ActorSystem -import akka.actor.typed.scaladsl.adapter._ -import akka.actor.{ CoordinatedShutdown, ActorSystem => ClassicActorSystem } -import akka.kafka.scaladsl.Consumer -import akka.kafka.{ CommitterSettings, ConsumerMessage, ConsumerSettings, Subscriptions } -import akka.stream.scaladsl.{ RunnableGraph, Source } -import akka.stream.{ ActorAttributes, Supervision } +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter._ +import org.apache.pekko.actor.{ CoordinatedShutdown, ActorSystem => ClassicActorSystem } +import org.apache.pekko.kafka.scaladsl.Consumer +import org.apache.pekko.kafka.{ CommitterSettings, ConsumerMessage, ConsumerSettings, Subscriptions } +import org.apache.pekko.stream.scaladsl.{ RunnableGraph, Source } +import org.apache.pekko.stream.{ ActorAttributes, Supervision } import com.typesafe.config.ConfigFactory import hmda.messages.pubsub.HmdaGroups import hmda.submissionerrors.repositories.PostgresSubmissionErrorRepository diff --git a/submission-errors/src/main/scala/hmda/submissionerrors/streams/ErrorInformation.scala b/submission-errors/src/main/scala/hmda/submissionerrors/streams/ErrorInformation.scala index e6b0ce12a1..f55c5818eb 100644 --- a/submission-errors/src/main/scala/hmda/submissionerrors/streams/ErrorInformation.scala +++ b/submission-errors/src/main/scala/hmda/submissionerrors/streams/ErrorInformation.scala @@ -1,9 +1,9 @@ package hmda.submissionerrors.streams -import akka.NotUsed -import akka.actor.typed.ActorSystem -import akka.persistence.query.EventEnvelope -import akka.stream.scaladsl.{ Sink, Source } +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.persistence.query.EventEnvelope +import org.apache.pekko.stream.scaladsl.{ Sink, Source } import hmda.messages.submission.SubmissionProcessingEvents.HmdaRowValidatedError import hmda.model.filing.submission.SubmissionId import hmda.query.HmdaQuery @@ -27,7 +27,7 @@ object ErrorInformation { * ) * * @param submissionId is the submission ID - * @param system is the actor system needed to run the Akka Stream + * @param system is the actor system needed to run the pekko Stream * @return */ def obtainSubmissionErrors(submissionId: SubmissionId)(implicit system: ActorSystem[_]): Task[Map[LineNumber, Set[EditName]]] = diff --git a/submission-errors/src/main/scala/hmda/submissionerrors/streams/ErrorLines.scala b/submission-errors/src/main/scala/hmda/submissionerrors/streams/ErrorLines.scala index c10da075b8..c37cc3752b 100644 --- a/submission-errors/src/main/scala/hmda/submissionerrors/streams/ErrorLines.scala +++ b/submission-errors/src/main/scala/hmda/submissionerrors/streams/ErrorLines.scala @@ -1,9 +1,9 @@ package hmda.submissionerrors.streams -import akka.NotUsed -import akka.actor.typed.ActorSystem -import akka.persistence.query.EventEnvelope -import akka.stream.scaladsl.{ Sink, Source } +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.persistence.query.EventEnvelope +import org.apache.pekko.stream.scaladsl.{ Sink, Source } import hmda.messages.submission.HmdaRawDataEvents.LineAdded import hmda.model.filing.lar.LoanApplicationRegister import hmda.model.filing.submission.SubmissionId diff --git a/submission-errors/src/main/scala/hmda/submissionerrors/streams/SubmissionProcessor.scala b/submission-errors/src/main/scala/hmda/submissionerrors/streams/SubmissionProcessor.scala index 69ff06078e..73c0c8be22 100644 --- a/submission-errors/src/main/scala/hmda/submissionerrors/streams/SubmissionProcessor.scala +++ b/submission-errors/src/main/scala/hmda/submissionerrors/streams/SubmissionProcessor.scala @@ -1,11 +1,11 @@ package hmda.submissionerrors.streams -import akka.{ Done, NotUsed } -import akka.actor.typed.ActorSystem -import akka.kafka.CommitterSettings -import akka.kafka.ConsumerMessage.{ CommittableMessage, CommittableOffset } -import akka.kafka.scaladsl.Committer -import akka.stream.scaladsl.{ Flow, Keep, Sink } +import org.apache.pekko.{ Done, NotUsed } +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.kafka.CommitterSettings +import org.apache.pekko.kafka.ConsumerMessage.{ CommittableMessage, CommittableOffset } +import org.apache.pekko.kafka.scaladsl.Committer +import org.apache.pekko.stream.scaladsl.{ Flow, Keep, Sink } import cats.implicits._ import hmda.model.filing.submission.SubmissionId import hmda.submissionerrors.repositories.{ AddSubmissionError, SubmissionErrorRepository } diff --git a/submission-errors/src/main/scala/hmda/submissionerrors/streams/Submissions.scala b/submission-errors/src/main/scala/hmda/submissionerrors/streams/Submissions.scala index 08b2f95d23..59cb2d8b8f 100644 --- a/submission-errors/src/main/scala/hmda/submissionerrors/streams/Submissions.scala +++ b/submission-errors/src/main/scala/hmda/submissionerrors/streams/Submissions.scala @@ -1,9 +1,9 @@ package hmda.submissionerrors.streams -import akka.NotUsed -import akka.actor.typed.ActorSystem -import akka.persistence.query.EventEnvelope -import akka.stream.scaladsl.{ Sink, Source } +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.ActorSystem +import org.apache.pekko.persistence.query.EventEnvelope +import org.apache.pekko.stream.scaladsl.{ Sink, Source } import hmda.messages.filing.FilingEvents.{ SubmissionAdded, SubmissionUpdated } import hmda.model.filing.submission.Submission import hmda.query.HmdaQuery diff --git a/submission-errors/src/test/scala/hmda/submissionerrors/repositories/PostgresSubmissionErrorRepositorySpec.scala b/submission-errors/src/test/scala/hmda/submissionerrors/repositories/PostgresSubmissionErrorRepositorySpec.scala index 1b86f67328..672f95288d 100644 --- a/submission-errors/src/test/scala/hmda/submissionerrors/repositories/PostgresSubmissionErrorRepositorySpec.scala +++ b/submission-errors/src/test/scala/hmda/submissionerrors/repositories/PostgresSubmissionErrorRepositorySpec.scala @@ -1,7 +1,7 @@ package hmda.submissionerrors.repositories -import akka.actor.ActorSystem -import akka.testkit.TestKit +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.testkit.TestKit import hmda.model.filing.submission.SubmissionId import hmda.utils.EmbeddedPostgres import hmda.utils.YearUtils.Period diff --git a/submission-errors/src/test/scala/hmda/submissionerrors/streams/ErrorInformationSpec.scala b/submission-errors/src/test/scala/hmda/submissionerrors/streams/ErrorInformationSpec.scala index e8d493fe65..35e74c9375 100644 --- a/submission-errors/src/test/scala/hmda/submissionerrors/streams/ErrorInformationSpec.scala +++ b/submission-errors/src/test/scala/hmda/submissionerrors/streams/ErrorInformationSpec.scala @@ -1,9 +1,9 @@ package hmda.submissionerrors.streams -import akka.NotUsed -import akka.actor.ActorSystem -import akka.stream.scaladsl.Source -import akka.testkit.TestKit +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.scaladsl.Source +import org.apache.pekko.testkit.TestKit import hmda.messages.submission.SubmissionProcessingEvents.HmdaRowValidatedError import hmda.model.validation.{ LarValidationError, MacroValidationError, SyntacticalValidationError } import hmda.submissionerrors.streams.ErrorInformation._