Class LogCompactionService

java.lang.Object
com.linkedin.venice.service.AbstractVeniceService
com.linkedin.venice.controller.logcompaction.LogCompactionService
All Implemented Interfaces:
Closeable, AutoCloseable

public class LogCompactionService extends AbstractVeniceService
This service is in charge of scheduling periodic log compaction & utilising VeniceHelixAdmin to trigger log compaction. The service runs in child controllers & initialised in VeniceController. Workflow: 1. schedules LogCompactionService.LogCompactionTask periodically to perform log compaction for all stores in the cluster controlled by the VeniceController instance that runs this LogCompactionService instance 2. checks for stores that are ready for log compaction with function VeniceHelixAdmin.getStoresForCompaction(String) 3. triggers compaction for each store with function VeniceHelixAdmin.compactStore(RepushJobRequest) See CompactionManager for the logic to determine if a store is ready for compaction