google-nomulus/java/google/registry/flows
mcilwain cb80a0df1e Batch contact/host loads when checking pending delete
I'm actually surprised that we had this in our code, as it seems like a huge
oversight, but we were individually loading each and every referenced contact
and host during domain/application create/update/allocate flows. Loading them
all as a single batch should reduce round trips to Datastore by a good deal,
thus improving performance.

We aren't giving up any transactional consistency in doing so and the only
potential downside I can think of is that we're always loading all contacts/
hosts instead of only some of them, in the rare case that one of the earlier
contacts/hosts is actually in pending delete (which allowed short-circuiting).
However, the gains from only making one round-trip should swamp the potential
losses in occasionally loading more data than is strictly necessary.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=186656118
2018-03-06 18:50:04 -05:00
..
annotations Make FlowRunner log ICANN activity report field name 2017-03-27 13:32:57 -04:00
async Move metrics dependencies to artifacts under Maven groupId com.google.monitoring-client 2018-01-04 17:12:35 -05:00
contact Remove unnecessary generic type arguments 2017-11-21 18:17:31 -05:00
custom Remove unnecessary generic type arguments 2017-11-21 18:17:31 -05:00
domain Batch contact/host loads when checking pending delete 2018-03-06 18:50:04 -05:00
exceptions Allow domain transfers with 0 period and in auto-renew grace period 2017-10-04 16:16:45 -04:00
host Clean up some code quality issues 2017-12-01 22:14:06 -05:00
picker Make EppInput.getSingleExtension() return Optional, not @Nullable 2018-01-19 14:40:10 -05:00
poll Remove leniency on poll message ID format without years in them 2018-02-20 15:12:43 -05:00
session Switch from Guava Optionals to Java 8 Optionals 2017-10-24 16:53:47 -04:00
soy Remove autoescape="strict" attributes from Soy templates. 2017-10-04 16:16:45 -04:00
BUILD Move metrics dependencies to artifacts under Maven groupId com.google.monitoring-client 2018-01-04 17:12:35 -05:00
CheckApiAction.java Remove unnecessary generic type arguments 2017-11-21 18:17:31 -05:00
EppConsoleAction.java Change @Auth to an AutoValue, and created a set of predefined Auths 2017-08-01 16:33:10 -04:00
EppController.java Rationalize logging statements across codebase 2018-01-19 14:56:45 -05:00
EppException.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
EppMetrics.java Move metrics dependencies to artifacts under Maven groupId com.google.monitoring-client 2018-01-04 17:12:35 -05:00
EppRequestHandler.java Set HTTP header when processing logout request 2017-11-07 17:30:13 -05:00
EppRequestSource.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
EppTlsAction.java Change @Auth to an AutoValue, and created a set of predefined Auths 2017-08-01 16:33:10 -04:00
EppToolAction.java Change @Auth to an AutoValue, and created a set of predefined Auths 2017-08-01 16:33:10 -04:00
EppXmlTransformer.java Rationalize logging statements across codebase 2018-01-19 14:56:45 -05:00
ExtensionManager.java Run automatic Java 8 conversion over codebase 2017-10-10 12:09:41 -04:00
Flow.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FlowComponent.java Add extensibility framework for allocation tokens 2018-02-01 21:54:29 -05:00
FlowMetadata.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FlowModule.java Make EppInput.getSingleExtension() return Optional, not @Nullable 2018-01-19 14:40:10 -05:00
FlowReporter.java Rationalize logging statements across codebase 2018-01-19 14:56:45 -05:00
FlowRunner.java Rationalize logging statements across codebase 2018-01-19 14:56:45 -05:00
FlowScope.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FlowUtils.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
GaeUserCredentials.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
HttpSessionMetadata.java Switch from Guava Optionals to Java 8 Optionals 2017-10-24 16:53:47 -04:00
PasswordOnlyTransportCredentials.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
ResourceFlowUtils.java Replace com.google.common.base.Predicate with java.util.function.Predicate 2017-12-27 11:21:28 -05:00
ServerTridProvider.java Clean up some code quality issues 2017-12-01 22:14:06 -05:00
ServerTridProviderImpl.java Refactor out creation of server TRIDs so they can be tested 2017-04-13 10:55:47 -04:00
ServerTridProviderModule.java Refactor out creation of server TRIDs so they can be tested 2017-04-13 10:55:47 -04:00
SessionMetadata.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
StatelessRequestSessionMetadata.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
TlsCredentials.java Switch from Guava Optionals to Java 8 Optionals 2017-10-24 16:53:47 -04:00
TransactionalFlow.java Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
TransportCredentials.java Clean up some code quality issues 2017-12-01 22:14:06 -05:00