Class DeleteOldCommitLogsAction

  • All Implemented Interfaces:

    public final class DeleteOldCommitLogsAction
    extends java.lang.Object
    implements java.lang.Runnable
    Task that garbage collects old CommitLogManifest entities.

    Once commit logs have been written to GCS, we don't really need them in Datastore anymore, except to reconstruct point-in-time snapshots of the database. To make that possible, EppResources have a EppResource.getRevisions() method that returns the commit logs for older points in time. But that functionality is not useful after a certain amount of time, e.g. thirty days, so unneeded revisions are deleted (see CommitLogRevisionsTranslatorFactory). This leaves commit logs in the system that are unneeded (have no revisions pointing to them). So this task runs periodically to delete the "orphan" commit logs.

    This action runs a mapreduce that goes over all existing EppResource and all CommitLogManifest older than commitLogDatastreRetention, and erases the commit logs aren't in an EppResource.

    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void run()
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable