mirror of
https://github.com/google/nomulus.git
synced 2025-05-13 07:57:13 +02:00
Remove transition code from []
The parameters were optional during the transition to allow old jobs stuck in the queue to work properly. It's been 2 months now so it's time to end the transition. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190235532
This commit is contained in:
parent
785225fc28
commit
89d8ba93f2
5 changed files with 29 additions and 34 deletions
|
@ -25,7 +25,6 @@ import static google.registry.dns.PublishDnsUpdatesAction.PARAM_PUBLISH_TASK_ENQ
|
||||||
import static google.registry.dns.PublishDnsUpdatesAction.PARAM_REFRESH_REQUEST_CREATED;
|
import static google.registry.dns.PublishDnsUpdatesAction.PARAM_REFRESH_REQUEST_CREATED;
|
||||||
import static google.registry.request.RequestParameters.extractEnumParameter;
|
import static google.registry.request.RequestParameters.extractEnumParameter;
|
||||||
import static google.registry.request.RequestParameters.extractOptionalIntParameter;
|
import static google.registry.request.RequestParameters.extractOptionalIntParameter;
|
||||||
import static google.registry.request.RequestParameters.extractOptionalParameter;
|
|
||||||
import static google.registry.request.RequestParameters.extractRequiredParameter;
|
import static google.registry.request.RequestParameters.extractRequiredParameter;
|
||||||
import static google.registry.request.RequestParameters.extractSetOfParameters;
|
import static google.registry.request.RequestParameters.extractSetOfParameters;
|
||||||
|
|
||||||
|
@ -40,7 +39,6 @@ import google.registry.dns.DnsConstants.TargetType;
|
||||||
import google.registry.dns.writer.DnsWriterZone;
|
import google.registry.dns.writer.DnsWriterZone;
|
||||||
import google.registry.request.Parameter;
|
import google.registry.request.Parameter;
|
||||||
import google.registry.request.RequestParameters;
|
import google.registry.request.RequestParameters;
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.inject.Named;
|
import javax.inject.Named;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
@ -79,16 +77,14 @@ public abstract class DnsModule {
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Parameter(PARAM_PUBLISH_TASK_ENQUEUED)
|
@Parameter(PARAM_PUBLISH_TASK_ENQUEUED)
|
||||||
// TODO(b/73343464): make the param required once the transition has finished
|
static DateTime provideCreateTime(HttpServletRequest req) {
|
||||||
static Optional<DateTime> provideCreateTime(HttpServletRequest req) {
|
return DateTime.parse(extractRequiredParameter(req, PARAM_PUBLISH_TASK_ENQUEUED));
|
||||||
return extractOptionalParameter(req, PARAM_PUBLISH_TASK_ENQUEUED).map(DateTime::parse);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Parameter(PARAM_REFRESH_REQUEST_CREATED)
|
@Parameter(PARAM_REFRESH_REQUEST_CREATED)
|
||||||
// TODO(b/73343464): make the param required once the transition has finished
|
static DateTime provideItemsCreateTime(HttpServletRequest req) {
|
||||||
static Optional<DateTime> provideItemsCreateTime(HttpServletRequest req) {
|
return DateTime.parse(extractRequiredParameter(req, PARAM_REFRESH_REQUEST_CREATED));
|
||||||
return extractOptionalParameter(req, PARAM_REFRESH_REQUEST_CREATED).map(DateTime::parse);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
|
|
|
@ -33,7 +33,6 @@ import google.registry.request.lock.LockHandler;
|
||||||
import google.registry.util.Clock;
|
import google.registry.util.Clock;
|
||||||
import google.registry.util.DomainNameUtils;
|
import google.registry.util.DomainNameUtils;
|
||||||
import google.registry.util.FormattingLogger;
|
import google.registry.util.FormattingLogger;
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
@ -75,10 +74,14 @@ public final class PublishDnsUpdatesAction implements Runnable, Callable<Void> {
|
||||||
* out (and not necessarily currently).
|
* out (and not necessarily currently).
|
||||||
*/
|
*/
|
||||||
@Inject @Parameter(PARAM_DNS_WRITER) String dnsWriter;
|
@Inject @Parameter(PARAM_DNS_WRITER) String dnsWriter;
|
||||||
// TODO(b/73343464): make not-optional once transition has ended
|
|
||||||
@Inject @Parameter(PARAM_PUBLISH_TASK_ENQUEUED) Optional<DateTime> enqueuedTime;
|
@Inject
|
||||||
// TODO(b/73343464): make not-optional once transition has ended
|
@Parameter(PARAM_PUBLISH_TASK_ENQUEUED)
|
||||||
@Inject @Parameter(PARAM_REFRESH_REQUEST_CREATED) Optional<DateTime> itemsCreateTime;
|
DateTime enqueuedTime;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
@Parameter(PARAM_REFRESH_REQUEST_CREATED)
|
||||||
|
DateTime itemsCreateTime;
|
||||||
|
|
||||||
@Inject @Parameter(PARAM_LOCK_INDEX) int lockIndex;
|
@Inject @Parameter(PARAM_LOCK_INDEX) int lockIndex;
|
||||||
@Inject @Parameter(PARAM_NUM_PUBLISH_LOCKS) int numPublishLocks;
|
@Inject @Parameter(PARAM_NUM_PUBLISH_LOCKS) int numPublishLocks;
|
||||||
|
@ -96,8 +99,8 @@ public final class PublishDnsUpdatesAction implements Runnable, Callable<Void> {
|
||||||
dnsWriter,
|
dnsWriter,
|
||||||
status,
|
status,
|
||||||
nullToEmpty(domains).size() + nullToEmpty(hosts).size(),
|
nullToEmpty(domains).size() + nullToEmpty(hosts).size(),
|
||||||
new Duration(itemsCreateTime.orElse(now), now),
|
new Duration(itemsCreateTime, now),
|
||||||
new Duration(enqueuedTime.orElse(now), now));
|
new Duration(enqueuedTime, now));
|
||||||
logger.infofmt(
|
logger.infofmt(
|
||||||
"publishDnsWriter latency statistics: TLD: %s, dnsWriter: %s, actionStatus: %s, "
|
"publishDnsWriter latency statistics: TLD: %s, dnsWriter: %s, actionStatus: %s, "
|
||||||
+ "numItems: %s, timeSinceCreation: %s, timeInQueue: %s",
|
+ "numItems: %s, timeSinceCreation: %s, timeInQueue: %s",
|
||||||
|
@ -105,8 +108,8 @@ public final class PublishDnsUpdatesAction implements Runnable, Callable<Void> {
|
||||||
dnsWriter,
|
dnsWriter,
|
||||||
status,
|
status,
|
||||||
nullToEmpty(domains).size() + nullToEmpty(hosts).size(),
|
nullToEmpty(domains).size() + nullToEmpty(hosts).size(),
|
||||||
new Duration(itemsCreateTime.orElse(now), now),
|
new Duration(itemsCreateTime, now),
|
||||||
new Duration(enqueuedTime.orElse(now), now));
|
new Duration(enqueuedTime, now));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Runs the task. */
|
/** Runs the task. */
|
||||||
|
|
|
@ -218,7 +218,7 @@ public final class ReadDnsQueueAction implements Runnable {
|
||||||
* tasks for paused TLDs or tasks for TLDs not part of {@link Registries#getTlds()}.
|
* tasks for paused TLDs or tasks for TLDs not part of {@link Registries#getTlds()}.
|
||||||
*/
|
*/
|
||||||
private void dispatchTasks(ImmutableSet<TaskHandle> tasks, ImmutableSet<String> tlds) {
|
private void dispatchTasks(ImmutableSet<TaskHandle> tasks, ImmutableSet<String> tlds) {
|
||||||
ClassifiedTasks classifiedTasks = classifyTasks(tasks, tlds, clock.nowUtc());
|
ClassifiedTasks classifiedTasks = classifyTasks(tasks, tlds);
|
||||||
if (!classifiedTasks.pausedTlds().isEmpty()) {
|
if (!classifiedTasks.pausedTlds().isEmpty()) {
|
||||||
logger.infofmt("The dns-pull queue is paused for TLDs: %s.", classifiedTasks.pausedTlds());
|
logger.infofmt("The dns-pull queue is paused for TLDs: %s.", classifiedTasks.pausedTlds());
|
||||||
}
|
}
|
||||||
|
@ -255,7 +255,7 @@ public final class ReadDnsQueueAction implements Runnable {
|
||||||
* taken on them) or in no category (if no action is to be taken on them)
|
* taken on them) or in no category (if no action is to be taken on them)
|
||||||
*/
|
*/
|
||||||
private static ClassifiedTasks classifyTasks(
|
private static ClassifiedTasks classifyTasks(
|
||||||
ImmutableSet<TaskHandle> tasks, ImmutableSet<String> tlds, DateTime now) {
|
ImmutableSet<TaskHandle> tasks, ImmutableSet<String> tlds) {
|
||||||
|
|
||||||
ClassifiedTasks.Builder classifiedTasksBuilder = ClassifiedTasks.builder();
|
ClassifiedTasks.Builder classifiedTasksBuilder = ClassifiedTasks.builder();
|
||||||
|
|
||||||
|
@ -263,14 +263,7 @@ public final class ReadDnsQueueAction implements Runnable {
|
||||||
for (TaskHandle task : tasks) {
|
for (TaskHandle task : tasks) {
|
||||||
try {
|
try {
|
||||||
Map<String, String> params = ImmutableMap.copyOf(task.extractParams());
|
Map<String, String> params = ImmutableMap.copyOf(task.extractParams());
|
||||||
// We allow 'null' create-time for the transition period - and during that time we set the
|
DateTime creationTime = DateTime.parse(params.get(DNS_TARGET_CREATE_TIME_PARAM));
|
||||||
// create-time to "now".
|
|
||||||
//
|
|
||||||
// TODO(b/73343464):remove support for null create-time once transition is over.
|
|
||||||
DateTime creationTime =
|
|
||||||
Optional.ofNullable(params.get(DNS_TARGET_CREATE_TIME_PARAM))
|
|
||||||
.map(DateTime::parse)
|
|
||||||
.orElse(now);
|
|
||||||
String tld = params.get(RequestParameters.PARAM_TLD);
|
String tld = params.get(RequestParameters.PARAM_TLD);
|
||||||
if (tld == null) {
|
if (tld == null) {
|
||||||
logger.severefmt("Discarding invalid DNS refresh request %s; no TLD specified.", task);
|
logger.severefmt("Discarding invalid DNS refresh request %s; no TLD specified.", task);
|
||||||
|
|
|
@ -42,7 +42,6 @@ import google.registry.testing.AppEngineRule;
|
||||||
import google.registry.testing.FakeClock;
|
import google.registry.testing.FakeClock;
|
||||||
import google.registry.testing.FakeLockHandler;
|
import google.registry.testing.FakeLockHandler;
|
||||||
import google.registry.testing.InjectRule;
|
import google.registry.testing.InjectRule;
|
||||||
import java.util.Optional;
|
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
import org.joda.time.Duration;
|
import org.joda.time.Duration;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
@ -93,8 +92,8 @@ public class PublishDnsUpdatesActionTest {
|
||||||
action.tld = tld;
|
action.tld = tld;
|
||||||
action.hosts = ImmutableSet.of();
|
action.hosts = ImmutableSet.of();
|
||||||
action.domains = ImmutableSet.of();
|
action.domains = ImmutableSet.of();
|
||||||
action.itemsCreateTime = Optional.of(clock.nowUtc().minusHours(2));
|
action.itemsCreateTime = clock.nowUtc().minusHours(2);
|
||||||
action.enqueuedTime = Optional.of(clock.nowUtc().minusHours(1));
|
action.enqueuedTime = clock.nowUtc().minusHours(1);
|
||||||
action.dnsWriter = "correctWriter";
|
action.dnsWriter = "correctWriter";
|
||||||
action.dnsWriterProxy = new DnsWriterProxy(ImmutableMap.of("correctWriter", dnsWriter));
|
action.dnsWriterProxy = new DnsWriterProxy(ImmutableMap.of("correctWriter", dnsWriter));
|
||||||
action.dnsMetrics = dnsMetrics;
|
action.dnsMetrics = dnsMetrics;
|
||||||
|
|
|
@ -67,6 +67,8 @@ public class ReadDnsQueueActionTest {
|
||||||
|
|
||||||
private static final int TEST_TLD_UPDATE_BATCH_SIZE = 100;
|
private static final int TEST_TLD_UPDATE_BATCH_SIZE = 100;
|
||||||
private DnsQueue dnsQueue;
|
private DnsQueue dnsQueue;
|
||||||
|
// Because of a bug in the queue test environment - b/73372999 - we must set the fake date of the
|
||||||
|
// test in the future. Set to year 3000 so it'll remain in the future for a very long time.
|
||||||
private FakeClock clock = new FakeClock(DateTime.parse("3000-01-01TZ"));
|
private FakeClock clock = new FakeClock(DateTime.parse("3000-01-01TZ"));
|
||||||
|
|
||||||
@Rule
|
@Rule
|
||||||
|
@ -129,10 +131,11 @@ public class ReadDnsQueueActionTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static TaskOptions createRefreshTask(String name, TargetType type) {
|
private static TaskOptions createRefreshTask(String name, TargetType type) {
|
||||||
TaskOptions options = TaskOptions.Builder
|
TaskOptions options =
|
||||||
.withMethod(Method.PULL)
|
TaskOptions.Builder.withMethod(Method.PULL)
|
||||||
.param(DNS_TARGET_TYPE_PARAM, type.toString())
|
.param(DNS_TARGET_TYPE_PARAM, type.toString())
|
||||||
.param(DNS_TARGET_NAME_PARAM, name);
|
.param(DNS_TARGET_NAME_PARAM, name)
|
||||||
|
.param(DNS_TARGET_CREATE_TIME_PARAM, "3000-01-01TZ");
|
||||||
String tld = InternetDomainName.from(name).parts().reverse().get(0);
|
String tld = InternetDomainName.from(name).parts().reverse().get(0);
|
||||||
return options.param("tld", tld);
|
return options.param("tld", tld);
|
||||||
}
|
}
|
||||||
|
@ -285,6 +288,7 @@ public class ReadDnsQueueActionTest {
|
||||||
.method(Method.PULL)
|
.method(Method.PULL)
|
||||||
.param(DNS_TARGET_TYPE_PARAM, TargetType.DOMAIN.toString())
|
.param(DNS_TARGET_TYPE_PARAM, TargetType.DOMAIN.toString())
|
||||||
.param(DNS_TARGET_NAME_PARAM, "domain.unknown")
|
.param(DNS_TARGET_NAME_PARAM, "domain.unknown")
|
||||||
|
.param(DNS_TARGET_CREATE_TIME_PARAM, "3000-01-01TZ")
|
||||||
.param(PARAM_TLD, "unknown"));
|
.param(PARAM_TLD, "unknown"));
|
||||||
|
|
||||||
run();
|
run();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue