Class ResaveAllEppResourcesAction

  • All Implemented Interfaces:

    public class ResaveAllEppResourcesAction
    extends java.lang.Object
    implements java.lang.Runnable
    A mapreduce that re-saves all EppResources, projecting them forward to the current time.

    This is useful for completing data migrations on EppResource fields that are accomplished with @OnSave or @OnLoad annotations, and also guarantees that all EppResources will get fresh commit logs (for backup purposes). Additionally, pending actions such as transfers or grace periods that are past their effective time will be resolved.

    Because there are no auth settings in the Action annotation, this command can only be run internally, or by pretending to be internal by setting the X-AppEngine-QueueName header, which only admin users can do.

    If the ?fast=true querystring parameter is passed, then entities that are not changed by EppResource.cloneProjectedAtTime(org.joda.time.DateTime) will not be re-saved. This helps prevent mutation load on the DB and has the beneficial side effect of writing out smaller commit logs. Note that this does NOT pick up mutations caused by migrations using the OnLoad annotation, so if you are running a one-off schema migration, do not use fast mode. Fast mode defaults to false for this reason, but is used by the monthly invocation of the mapreduce.

    • Method Detail

      • run

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