Class AdaptiveThrottlerSignalService
java.lang.Object
com.linkedin.venice.service.AbstractVeniceService
com.linkedin.davinci.kafka.consumer.AdaptiveThrottlerSignalService
- All Implemented Interfaces:
Closeable
,AutoCloseable
This class contains service to periodically refresh all the signals for throttlers and update all registered throttler
based on new signal values.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.linkedin.venice.service.AbstractVeniceService
AbstractVeniceService.ServiceState
-
Field Summary
Fields inherited from class com.linkedin.venice.service.AbstractVeniceService
logger, serviceState
-
Constructor Summary
ConstructorDescriptionAdaptiveThrottlerSignalService
(VeniceServerConfig veniceServerConfig, io.tehuti.metrics.MetricsRepository metricsRepository, HeartbeatMonitoringService heartbeatMonitoringService) -
Method Summary
Modifier and TypeMethodDescriptionboolean
boolean
boolean
boolean
boolean
void
void
registerThrottler
(VeniceAdaptiveIngestionThrottler adaptiveIngestionThrottler) boolean
void
-
Field Details
-
HEARTBEAT_LAG_LIMIT
public static final long HEARTBEAT_LAG_LIMIT -
SINGLE_GET_LATENCY_P99_METRIC_NAME
- See Also:
-
-
Constructor Details
-
AdaptiveThrottlerSignalService
public AdaptiveThrottlerSignalService(VeniceServerConfig veniceServerConfig, io.tehuti.metrics.MetricsRepository metricsRepository, HeartbeatMonitoringService heartbeatMonitoringService)
-
-
Method Details
-
registerThrottler
-
refreshSignalAndThrottler
public void refreshSignalAndThrottler() -
isSingleGetLatencySignalActive
public boolean isSingleGetLatencySignalActive() -
isCurrentLeaderMaxHeartbeatLagSignalActive
public boolean isCurrentLeaderMaxHeartbeatLagSignalActive() -
isCurrentFollowerMaxHeartbeatLagSignalActive
public boolean isCurrentFollowerMaxHeartbeatLagSignalActive() -
isNonCurrentLeaderMaxHeartbeatLagSignalActive
public boolean isNonCurrentLeaderMaxHeartbeatLagSignalActive() -
isNonCurrentFollowerMaxHeartbeatLagSignalActive
public boolean isNonCurrentFollowerMaxHeartbeatLagSignalActive() -
startInner
- Specified by:
startInner
in classAbstractVeniceService
- Returns:
- true if the service is completely started,
false if it is still starting asynchronously (in this case, it is the implementer's
responsibility to set
AbstractVeniceService.serviceState
toAbstractVeniceService.ServiceState.STARTED
upon completion of the async work). - Throws:
Exception
-
stopInner
- Specified by:
stopInner
in classAbstractVeniceService
- Throws:
Exception
-