google-nomulus/java/google/registry
larryruili fa989e754b Add sharded DNS publishing capability
This enables sharded DNS publishing on a per-TLD basis. Instead of a TLD-wide lock, the sharded scheme locks each update on the shard number, allowing parallel writes to DNS.

We allow N (the number of shards) to be 0 or 1 for no sharding, and N > 1 for an N-way sharding scheme. Unless explicitly set, all TLDs default to a numShards of 0, so we don't have to reload all registry objects explicitly.

WARNING: This will change the lock name upon deployment for the PublishDnsAction from "<TLD> Dns Updates" to "<TLD> Dns Updates shard 0". This may cause concurrency issues if the underlying DNSWriter is not parallel-write tolerant (currently all production usages are ZonemanWriter, which is parallel-tolerant, so no issues are expected).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=187525655
2018-03-06 19:14:26 -05:00
..
backup Rationalize logging statements across codebase 2018-01-19 14:56:45 -05:00
batch Accept a list of TLDs on which to delete "prober" (test) data. 2018-03-06 19:03:48 -05: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 Make the async delete delay configurable in YAML config files 2018-03-06 19:06:52 -05:00
cron Move backported JUnit file to third_party (part 2) 2017-12-02 11:37:46 -05:00
dns Add sharded DNS publishing capability 2018-03-06 19:14:26 -05:00
eclipse Switch from Guava Optionals to Java 8 Optionals 2017-10-24 16:53:47 -04:00
env Turn off deleteProberData on alpha for duration of loadtesting 2018-03-06 19:09:52 -05:00
export Refactor ICANN reporting and billing into common package 2018-02-01 21:56:06 -05:00
flows Allow the same LaunchPhase to be used for both start-date and end-date sunrise 2018-03-06 19:12:56 -05: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 Rationalize logging statements across codebase 2018-01-19 14:56:45 -05:00
loadtest Replace com.google.common.base.Function with java.util.function.Function 2017-12-27 11:08:55 -05:00
mapreduce Move backported JUnit file to third_party (part 2) 2017-12-02 11:37:46 -05:00
model Add sharded DNS publishing capability 2018-03-06 19:14:26 -05:00
module Refactor ICANN reporting and billing into common package 2018-02-01 21:56:06 -05: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 Use bazel rules to build docker image and push to GCR 2018-03-06 19:08:24 -05: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 Refactor ICANN reporting and billing into common package 2018-02-01 21:56:06 -05:00
request Refactor ICANN reporting and billing into common package 2018-02-01 21:56:06 -05: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 Move backported JUnit file to third_party (part 2) 2017-12-02 11:37:46 -05:00
tmch Rationalize logging statements across codebase 2018-01-19 14:56:45 -05:00
tools Add sharded DNS publishing capability 2018-03-06 19:14:26 -05:00
ui Remove final uses of @code in JS comments 2018-03-06 18:51:32 -05:00
util Add sharded DNS publishing capability 2018-03-06 19:14:26 -05: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 bazel version to 0.10.0 2018-02-05 23:54:49 -05:00