google-nomulus/java/google/registry/dns
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
..
writer Add sharded DNS publishing capability 2018-03-06 19:14:26 -05:00
BUILD Move metrics dependencies to artifacts under Maven groupId com.google.monitoring-client 2018-01-04 17:12:35 -05:00
DnsConstants.java Add metric for DNS UPDATE latency 2018-02-20 15:54:15 -05:00
DnsMetrics.java Add sharded DNS publishing capability 2018-03-06 19:14:26 -05:00
DnsModule.java Add sharded DNS publishing capability 2018-03-06 19:14:26 -05:00
DnsQueue.java Add metric for DNS UPDATE latency 2018-02-20 15:54:15 -05:00
DnsWriterProxy.java Requeue domains on wrong DnsWriter. 2017-12-13 12:43:45 -05:00
PublishDnsUpdatesAction.java Add sharded DNS publishing capability 2018-03-06 19:14:26 -05:00
ReadDnsQueueAction.java Add sharded DNS publishing capability 2018-03-06 19:14:26 -05:00
RefreshDnsAction.java Change @Auth to an AutoValue, and created a set of predefined Auths 2017-08-01 16:33:10 -04:00