fix: update grpcServer variable to use Instance wrapper and add optional access method
Build & Test (NowChessSystems) TeamCity build finished
Build & Test (NowChessSystems) TeamCity build finished
This commit is contained in:
+16
-10
@@ -39,7 +39,7 @@ class HealthMonitor:
|
|||||||
private var meterRegistry: MeterRegistry = uninitialized
|
private var meterRegistry: MeterRegistry = uninitialized
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private var grpcServer: CoordinatorGrpcServer = uninitialized
|
private var grpcServerInstance: Instance[CoordinatorGrpcServer] = uninitialized
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private var failoverService: FailoverService = uninitialized
|
private var failoverService: FailoverService = uninitialized
|
||||||
@@ -52,6 +52,10 @@ class HealthMonitor:
|
|||||||
if kubeClientInstance.isUnsatisfied then None
|
if kubeClientInstance.isUnsatisfied then None
|
||||||
else Some(kubeClientInstance.get())
|
else Some(kubeClientInstance.get())
|
||||||
|
|
||||||
|
private def grpcServerOpt: Option[CoordinatorGrpcServer] =
|
||||||
|
if grpcServerInstance.isUnsatisfied then None
|
||||||
|
else Some(grpcServerInstance.get())
|
||||||
|
|
||||||
def setRedisPrefix(prefix: String): Unit =
|
def setRedisPrefix(prefix: String): Unit =
|
||||||
redisPrefix = prefix
|
redisPrefix = prefix
|
||||||
|
|
||||||
@@ -179,15 +183,17 @@ class HealthMonitor:
|
|||||||
|
|
||||||
private def validateStartupInstances(timeoutMs: Long): Unit =
|
private def validateStartupInstances(timeoutMs: Long): Unit =
|
||||||
Thread.sleep(timeoutMs)
|
Thread.sleep(timeoutMs)
|
||||||
instanceRegistry.getAllInstances.foreach { inst =>
|
grpcServerOpt.foreach { grpcServer =>
|
||||||
if !grpcServer.hasActiveStream(inst.instanceId) then
|
instanceRegistry.getAllInstances.foreach { inst =>
|
||||||
log.warnf(
|
if !grpcServer.hasActiveStream(inst.instanceId) then
|
||||||
"Startup: instance %s did not reconnect within %dms — evicting",
|
log.warnf(
|
||||||
inst.instanceId,
|
"Startup: instance %s did not reconnect within %dms — evicting",
|
||||||
timeoutMs,
|
inst.instanceId,
|
||||||
)
|
timeoutMs,
|
||||||
instanceRegistry.removeInstance(inst.instanceId)
|
)
|
||||||
deleteK8sPod(inst.instanceId)
|
instanceRegistry.removeInstance(inst.instanceId)
|
||||||
|
deleteK8sPod(inst.instanceId)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private def handlePodTerminating(pod: Pod): Unit =
|
private def handlePodTerminating(pod: Pod): Unit =
|
||||||
|
|||||||
Reference in New Issue
Block a user