google-nomulus/javatests/google/registry
larryruili 3d5a6b808c Change loadActiveApplicationsByDomainName to non-transactional
We can easily end up enlisting too many entity groups (separate
DomainApplications) in a TransactionalFlow when loading all applications
tracked by the DomainApplicationIndex. This makes the load operation
transactionless, to avoid overenlisting.

Potential problems:
1. We fail to prevent landrush applications, if a single sunrise application
exists. This is likely fine, except for a brief moment in Sunrush when a
sunrise application is made immediately prior to a landrush application. The
result is we accept an invalid application- which can be mediated manually.

2. We fail to prevent a domain create for a domain with an open application.
This is a little more sinister, but also unlikely unless someone submits an
application immediately before someone tries to create the same domain (sans
application?)

3. We return an invalid DomainCheck response (instead of 'pending allocation').
Not the worst outcome.

4. We reduce the AuctionStatusCommand and GetApplicationIdsCommand to
eventual consistency. Since they're internal tools, that's not too big a deal.

A better solution:
DomainApplications really should just be normalized under a virtualEntityGroup
by fullyQualifiedDomainName, or a hash-bucket like EppResources are. The
DomainApplication -> DomainBase -> EppResource hierarchy seems to be purely for
code reuse, at the cost of Datastore consistency. This would, however, require
quite some refactoring, and a custom resave operation across all
DomainApplications.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=169395586
2017-10-04 16:16:44 -04:00
..
backup Map over Key instead of actual instances when deleting old commit logs 2017-08-29 15:40:41 -04:00
batch Move ResaveAllEppResources mapreduce from tools service to backend 2017-09-20 10:27:17 -04:00
bigquery Remove some unnecessary uses of MockitoJUnitRunner, which is discouraged 2017-04-26 10:42:43 -04:00
builddefs Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
config Remove unnecessary line to load configs 2017-02-27 11:07:40 -05:00
cron Add response information to TldFanoutAction 2017-04-10 13:32:41 -04:00
dns Swap all uses of Lock to LockHandler 2017-09-12 15:51:50 -04:00
export Migrate to new Sheets v4 api 2017-09-20 10:27:17 -04:00
flows Remove temporary handling of invalid billing events 2017-09-20 10:27:17 -04:00
groups Remove some unnecessary uses of MockitoJUnitRunner, which is discouraged 2017-04-26 10:47:13 -04:00
keyring Add request/lock to opensource build 2017-09-12 15:51:50 -04:00
mapreduce/inputs Map over Key instead of actual instances when deleting old commit logs 2017-08-29 15:40:41 -04:00
model Change loadActiveApplicationsByDomainName to non-transactional 2017-10-04 16:16:44 -04:00
module Move ResaveAllEppResources mapreduce from tools service to backend 2017-09-20 10:27:17 -04:00
monitoring Add a Fibonacci fitter for metrics bucketing 2017-05-23 17:22:49 -04:00
pricing Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
rdap Add RDAP warning when domain searches by nameserver may be incomplete 2017-09-20 10:27:17 -04:00
rde Swap all uses of Lock to LockHandler 2017-09-12 15:51:50 -04:00
reporting Add transaction report generation code 2017-09-12 15:51:50 -04:00
request Check if lock owner is finished on lock acquisition 2017-09-20 10:27:17 -04:00
security Remove some unnecessary uses of MockitoJUnitRunner, which is discouraged 2017-04-26 10:45:45 -04:00
server Make Registrar load methods return Optionals instead of Nullables 2017-08-01 16:58:59 -04:00
storage/drive Remove some unnecessary uses of MockitoJUnitRunner, which is discouraged 2017-04-26 10:45:45 -04:00
testing Migrate from old *Verb* classes to new *SubjectBuilder* classes 2017-09-12 15:51:58 -04:00
tldconfig/idn Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
tmch Update to latest ICANN-provided TMCH test files 2017-09-12 14:58:54 -04:00
tools Move ResaveAllEppResources mapreduce from tools service to backend 2017-09-20 10:27:17 -04:00
ui Fix foss build 2017-09-20 10:27:17 -04:00
util Fix Kokoro build 2017-09-12 15:51:50 -04:00
whois Add logging to WhoisReader 2017-09-12 15:51:50 -04:00
xjc Add mapper to import domains from RDE deposits 2017-02-06 16:46:46 -05:00
xml Update copyright year on all license headers 2017-02-02 16:27:22 -05:00