Class MainIngestionMonitorService
- java.lang.Object
-
- com.linkedin.venice.service.AbstractVeniceService
-
- com.linkedin.davinci.ingestion.main.MainIngestionMonitorService
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class MainIngestionMonitorService extends AbstractVeniceService
This class is the listener service in main process which handles various kinds of reports sent from isolated ingestion service. MainIngestionMonitorService itself is a Netty based server implementation, and the main report handling logics happens inMainIngestionReportHandler. Besides reports handling, it also maintains two executor services to send heartbeat check and collect metrics to/from child process. Also, it maintains status for all the ongoing/completed topic partition ingestion tasks, which helpsIsolatedIngestionBackendto check which process a topic partition storage is located, as well as status recovery when child process crashed and restarted.
-
-
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
Constructors Constructor Description MainIngestionMonitorService(IsolatedIngestionBackend ingestionBackend, VeniceConfigLoader configLoader)
-
Method Summary
-
-
-
Constructor Detail
-
MainIngestionMonitorService
public MainIngestionMonitorService(IsolatedIngestionBackend ingestionBackend, VeniceConfigLoader configLoader)
-
-
Method Detail
-
startInner
public boolean startInner() throws java.lang.Exception- Specified by:
startInnerin 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.serviceStatetoAbstractVeniceService.ServiceState.STARTEDupon completion of the async work). - Throws:
java.lang.Exception
-
stopInner
public void stopInner() throws java.lang.Exception- Specified by:
stopInnerin classAbstractVeniceService- Throws:
java.lang.Exception
-
addIngestionNotifier
public void addIngestionNotifier(VeniceNotifier ingestionListener)
-
getIngestionNotifier
public java.util.List<VeniceNotifier> getIngestionNotifier()
-
addPushStatusNotifier
public void addPushStatusNotifier(VeniceNotifier pushStatusNotifier)
-
getPushStatusNotifierList
public java.util.List<VeniceNotifier> getPushStatusNotifierList()
-
setMetricsRepository
public void setMetricsRepository(io.tehuti.metrics.MetricsRepository metricsRepository)
-
setStorageMetadataService
public void setStorageMetadataService(MainIngestionStorageMetadataService storageMetadataService)
-
getStorageMetadataService
public MainIngestionStorageMetadataService getStorageMetadataService()
-
setStoreIngestionService
public void setStoreIngestionService(KafkaStoreIngestionService storeIngestionService)
-
getStoreIngestionService
public KafkaStoreIngestionService getStoreIngestionService()
-
getTopicPartitionIngestionStatus
public MainPartitionIngestionStatus getTopicPartitionIngestionStatus(java.lang.String topicName, int partitionId)
-
setVersionPartitionToLocalIngestion
public void setVersionPartitionToLocalIngestion(java.lang.String topicName, int partitionId)
-
setVersionPartitionToIsolatedIngestion
public void setVersionPartitionToIsolatedIngestion(java.lang.String topicName, int partitionId)
-
cleanupTopicPartitionState
public void cleanupTopicPartitionState(java.lang.String topicName, int partitionId)
-
cleanupTopicState
public void cleanupTopicState(java.lang.String topicName)
-
getTopicPartitionCount
public long getTopicPartitionCount(java.lang.String topicName)
-
getTopicIngestionStatusMap
public java.util.Map<java.lang.String,MainTopicIngestionStatus> getTopicIngestionStatusMap()
-
-