Class MetadataCleanupDuty

java.lang.Object
org.apache.druid.server.coordinator.duty.MetadataCleanupDuty
All Implemented Interfaces:
CoordinatorDuty
Direct Known Subclasses:
KillAuditLog, KillCompactionConfig, KillDatasourceMetadata, KillRules, KillSupervisors, KillUnreferencedSegmentSchema

public abstract class MetadataCleanupDuty extends Object implements CoordinatorDuty
Performs cleanup of stale metadata entries created before a configured retain duration.

In every invocation of run(org.apache.druid.server.coordinator.DruidCoordinatorRuntimeParams), the duty checks if the cleanupPeriod has elapsed since the lastCleanupTime. If it has, then the method cleanupEntriesCreatedBefore(DateTime) is invoked. Otherwise, the duty completes immediately without making any changes.

  • Constructor Details

  • Method Details

    • run

      Description copied from interface: CoordinatorDuty
      Implementations of this method run various activities performed by the coordinator. Input params can be used and modified. The returned DruidCoordinatorRuntimeParams is passed to the next duty.
      Specified by:
      run in interface CoordinatorDuty
      Returns:
      same as input or a modified value to be used by next duty. Null return values will prevent subsequent CoordinatorDuty objects (see the order in the lists passed into the constructor of DruidCoordinator.DutiesRunnable) from running until the next cycle.
    • cleanupEntriesCreatedBefore

      protected abstract int cleanupEntriesCreatedBefore(org.joda.time.DateTime minCreatedTime)
      Cleans up metadata entries created before the minCreatedTime.

      This method is not invoked if the cleanupPeriod has not elapsed since the lastCleanupTime.

      Returns:
      Number of deleted metadata entries
    • getCurrentTime

      protected org.joda.time.DateTime getCurrentTime()