From 284ba1af9706eaa202869d692f88bd15f5a2ffe1 Mon Sep 17 00:00:00 2001 From: Aron Engineer <aron.engineer1@gmail.com> Date: Fri, 5 Mar 2021 17:23:51 +0000 Subject: [PATCH] fix: Timeout exception response modified with typesafety. --- .../scala/org/bigbluebutton/ApiService.scala | 30 +++++++++++-------- .../core/BigBlueButtonActor.scala | 3 +- .../service/HealthzService.scala | 16 +++++----- 3 files changed, 28 insertions(+), 21 deletions(-) diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/ApiService.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/ApiService.scala index c1d3dbad6e..93f4cd5d40 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/ApiService.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/ApiService.scala @@ -29,19 +29,25 @@ class ApiService(healthz: HealthzService) extends JsonSupportProtocol { onSuccess(future) { case response => if (response.isHealthy) { - complete(StatusCodes.OK, HealthResponse( - response.isHealthy, - response.pubSubSendStatus, - response.pubSubReceiveStatus, - response.recordingDBSendStatus - )) + complete( + StatusCodes.OK, + HealthResponse( + response.isHealthy, + response.pubSubSendStatus, + response.pubSubReceiveStatus, + response.recordingDBSendStatus + ) + ) } else { - complete(StatusCodes.ServiceUnavailable, HealthResponse( - response.isHealthy, - response.pubSubSendStatus, - response.pubSubReceiveStatus, - response.recordingDBSendStatus - )) + complete( + StatusCodes.ServiceUnavailable, + HealthResponse( + response.isHealthy, + response.pubSubSendStatus, + response.pubSubReceiveStatus, + response.recordingDBSendStatus + ) + ) } } } diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala index 156be4b27f..8963b7057b 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala @@ -168,8 +168,7 @@ class BigBlueButtonActor( private def handleCheckAlivePingSysMsg(msg: CheckAlivePingSysMsg): Unit = { val event = MsgBuilder.buildCheckAlivePingSysMsg(msg.body.system, msg.body.bbbWebTimestamp, System.currentTimeMillis()) - healthzService.sendSentStatusMessage(msg.body.akkaAppsTimestamp) - healthzService.sendReceiveStatusMessage(System.currentTimeMillis()) + healthzService.sendPubSubStatusMessage(msg.body.akkaAppsTimestamp, System.currentTimeMillis()) outGW.send(event) } diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/service/HealthzService.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/service/HealthzService.scala index 7b8e53a8a3..19187f4a63 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/service/HealthzService.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/service/HealthzService.scala @@ -44,17 +44,19 @@ class HealthzService(system: ActorSystem) { val future = healthActor.ask(GetHealthMessage).mapTo[GetHealthResponseMessage] future.recover { case e: AskTimeoutException => { - GetHealthResponseMessage(false, null, null, null) + GetHealthResponseMessage( + false, + PubSubSendStatus(false, String.valueOf(0L)), + PubSubReceiveStatus(false, String.valueOf(0L)), + RecordingDBSendStatus(false, String.valueOf(0L)) + ) } } } - def sendSentStatusMessage(timestamp: Long): Unit = { - healthActor ! SetPubSubSentStatus(timestamp) - } - - def sendReceiveStatusMessage(timestamp: Long): Unit = { - healthActor ! SetPubSubReceiveStatus(timestamp) + def sendPubSubStatusMessage(sendTimestamp: Long, receiveTimestamp: Long): Unit = { + healthActor ! SetPubSubSentStatus(sendTimestamp) + healthActor ! SetPubSubReceiveStatus(receiveTimestamp) } def sendRecordingDBStatusMessage(timestamp: Long): Unit = { -- GitLab