diff options
author | Martin Polden <mpolden@mpolden.no> | 2019-06-25 13:27:23 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2019-06-25 13:28:05 +0200 |
commit | 74d3c37230be7dfc14691cc354dcc5b5a7ddb27f (patch) | |
tree | 0c4cccbde7b48450f53569b756f164fdd31bab0d /node-repository | |
parent | 819d21886c726aa0a7140cad3671dee5f3b570d9 (diff) |
Remove support for legacy serialization format
New format is now used everywhere.
Diffstat (limited to 'node-repository')
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"; - } - } |