Skip to content

Commit

Permalink
re and fdr-metadata actors optimized
Browse files Browse the repository at this point in the history
  • Loading branch information
aomegax committed Jan 31, 2025
1 parent b5eb3d7 commit 2bde65a
Show file tree
Hide file tree
Showing 21 changed files with 106 additions and 527 deletions.
1 change: 1 addition & 0 deletions .jvmopts
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
-Xss4M
-XX:MaxMetaspaceSize=1024M
-Dfile.encoding=UTF-8
-XX:+UseG1GC
3 changes: 3 additions & 0 deletions fdr/src/main/scala/eu/sia/pagopa/Main.scala
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,9 @@ object Main extends App {
Future.failed(e)
})

def getBootstrapFuture = bootstrapFuture

def getSystem: ActorSystem = system
}

object BootstrapUtil {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import eu.sia.pagopa.Main.ConfigData
import eu.sia.pagopa.common.message._
import eu.sia.pagopa.common.repo.Repositories
import eu.sia.pagopa.common.util._
import eu.sia.pagopa.common.util.azurehubevent.Appfunction.ReEventFunc
import eu.sia.pagopa.ftpsender.actor.FtpSenderActorPerRequest
import eu.sia.pagopa.{ActorProps, BootstrapUtil}
import org.slf4j.MDC
Expand All @@ -25,7 +24,6 @@ final case class PrimitiveActor(repositories: Repositories, actorProps: ActorPro
val perrequest = context.actorOf(props, pr)
log.debug(s"TELL ActorPerRequest [$pr] [${perrequest.path.name}]")
perrequest.forward(request)
// perrequest.tell(request, self)
perrequest
}

Expand Down Expand Up @@ -67,8 +65,8 @@ final case class PrimitiveActor(repositories: Repositories, actorProps: ActorPro
|unmanaged message type ${x.getClass}
|########################""".stripMargin)
}

}

trait BaseActor extends Actor with NodoLogging {

implicit val executionContext: ExecutionContextExecutor = context.dispatcher
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import eu.sia.pagopa.Main.ConfigData
import eu.sia.pagopa.common.exception
import eu.sia.pagopa.common.exception.{DigitPaErrorCodes, DigitPaException}
import eu.sia.pagopa.common.repo.Repositories
import eu.sia.pagopa.common.util.azurehubevent.Appfunction.ReEventFunc

import java.util.concurrent.TimeUnit
import scala.concurrent.duration.{FiniteDuration, _}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package eu.sia.pagopa.common.repo.re.model

import eu.sia.pagopa.common.util.azurehubevent.Appfunction
import eu.sia.pagopa.common.util.Appfunction
import net.openhft.hashing.LongHashFunction

import java.time.LocalDateTime
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package eu.sia.pagopa.common.util.azurehubevent
package eu.sia.pagopa.common.util

import com.fasterxml.jackson.databind.{ObjectMapper, SerializationFeature}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
package eu.sia.pagopa.common.util.azurehubevent
package eu.sia.pagopa.common.util

import com.azure.core.util.BinaryData
import eu.sia.pagopa.Main.ConfigData
import eu.sia.pagopa.common.enums.EsitoRE
import eu.sia.pagopa.common.message.{CategoriaEvento, ReExtra, ReRequest, SottoTipoEvento}
import eu.sia.pagopa.common.message.{CategoriaEvento, ReExtra, SottoTipoEvento}
import eu.sia.pagopa.common.repo.re.model.Re
import eu.sia.pagopa.common.util.{Constant, NodoLogger, Util}
import org.slf4j.MDC
import spray.json.DefaultJsonProtocol._
import spray.json.{JsString, _}

import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
import scala.concurrent.{ExecutionContext, Future}
import scala.util.Try

object Appfunction {
Expand All @@ -25,61 +21,61 @@ object Appfunction {
reFormat.format(date)
}

type ReEventFunc = (ReRequest, NodoLogger, ConfigData) => Future[Unit]
type ContainerBlobFunc = (String, Map[String, String], BinaryData, NodoLogger) => Future[Unit]
// TODO [FC] clean code
// type ReEventFunc = (ReRequest, NodoLogger, ConfigData) => Future[Unit]

def defaultOperation(request: ReRequest, log: NodoLogger, reXmlLog: Boolean, reJsonLog: Boolean, data: ConfigData)(implicit ec: ExecutionContext): Unit = {
MDC.put(Constant.MDCKey.DATA_ORA_EVENTO, Appfunction.formatDate(request.re.insertedTimestamp))

if (reXmlLog) {
Future(
fmtMessage(request.re, request.reExtra)
.map(msg => {
MDC.put(Constant.RE_UID, request.re.uniqueId)
MDC.put(Constant.RE_XML_LOG, "true")
val elapsed = request.reExtra.flatMap(b => b.elapsed)
elapsed match {
case Some(a) => MDC.put(Constant.MDCKey.ELAPSED, a.toString)
case _ =>
}
log.info(msg)
elapsed match {
case Some(_) => MDC.remove(Constant.MDCKey.ELAPSED)
case _ =>
}
MDC.remove(Constant.RE_UID)
MDC.remove(Constant.RE_XML_LOG)
})
.recover({ case e: Throwable =>
log.error(e, "Format message error")
})
)
}
if (reJsonLog) {
Future(
fmtMessageJson(request.re, request.reExtra, data)
.map(msg => {
MDC.put(Constant.RE_UID, request.re.uniqueId)
MDC.put(Constant.RE_JSON_LOG, "true")
val elapsed = request.reExtra.flatMap(b => b.elapsed)
elapsed match {
case Some(a) => MDC.put(Constant.MDCKey.ELAPSED, a.toString)
case _ =>
}
log.info(msg)
elapsed match {
case Some(_) => MDC.remove(Constant.MDCKey.ELAPSED)
case _ =>
}
MDC.remove(Constant.RE_UID)
MDC.remove(Constant.RE_JSON_LOG)
})
.recover({ case e: Throwable =>
log.error(e, "Format message error")
})
)
}
}
// def defaultOperation(request: ReRequest, log: NodoLogger, reXmlLog: Boolean, reJsonLog: Boolean, data: ConfigData)(implicit ec: ExecutionContext): Unit = {
// MDC.put(Constant.MDCKey.DATA_ORA_EVENTO, Appfunction.formatDate(request.re.insertedTimestamp))
//
// if (reXmlLog) {
// Future(
// fmtMessage(request.re, request.reExtra)
// .map(msg => {
// MDC.put(Constant.RE_UID, request.re.uniqueId)
// MDC.put(Constant.RE_XML_LOG, "true")
// val elapsed = request.reExtra.flatMap(b => b.elapsed)
// elapsed match {
// case Some(a) => MDC.put(Constant.MDCKey.ELAPSED, a.toString)
// case _ =>
// }
// log.info(msg)
// elapsed match {
// case Some(_) => MDC.remove(Constant.MDCKey.ELAPSED)
// case _ =>
// }
// MDC.remove(Constant.RE_UID)
// MDC.remove(Constant.RE_XML_LOG)
// })
// .recover({ case e: Throwable =>
// log.error(e, "Format message error")
// })
// )
// }
// if (reJsonLog) {
// Future(
// fmtMessageJson(request.re, request.reExtra, data)
// .map(msg => {
// MDC.put(Constant.RE_UID, request.re.uniqueId)
// MDC.put(Constant.RE_JSON_LOG, "true")
// val elapsed = request.reExtra.flatMap(b => b.elapsed)
// elapsed match {
// case Some(a) => MDC.put(Constant.MDCKey.ELAPSED, a.toString)
// case _ =>
// }
// log.info(msg)
// elapsed match {
// case Some(_) => MDC.remove(Constant.MDCKey.ELAPSED)
// case _ =>
// }
// MDC.remove(Constant.RE_UID)
// MDC.remove(Constant.RE_JSON_LOG)
// })
// .recover({ case e: Throwable =>
// log.error(e, "Format message error")
// })
// )
// }
// }

def formatHeaders(headersOpt: Option[Seq[(String, String)]]): String = {
headersOpt
Expand Down
Loading

0 comments on commit 2bde65a

Please sign in to comment.