Class PendingDepositChecker


  • public final class PendingDepositChecker
    extends java.lang.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 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 mapreduce, 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 Datastore in a transaction.

    • Method Detail

      • getTldsAndWatermarksPendingDepositForRdeAndBrda

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