diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2022-09-14 17:25:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-14 17:25:18 +0200 |
commit | 4840ba81903a4f030c2541b805124cc0eb271e3a (patch) | |
tree | 6f22d4588bdd21b94a9bb93f04103e00f00e2de4 | |
parent | d3e8604a5ac5d0573e1406dad192954efe4d8886 (diff) | |
parent | f49fd159f796121e866d74f477af37f80c2b1609 (diff) |
Merge pull request #24043 from vespa-engine/mpolden/more-records
Use records in dns package
7 files changed, 29 insertions, 75 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/Record.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/Record.java index 8c6decd6158..2f9312b2f89 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/Record.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/Record.java @@ -10,22 +10,20 @@ import java.util.Objects; * * @author mpolden */ -public class Record implements Comparable<Record> { +public record Record(Type type, + Duration ttl, + RecordName name, + RecordData data) implements Comparable<Record> { private static final Comparator<Record> comparator = Comparator.comparing(Record::type) .thenComparing(Record::name) .thenComparing(Record::data); - private final Type type; - private final Duration ttl; - private final RecordName name; - private final RecordData data; - - public Record(Type type, Duration ttl, RecordName name, RecordData data) { - this.type = Objects.requireNonNull(type, "type cannot be null"); - this.ttl = Objects.requireNonNull(ttl, "ttl cannot be null"); - this.name = Objects.requireNonNull(name, "name cannot be null"); - this.data = Objects.requireNonNull(data, "data cannot be null"); + public Record { + Objects.requireNonNull(type, "type cannot be null"); + Objects.requireNonNull(ttl, "ttl cannot be null"); + Objects.requireNonNull(name, "name cannot be null"); + Objects.requireNonNull(data, "data cannot be null"); } public Record(Type type, RecordName name, RecordData data) { @@ -74,22 +72,6 @@ public class Record implements Comparable<Record> { } @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - Record record = (Record) o; - return type == record.type && - ttl.equals(record.ttl) && - name.equals(record.name) && - data.equals(record.data); - } - - @Override - public int hashCode() { - return Objects.hash(type, ttl, name, data); - } - - @Override public int compareTo(Record that) { return comparator.compare(this, that); } diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/RecordData.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/RecordData.java index 90759d911dd..e2d142b10f8 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/RecordData.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/RecordData.java @@ -10,12 +10,10 @@ import java.util.Objects; * * @author mpolden */ -public class RecordData implements Comparable<RecordData> { +public record RecordData(String data) implements Comparable<RecordData> { - private final String data; - - private RecordData(String data) { - this.data = Objects.requireNonNull(data, "data cannot be null"); + public RecordData { + Objects.requireNonNull(data, "data cannot be null"); } public String asString() { @@ -23,19 +21,6 @@ public class RecordData implements Comparable<RecordData> { } @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - RecordData that = (RecordData) o; - return Objects.equals(data, that.data); - } - - @Override - public int hashCode() { - return Objects.hash(data); - } - - @Override public String toString() { return data; } diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/RecordName.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/RecordName.java index 72f0933896d..e2548a7f283 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/RecordName.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/RecordName.java @@ -8,12 +8,10 @@ import java.util.Objects; * * @author mpolden */ -public class RecordName implements Comparable<RecordName> { +public record RecordName(String name) implements Comparable<RecordName> { - private final String name; - - private RecordName(String name) { - this.name = Objects.requireNonNull(name, "name cannot be null"); + public RecordName { + Objects.requireNonNull(name, "name cannot be null"); } public String asString() { @@ -31,21 +29,13 @@ public class RecordName implements Comparable<RecordName> { } @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - RecordName that = (RecordName) o; - return Objects.equals(name, that.name); - } - - @Override - public int hashCode() { - return Objects.hash(name); + public String toString() { + return name; } @Override - public String toString() { - return name; + public int compareTo(RecordName that) { + return this.name.compareTo(that.name); } public static RecordName from(String name) { @@ -56,9 +46,4 @@ public class RecordName implements Comparable<RecordName> { return from(name).asFqdn(); } - @Override - public int compareTo(RecordName that) { - return this.name.compareTo(that.name); - } - } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/NameServiceDispatcher.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/NameServiceDispatcher.java index 078a0dfc685..19616f862ab 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/NameServiceDispatcher.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/NameServiceDispatcher.java @@ -31,7 +31,9 @@ public class NameServiceDispatcher extends ControllerMaintainer { @Override protected double maintain() { - int requestCount = trueIntervalInSeconds(); // Dispatch 1 request per second + // Dispatch 1 request per second on average. Note that this is not entirely accurate because a NameService + // implementation may need to perform multiple API-specific requests to execute a single NameServiceRequest + int requestCount = trueIntervalInSeconds(); try (var lock = db.lockNameServiceQueue()) { var queue = db.readNameServiceQueue(); var instant = clock.instant(); diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/NodeVersion.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/NodeVersion.java index 04f5d9866f8..707fa85b6b6 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/NodeVersion.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/NodeVersion.java @@ -38,7 +38,9 @@ public record NodeVersion(HostName hostname, @Override public String toString() { - return hostname + ": " + currentVersion + " -> " + wantedVersion + " [zone=" + zone + ", suspendedAt=" + suspendedAt.map(Instant::toString).orElse("<not suspended>") + "]"; + return hostname + ": " + currentVersion.toFullString() + " -> " + wantedVersion.toFullString() + + " [zone=" + zone + ", suspendedAt=" + suspendedAt.map(Instant::toString) + .orElse("<not suspended>") + "]"; } /** Returns whether this is upgrading */ diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersion.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersion.java index 30a88733ed3..6ed716bb4bf 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersion.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersion.java @@ -24,7 +24,7 @@ public record OsVersion(Version version, CloudName cloud) implements Comparable< @Override public String toString() { - return "version " + version + " for " + cloud + " cloud"; + return "version " + version.toFullString() + " for " + cloud + " cloud"; } @Override diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VersionStatus.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VersionStatus.java index b0a37474af7..95cb7de3443 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VersionStatus.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VersionStatus.java @@ -1,8 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.controller.versions; -import ai.vespa.validation.Validation; -import com.yahoo.collections.Iterables; import com.yahoo.component.Version; import com.yahoo.config.provision.HostName; import com.yahoo.vespa.hosted.controller.Controller; @@ -122,10 +120,10 @@ public record VersionStatus(List<VespaVersion> versions) { .orElse(newSystemVersion); if (newSystemVersion.isBefore(systemVersion)) { log.warning("Refusing to lower system version from " + - systemVersion + + systemVersion.toFullString() + " to " + - newSystemVersion + - ", nodes on " + newSystemVersion + ": " + + newSystemVersion.toFullString() + + ", nodes on " + newSystemVersion.toFullString() + ": " + infrastructureVersions.get(newSystemVersion).stream() .map(HostName::value) .collect(Collectors.joining(", "))); |