Interface IngestionBackend

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
DefaultIngestionBackend

public interface IngestionBackend extends Closeable
  • Method Details

    • startConsumption

      void startConsumption(VeniceStoreVersionConfig storeConfig, int partition, Optional<PubSubPosition> pubSubPosition, String replicaId)
    • startConsumption

      default void startConsumption(VeniceStoreVersionConfig storeConfig, int partition, Optional<PubSubPosition> pubSubPosition, String replicaId, boolean createPaused)
      Start consumption for the given partition. If createPaused is true, the StoreIngestionTask will be paused after receiving START_OF_PUSH (future-slot pause). Only DaVinci clients support createPaused=true.

      Implementations that do not support paused creation must leave this default in place; it will throw UnsupportedOperationException when createPaused=true is requested.

    • stopConsumption

      CompletableFuture<Void> stopConsumption(VeniceStoreVersionConfig storeConfig, int partition, String replicaId)
    • killConsumptionTask

      void killConsumptionTask(String topicName)
    • shutdownIngestionTask

      void shutdownIngestionTask(String topicName)
    • addIngestionNotifier

      void addIngestionNotifier(VeniceNotifier ingestionListener)
    • dropStoragePartitionGracefully

      default CompletableFuture<Void> dropStoragePartitionGracefully(VeniceStoreVersionConfig storeConfig, int partition, int timeoutInSeconds, String replicaId)
      This method stops to subscribe the specified topic partition and delete partition data from storage and it will always drop empty storage engine.
      Parameters:
      storeConfig - Store version config
      partition - Partition number to be dropped in the store version.
      timeoutInSeconds - Number of seconds to wait before timeout.
      Returns:
      a future for the drop partition action.
    • dropStoragePartitionGracefully

      CompletableFuture<Void> dropStoragePartitionGracefully(VeniceStoreVersionConfig storeConfig, int partition, int timeoutInSeconds, boolean removeEmptyStorageEngine, String replicaId)
      This method stops to subscribe the specified topic partition and delete partition data from storage.
      Parameters:
      storeConfig - Store version config
      partition - 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.
      replicaId - The replica identifier for this partition.
      Returns:
      a future for the drop partition action.
    • getStoreIngestionService

      KafkaStoreIngestionService getStoreIngestionService()
    • removeStorageEngine

      void removeStorageEngine(String topicName)
    • setStorageEngineReference

      void setStorageEngineReference(String topicName, AtomicReference<StorageEngine> storageEngineReference)
    • hasCurrentVersionBootstrapping

      boolean hasCurrentVersionBootstrapping()
      Check whether there are any current version bootstrapping or not.