Make the async delete delay configurable in YAML config files

Since this has interactions with the recently added EPP resource caching,
they both need to be configurable, otherwise the EPP resource caching time
could not be set longer than the hard-coded async delete delay.

This also adds comments to better clarify the interaction between the two.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=187179539
This commit is contained in:
mcilwain 2018-02-27 08:29:47 -08:00 committed by jianglai
parent ce136f9285
commit 9e3fb8b93c
3 changed files with 10 additions and 3 deletions

View file

@ -1026,8 +1026,8 @@ public final class RegistryConfig {
*/
@Provides
@Config("asyncDeleteFlowMapreduceDelay")
public static Duration provideAsyncDeleteFlowMapreduceDelay() {
return Duration.standardSeconds(90);
public static Duration provideAsyncDeleteFlowMapreduceDelay(RegistryConfigSettings config) {
return Duration.standardSeconds(config.misc.asyncDeleteDelaySeconds);
}
/**

View file

@ -155,6 +155,7 @@ public class RegistryConfigSettings {
public String sheetExportId;
public String alertRecipientEmailAddress;
public String alertEmailSenderDomain;
public int asyncDeleteDelaySeconds;
}
/** Configuration for Braintree credit card payment processing. */

View file

@ -155,7 +155,8 @@ caching:
eppResourceCachingEnabled: false
# Length of time that EPP resource entities and keys are cached in memory
# before expiring.
# before expiring. This should always be shorter than asyncDeleteDelaySeconds,
# to prevent deleted contacts or hosts from being used on domains.
eppResourceCachingSeconds: 60
# The maximum number of EPP resource entities and keys to cache in memory.
@ -244,6 +245,11 @@ misc:
# Domain for the email address we send alert summary emails from.
alertEmailSenderDomain: appspotmail.com
# How long to delay processing of asynchronous deletions. This should always
# be longer than eppResourceCachingSeconds, to prevent deleted contacts or
# hosts from being used on domains.
asyncDeleteDelaySeconds: 90
# Braintree is a credit card payment processor that is used on the registrar
# console to allow registrars to pay their invoices.
braintree: