Add test and commentary for "phantom autorenew" in pendingDelete

This documents some slightly spooky behavior around domains that have an expiration time within their pendingDelete window (meaning the whole period from DomainDeleteFlow running to the actual deletionTime, not just the 5-day pendingDelete grace period).  They will experience an autorenew in terms of expiration time and grace period status due to cloneProjectedAtTime(), but without the usual artifacts of an autorenew (billing event and poll message).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149019980
This commit is contained in:
nickfelt 2017-03-02 10:40:12 -08:00 committed by Ben McIlwain
parent fa5607c3e1
commit f663f00251
2 changed files with 10 additions and 0 deletions

View file

@ -155,6 +155,10 @@ public final class DomainDeleteFlow implements TransactionalFlow {
now.plus(registry.getRedemptionGracePeriodLength()),
clientId)))
.setDeletePollMessage(Key.create(deletePollMessage));
// Note: The expiration time is unchanged, so if it's before the new deletion time, there will
// be a "phantom autorenew" where the expiration time advances but no billing event or poll
// message are produced (since we are ending the autorenew recurrences at "now" below). For
// now at least this is working as intended.
}
DomainResource newDomain = builder.build();
updateForeignKeyIndexDeletionTime(newDomain);