summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2019-06-25 13:27:23 +0200
committerMartin Polden <mpolden@mpolden.no>2019-06-25 13:28:05 +0200
commit74d3c37230be7dfc14691cc354dcc5b5a7ddb27f (patch)
tree0c4cccbde7b48450f53569b756f164fdd31bab0d /node-repository
parent819d21886c726aa0a7140cad3671dee5f3b570d9 (diff)
Remove support for legacy serialization format
New format is now used everywhere.
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java20
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java31
3 files changed, 5 insertions, 48 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java
index c68e086dfb9..fea30d3660c 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java
@@ -484,7 +484,7 @@ public class CuratorDatabaseClient {
}
private Optional<LoadBalancer> readLoadBalancer(LoadBalancerId id) {
- return read(loadBalancerPath(id), (data) -> LoadBalancerSerializer.fromJson(data, clock.instant()));
+ return read(loadBalancerPath(id), LoadBalancerSerializer::fromJson);
}
public void writeLoadBalancer(LoadBalancer loadBalancer) {
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java
index d04dd2b5c18..ae4c93621e5 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java
@@ -39,7 +39,6 @@ public class LoadBalancerSerializer {
private static final String stateField = "state";
private static final String changedAtField = "changedAt";
private static final String dnsZoneField = "dnsZone";
- private static final String inactiveField = "inactive";
private static final String portsField = "ports";
private static final String networksField = "networks";
private static final String realsField = "reals";
@@ -73,7 +72,7 @@ public class LoadBalancerSerializer {
}
}
- public static LoadBalancer fromJson(byte[] data, Instant defaultChangedAt) {
+ public static LoadBalancer fromJson(byte[] data) {
Cursor object = SlimeUtils.jsonToSlime(data).get();
var reals = new LinkedHashSet<Real>();
@@ -98,21 +97,8 @@ public class LoadBalancerSerializer {
networks,
reals
),
- stateFromSlime(object),
- instantFromSlime(object.field(changedAtField), defaultChangedAt));
- }
-
- private static Instant instantFromSlime(Cursor field, Instant defaultValue) {
- return optionalValue(field, (value) -> Instant.ofEpochMilli(value.asLong())).orElse(defaultValue);
- }
-
- private static LoadBalancer.State stateFromSlime(Inspector object) {
- var inactiveValue = optionalValue(object.field(inactiveField), Inspector::asBool);
- if (inactiveValue.isPresent()) { // TODO(mpolden): Remove reading of "inactive" field after June 2019
- return inactiveValue.get() ? LoadBalancer.State.inactive : LoadBalancer.State.active;
- } else {
- return stateFromString(object.field(stateField).asString());
- }
+ stateFromString(object.field(stateField).asString()),
+ Instant.ofEpochMilli(object.field(changedAtField).asLong()));
}
private static <T> Optional<T> optionalValue(Inspector field, Function<Inspector, T> fieldMapper) {
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java
index b78b4120b81..bcb78844666 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java
@@ -12,13 +12,11 @@ import com.yahoo.vespa.hosted.provision.lb.LoadBalancerInstance;
import com.yahoo.vespa.hosted.provision.lb.Real;
import org.junit.Test;
-import java.nio.charset.StandardCharsets;
import java.time.Instant;
import java.util.Optional;
import static java.time.temporal.ChronoUnit.MILLIS;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
/**
* @author mpolden
@@ -46,7 +44,7 @@ public class LoadBalancerSerializerTest {
LoadBalancer.State.active,
now);
- var serialized = LoadBalancerSerializer.fromJson(LoadBalancerSerializer.toJson(loadBalancer), now);
+ var serialized = LoadBalancerSerializer.fromJson(LoadBalancerSerializer.toJson(loadBalancer));
assertEquals(loadBalancer.id(), serialized.id());
assertEquals(loadBalancer.instance().hostname(), serialized.instance().hostname());
assertEquals(loadBalancer.instance().dnsZone(), serialized.instance().dnsZone());
@@ -57,31 +55,4 @@ public class LoadBalancerSerializerTest {
assertEquals(loadBalancer.instance().reals(), serialized.instance().reals());
}
- @Test
- public void test_serialization_legacy() { // TODO(mpolden): Remove after June 2019
- var now = Instant.now();
-
- var deserialized = LoadBalancerSerializer.fromJson(legacyJson(true).getBytes(StandardCharsets.UTF_8), now);
- assertSame(LoadBalancer.State.inactive, deserialized.state());
- assertEquals(now, deserialized.changedAt());
-
- deserialized = LoadBalancerSerializer.fromJson(legacyJson(false).getBytes(StandardCharsets.UTF_8), now);
- assertSame(LoadBalancer.State.active, deserialized.state());
- }
-
- private static String legacyJson(boolean inactive) {
- return "{\n" +
- " \"id\": \"tenant1:application1:default:qrs\",\n" +
- " \"hostname\": \"lb-host\",\n" +
- " \"dnsZone\": \"zone-id-1\",\n" +
- " \"ports\": [\n" +
- " 4080,\n" +
- " 4443\n" +
- " ],\n" +
- " \"networks\": [],\n" +
- " \"reals\": [],\n" +
- " \"inactive\": " + inactive + "\n" +
- "}\n";
- }
-
}