Class StoreGraveyardCleanupService

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class StoreGraveyardCleanupService
    extends AbstractVeniceService
    This service is in charge of removing stores under /venice//StoreGraveyard zk path. A store is removable from graveyard when the following resources do not exist: 1. Kafka topics, including user store and its system stores version, streaming reprocessing and real-time topics. 2. Helix resources, including resources created by Helix for user store and its system stores versions. 3. Offline pushes, including OfflinePushes zk nodes created by Venice for user store and its system stores versions. The service runs in parent controller only. Parent controller find removable stores and calls child controllers. Each child controller checks if the store can be removed from graveyard in the child colo. If so, remove it and respond OK. Otherwise, respond with error. If all child controllers respond OK, parent controller will remove the store from graveyard in parent colo.