google-nomulus/java/google/registry/model
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
..
annotations Clean up some code quality issues 2017-12-01 22:14:06 -05:00
billing Add an EPP lifecycle test verifying that EAP fees are not refunded 2017-12-27 11:29:07 -05:00
common Replace FluentIterable with streams 2017-12-27 11:40:50 -05:00
contact Migrate Guava Predicates.notNull to Objects.nonNull 2017-12-27 11:19:53 -05:00
domain Allow the same LaunchPhase to be used for both start-date and end-date sunrise 2018-03-06 19:12:56 -05:00
eppcommon Clean up some code quality issues 2017-12-01 22:14:06 -05:00
eppinput Make EppInput.getSingleExtension() return Optional, not @Nullable 2018-01-19 14:40:10 -05:00
eppoutput Switch from Guava Optionals to Java 8 Optionals 2017-10-24 16:53:47 -04:00
host Format some imports using fix_imports.py 2017-10-24 16:53:47 -04:00
index Add short-term host/contact caching for high-QPS domain mutations 2018-03-06 19:05:20 -05:00
mark Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
ofy Replace FluentIterable with streams 2017-12-27 11:40:50 -05:00
poll Remove leniency on poll message ID format without years in them 2018-02-20 15:12:43 -05:00
pricing Clean up some code quality issues 2017-12-01 22:14:06 -05:00
rde Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
registrar Add the ability to require premium fee acking for a registrar 2018-02-01 22:07:11 -05:00
registry Add sharded DNS publishing capability 2018-03-06 19:14:26 -05:00
reporting Fix NPE in GetHistoryEntriesCommand 2017-10-24 16:53:47 -04:00
server Move metrics dependencies to artifacts under Maven groupId com.google.monitoring-client 2018-01-04 17:12:35 -05:00
smd Replace FluentIterable with streams 2017-12-27 11:40:50 -05:00
tmch Refactor Guava functional methods to use lambdas 2017-12-01 22:14:05 -05:00
transfer Clean up some code quality issues 2017-12-01 22:14:06 -05:00
translators Clarify diff display of MutatingCommand 2017-10-04 16:16:45 -04:00
BackupGroupRoot.java Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
BUILD Add //third_party/java/jaxb dependency to targets using javax.xml.bind 2018-01-23 16:18:35 -05:00
Buildable.java Clean up some code quality issues 2017-12-01 22:14:06 -05:00
CacheUtils.java Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
CreateAutoTimestamp.java Add create timestamp as field on AllocationToken entity 2018-01-19 14:25:28 -05:00
EntityClasses.java Add basic AllocationToken entity and tests 2018-01-19 14:22:30 -05:00
EppResource.java Add short-term host/contact caching for high-QPS domain mutations 2018-03-06 19:05:20 -05:00
EppResourceUtils.java Replace com.google.common.base.Function with java.util.function.Function 2017-12-27 11:08:55 -05:00
ImmutableObject.java Replace com.google.common.base.Function with java.util.function.Function 2017-12-27 11:08:55 -05:00
Jsonifiable.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
JsonMapBuilder.java Replace com.google.common.base.Function with java.util.function.Function 2017-12-27 11:08:55 -05:00
ModelUtils.java Replace FluentIterable with streams 2017-12-27 11:40:50 -05:00
package-info.java Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
SchemaVersion.java Run automatic Java 8 conversion over codebase 2017-10-10 12:09:41 -04:00
UpdateAutoTimestamp.java Switch from Guava Optionals to Java 8 Optionals 2017-10-24 16:53:47 -04:00