Package com.linkedin.davinci.ingestion
Class DefaultIngestionBackend
- java.lang.Object
-
- com.linkedin.davinci.ingestion.DefaultIngestionBackend
-
- All Implemented Interfaces:
IngestionBackend,java.io.Closeable,java.lang.AutoCloseable
- Direct Known Subclasses:
IsolatedIngestionBackend
public class DefaultIngestionBackend extends java.lang.Object implements IngestionBackend
The default ingestion backend implementation. Ingestion will be done in the same JVM as the application.
-
-
Constructor Summary
Constructors Constructor Description DefaultIngestionBackend(StorageMetadataService storageMetadataService, KafkaStoreIngestionService storeIngestionService, StorageService storageService, BlobTransferManager blobTransferManager, VeniceServerConfig serverConfig)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddIngestionNotifier(VeniceNotifier ingestionListener)voidclose()voiddropStoragePartitionGracefully(VeniceStoreVersionConfig storeConfig, int partition, int timeoutInSeconds, boolean removeEmptyStorageEngine)This method stops to subscribe the specified topic partition and delete partition data from storage.KafkaStoreIngestionServicegetStoreIngestionService()booleanhasCurrentVersionBootstrapping()Check whether there are any current version bootstrapping or not.voidkillConsumptionTask(java.lang.String topicName)voidremoveStorageEngine(java.lang.String topicName)voidsetStorageEngineReference(java.lang.String topicName, java.util.concurrent.atomic.AtomicReference<AbstractStorageEngine> storageEngineReference)voidshutdownIngestionTask(java.lang.String topicName)voidstartConsumption(VeniceStoreVersionConfig storeConfig, int partition)java.util.concurrent.CompletableFuture<java.lang.Void>stopConsumption(VeniceStoreVersionConfig storeConfig, int partition)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.linkedin.davinci.ingestion.IngestionBackend
dropStoragePartitionGracefully
-
-
-
-
Constructor Detail
-
DefaultIngestionBackend
public DefaultIngestionBackend(StorageMetadataService storageMetadataService, KafkaStoreIngestionService storeIngestionService, StorageService storageService, BlobTransferManager blobTransferManager, VeniceServerConfig serverConfig)
-
-
Method Detail
-
startConsumption
public void startConsumption(VeniceStoreVersionConfig storeConfig, int partition)
- Specified by:
startConsumptionin interfaceIngestionBackend
-
stopConsumption
public java.util.concurrent.CompletableFuture<java.lang.Void> stopConsumption(VeniceStoreVersionConfig storeConfig, int partition)
- Specified by:
stopConsumptionin interfaceIngestionBackend
-
killConsumptionTask
public void killConsumptionTask(java.lang.String topicName)
- Specified by:
killConsumptionTaskin interfaceIngestionBackend
-
shutdownIngestionTask
public void shutdownIngestionTask(java.lang.String topicName)
- Specified by:
shutdownIngestionTaskin interfaceIngestionBackend
-
removeStorageEngine
public void removeStorageEngine(java.lang.String topicName)
- Specified by:
removeStorageEnginein interfaceIngestionBackend
-
dropStoragePartitionGracefully
public void dropStoragePartitionGracefully(VeniceStoreVersionConfig storeConfig, int partition, int timeoutInSeconds, boolean removeEmptyStorageEngine)
Description copied from interface:IngestionBackendThis method stops to subscribe the specified topic partition and delete partition data from storage.- Specified by:
dropStoragePartitionGracefullyin interfaceIngestionBackend- Parameters:
storeConfig- Store version configpartition- Partition number to be dropped in the store version.timeoutInSeconds- Number of seconds to wait before timeout.removeEmptyStorageEngine- Whether to drop storage engine when dropping the last partition.
-
addIngestionNotifier
public void addIngestionNotifier(VeniceNotifier ingestionListener)
- Specified by:
addIngestionNotifierin interfaceIngestionBackend
-
setStorageEngineReference
public void setStorageEngineReference(java.lang.String topicName, java.util.concurrent.atomic.AtomicReference<AbstractStorageEngine> storageEngineReference)- Specified by:
setStorageEngineReferencein interfaceIngestionBackend
-
hasCurrentVersionBootstrapping
public boolean hasCurrentVersionBootstrapping()
Description copied from interface:IngestionBackendCheck whether there are any current version bootstrapping or not.- Specified by:
hasCurrentVersionBootstrappingin interfaceIngestionBackend
-
getStoreIngestionService
public KafkaStoreIngestionService getStoreIngestionService()
- Specified by:
getStoreIngestionServicein interfaceIngestionBackend
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable
-
-