google-nomulus/java/google/registry
guyben 2bbde9d9a9 Retry any Datastore reads in EppResource map-reduce input
Datastore has a non-zero chance of failing on reads. A map-reduce with too many
failures will eventually give up. As a result, any map-reduce that goes over a
large number of datastore entities is almost guaranteed to fail.

Since we expect to have a large number of EppResources, we make sure to wrap
all datastore reads with some retrying mechanism to reduce the number of
transient failures that propagate to Map-Reduce.

This feature already existed for CommitLogManifestReader, we refactor the code to use the same retrying mechanism in EppResource readers.

Also removed the transactNew around the reads because looking at the source - it doesn't actually do anything we need (doesn't retry on any failure other than concurrency failure)

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=190633281
2018-04-02 16:44:29 -04:00
..
backup Retry any Datastore reads in EppResource map-reduce input 2018-04-02 16:44:29 -04:00
batch Replace occurrences of Wrapped.valueOf(...) with Wrapped.parseWrapped(...) 2018-04-02 16:14:12 -04:00
beam Refactor ICANN reporting and billing into common package 2018-02-01 21:56:06 -05:00
bigquery Rationalize logging statements across codebase 2018-01-19 14:56:45 -05:00
braintree Switch from Guava Optionals to Java 8 Optionals 2017-10-24 16:53:47 -04:00
builddefs Rename set to depset in .bzl and BUILD files 2017-08-29 16:53:21 -04:00
config Consolidate reserved terms export disclaimer 2018-04-02 16:32:21 -04:00
cron Remove empty TLD parameter when fanning out without TLDs 2018-04-02 16:24:27 -04:00
dns Remove transition code from [] 2018-04-02 16:35:20 -04:00
env Implement "premium price ack required" checkbox 2018-04-02 16:33:51 -04:00
export Refactor ICANN reporting and billing into common package 2018-02-01 21:56:06 -05:00
flows Log registrar IP address whitelist when auth is denied 2018-04-02 16:38:28 -04:00
gcs Add publish functionality to billing pipeline 2018-01-04 17:17:59 -05:00
groups Clean up some code quality issues 2017-12-01 22:14:06 -05:00
idn Update IDN tables to comply with https://www.iana.org/help/idn-repository-procedure 2018-02-01 21:59:14 -05:00
keyring Wrap exception properly in PgpHelper 2018-03-08 14:49:17 -05:00
loadtest Replace com.google.common.base.Function with java.util.function.Function 2017-12-27 11:08:55 -05:00
mapreduce Retry any Datastore reads in EppResource map-reduce input 2018-04-02 16:44:29 -04:00
model Implement "premium price ack required" checkbox 2018-04-02 16:33:51 -04:00
module Implement "premium price ack required" checkbox 2018-04-02 16:33:51 -04:00
monitoring/whitebox Rationalize logging statements across codebase 2018-01-19 14:56:45 -05:00
pricing Move backported JUnit file to third_party (part 2) 2017-12-02 11:37:46 -05:00
proxy Clean up some code quality issues in GCP proxy 2018-03-19 18:44:12 -04:00
rdap RDAP: Show registrar entity even if contacts are redacted 2018-03-06 19:00:47 -05:00
rde Add //third_party/java/jaxb dependency to targets using javax.xml.bind 2018-01-23 16:18:35 -05:00
reporting Remove the reduntant 'afterFinalFailure' from Retrier 2018-04-02 16:26:19 -04:00
request Replace occurrences of Wrapped.valueOf(...) with Wrapped.parseWrapped(...) 2018-04-02 16:14:12 -04:00
security Move backported JUnit file to third_party (part 2) 2017-12-02 11:37:46 -05:00
storage/drive Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
tldconfig/idn Replace occurrences of Wrapped.valueOf(...) with Wrapped.parseWrapped(...) 2018-04-02 16:14:12 -04:00
tmch Rationalize logging statements across codebase 2018-01-19 14:56:45 -05:00
tools Add OT&E verification that a domain was successfully created in sunrise 2018-04-02 16:41:28 -04:00
ui Implement "premium price ack required" checkbox 2018-04-02 16:33:51 -04:00
util Remove the reduntant 'afterFinalFailure' from Retrier 2018-04-02 16:26:19 -04:00
whois Rationalize logging statements across codebase 2018-01-19 14:56:45 -05:00
xjc Add //third_party/java/jaxb dependency to targets using javax.xml.bind 2018-01-23 16:18:35 -05:00
xml Add //third_party/java/jaxb dependency to targets using javax.xml.bind 2018-01-23 16:18:35 -05:00
BUILD Add nocron ear and deployer rules for the crash environment 2017-10-04 16:16:45 -04:00
repositories.bzl Update FOSS build monitoring client version 2018-03-06 19:18:50 -05:00