mirror of
https://github.com/google/nomulus.git
synced 2025-05-02 04:57:51 +02:00
As previously written, it loaded up all history entries into memory and then processed them. This was OOMing for some registrars on sandbox who had performed a large number of testing actions, most of them long OT&E was passed. This commit changes the verify OT&E action to stream the history entries in batches, ordered by when they were made, and then terminates once all tests have passed. This prevents OOMing because only a single batch of history entries need reside in memory at once. This does necessitate the creation of a new composite Datastore index on HistoryEntry, so we'll need to run the ResaveAllHistoryEntriesAction in sandbox after this change is deployed before the new verify OT&E code will work. Note that the "history viewer" is long dead, but that the pre-existing index on HistoryEntries is still used for many other purposes. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=223163337
109 lines
5.3 KiB
XML
109 lines
5.3 KiB
XML
<datastore-indexes autoGenerate="false">
|
|
<!-- For finding contact resources by registrar. -->
|
|
<datastore-index kind="ContactResource" ancestor="false" source="manual">
|
|
<property name="currentSponsorClientId" direction="asc"/>
|
|
<property name="deletionTime" direction="asc"/>
|
|
<property name="searchName" direction="asc"/>
|
|
</datastore-index>
|
|
<!-- For finding domain resources by registrar. -->
|
|
<datastore-index kind="DomainBase" ancestor="false" source="manual">
|
|
<property name="^i" direction="asc"/>
|
|
<property name="currentSponsorClientId" direction="asc"/>
|
|
<property name="deletionTime" direction="asc"/>
|
|
</datastore-index>
|
|
<!-- For finding domain resources by TLD. -->
|
|
<datastore-index kind="DomainBase" ancestor="false" source="manual">
|
|
<property name="^i" direction="asc"/>
|
|
<property name="tld" direction="asc"/>
|
|
<property name="deletionTime" direction="asc"/>
|
|
</datastore-index>
|
|
<!-- For finding domain resources by registrar. -->
|
|
<datastore-index kind="DomainBase" ancestor="false" source="manual">
|
|
<property name="currentSponsorClientId" direction="asc"/>
|
|
<property name="deletionTime" direction="asc"/>
|
|
</datastore-index>
|
|
<!-- For finding the most recently created domain resources. -->
|
|
<datastore-index kind="DomainBase" ancestor="false" source="manual">
|
|
<property name="^i" direction="asc"/>
|
|
<property name="tld" direction="asc"/>
|
|
<property name="creationTime" direction="desc"/>
|
|
</datastore-index>
|
|
<!-- For finding host resources by registrar. -->
|
|
<datastore-index kind="HostResource" ancestor="false" source="manual">
|
|
<property name="currentSponsorClientId" direction="asc"/>
|
|
<property name="deletionTime" direction="asc"/>
|
|
<property name="fullyQualifiedHostName" direction="asc"/>
|
|
</datastore-index>
|
|
<!-- For finding account balance of registrar and viewing billing history. -->
|
|
<datastore-index kind="RegistrarBillingEntry" ancestor="true" source="manual">
|
|
<property name="currency" direction="asc"/>
|
|
<property name="created" direction="desc"/>
|
|
</datastore-index>
|
|
<!-- For determining the active domains linked to a given contact. -->
|
|
<datastore-index kind="DomainBase" ancestor="false" source="manual">
|
|
<property name="allContacts.contact" direction="asc"/>
|
|
<property name="deletionTime" direction="asc"/>
|
|
</datastore-index>
|
|
<!-- For determining the active domains linked to a given host. -->
|
|
<datastore-index kind="DomainBase" ancestor="false" source="manual">
|
|
<property name="nsHosts" direction="asc"/>
|
|
<property name="deletionTime" direction="asc"/>
|
|
</datastore-index>
|
|
<!-- For RDAP searches by linked nameserver. -->
|
|
<datastore-index kind="DomainBase" ancestor="false" source="manual">
|
|
<property name="^i" direction="asc"/>
|
|
<property name="nsHosts" direction="asc"/>
|
|
<property name="deletionTime" direction="asc"/>
|
|
</datastore-index>
|
|
<!-- For WHOIS IP address lookup -->
|
|
<datastore-index kind="HostResource" ancestor="false" source="manual">
|
|
<property name="inetAddresses" direction="asc"/>
|
|
<property name="deletionTime" direction="asc"/>
|
|
</datastore-index>
|
|
<!-- For Poll -->
|
|
<datastore-index kind="PollMessage" ancestor="false" source="manual">
|
|
<property name="clientId" direction="asc"/>
|
|
<property name="eventTime" direction="asc"/>
|
|
</datastore-index>
|
|
<datastore-index kind="PollMessage" ancestor="true" source="manual">
|
|
<property name="clientId" direction="asc"/>
|
|
<property name="eventTime" direction="asc"/>
|
|
</datastore-index>
|
|
<!-- For querying HistoryEntries. -->
|
|
<datastore-index kind="HistoryEntry" ancestor="true" source="manual">
|
|
<property name="modificationTime" direction="asc"/>
|
|
</datastore-index>
|
|
<datastore-index kind="HistoryEntry" ancestor="false" source="manual">
|
|
<property name="clientId" direction="asc"/>
|
|
<property name="modificationTime" direction="asc"/>
|
|
</datastore-index>
|
|
<!-- For RDAP. -->
|
|
<datastore-index kind="DomainBase" ancestor="false" source="manual">
|
|
<property name="^i" direction="asc"/>
|
|
<property name="fullyQualifiedDomainName" direction="asc"/>
|
|
</datastore-index>
|
|
<datastore-index kind="DomainBase" ancestor="false" source="manual">
|
|
<property name="^i" direction="asc"/>
|
|
<property name="currentSponsorClientId" direction="asc"/>
|
|
<property name="fullyQualifiedDomainName" direction="asc"/>
|
|
</datastore-index>
|
|
<datastore-index kind="DomainBase" ancestor="false" source="manual">
|
|
<property name="^i" direction="asc"/>
|
|
<property name="currentSponsorClientId" direction="asc"/>
|
|
<property name="tld" direction="asc"/>
|
|
<property name="fullyQualifiedDomainName" direction="asc"/>
|
|
</datastore-index>
|
|
<datastore-index kind="DomainBase" ancestor="false" source="manual">
|
|
<property name="^i" direction="asc"/>
|
|
<property name="tld" direction="asc"/>
|
|
<property name="fullyQualifiedDomainName" direction="asc"/>
|
|
</datastore-index>
|
|
<datastore-index kind="HostResource" ancestor="false" source="manual">
|
|
<property name="deletionTime" direction="asc"/>
|
|
<property name="fullyQualifiedHostName" direction="asc"/>
|
|
</datastore-index>
|
|
<datastore-index kind="ContactResource" ancestor="false" source="manual">
|
|
<property name="deletionTime" direction="asc"/>
|
|
<property name="searchName" direction="asc"/>
|
|
</datastore-index>
|
|
</datastore-indexes>
|