Class PendingDepositChecker

java.lang.Object
google.registry.rde.PendingDepositChecker

public final class PendingDepositChecker extends Object
Utility class that determines which RDE or BRDA deposits need to be created.

This class is called by RdeStagingAction at the beginning of its execution. Since it stages everything in a single run, it needs to know what's awaiting deposit.

We start off by getting the list of TLDs with escrow enabled. We then check cursor to see when it was due for a deposit. If that's in the past, then we know that we need to generate a deposit. If it's really far in the past, we might have to generate multiple deposits for that TLD, based on the configured interval.

However we will only generate one interval forward per run, since the reduce phase rolls forward a TLD's cursor, and we can't have that happening in parallel.

If no deposits have been made so far, then startingPoint is used as the watermark of the next deposit. If that's a day in the future, then escrow won't start until that date. This first deposit time will be set to the database in a transaction.

  • Method Details

    • getTldsAndWatermarksPendingDepositForRdeAndBrda

      public com.google.common.collect.ImmutableSetMultimap<String,PendingDeposit> getTldsAndWatermarksPendingDepositForRdeAndBrda()
      Returns multimap of TLDs to all RDE and BRDA deposits that need to happen.