diff options
author | Morten Tokle <mortent@verizonmedia.com> | 2021-11-25 23:52:52 +0100 |
---|---|---|
committer | Morten Tokle <mortent@verizonmedia.com> | 2021-11-26 09:38:10 +0100 |
commit | 65267c31e3214faa33f3811f67d55e6c5c2066ef (patch) | |
tree | 6fc27b45502a999e90282c287e746026b6f7d4a0 /configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ContainerEndpointSerializer.java | |
parent | 8485d1312a9765aeb708c0b6407370eab6c24d47 (diff) |
Support container endpoint weights
Diffstat (limited to 'configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ContainerEndpointSerializer.java')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ContainerEndpointSerializer.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ContainerEndpointSerializer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ContainerEndpointSerializer.java index 55986e71b3d..3bbf98357f5 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ContainerEndpointSerializer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ContainerEndpointSerializer.java @@ -30,6 +30,7 @@ public class ContainerEndpointSerializer { private static final String clusterIdField = "clusterId"; private static final String scopeField = "scope"; private static final String namesField = "names"; + private static final String weightField = "weight"; private ContainerEndpointSerializer() {} @@ -39,7 +40,7 @@ public class ContainerEndpointSerializer { // TODO: Remove default assignment after 7.500 final var scope = SlimeUtils.optionalString(inspector.field(scopeField)).orElse(ApplicationClusterEndpoint.Scope.global.name()); final var namesInspector = inspector.field(namesField); - + final var weight = SlimeUtils.optionalInteger(inspector.field(weightField)); if (clusterId.isEmpty()) { throw new IllegalStateException("'clusterId' missing on serialized ContainerEndpoint"); } @@ -59,7 +60,7 @@ public class ContainerEndpointSerializer { names.add(containerName); }); - return new ContainerEndpoint(clusterId, ApplicationClusterEndpoint.Scope.valueOf(scope), names); + return new ContainerEndpoint(clusterId, ApplicationClusterEndpoint.Scope.valueOf(scope), names, weight); } public static List<ContainerEndpoint> endpointListFromSlime(Slime slime) { @@ -81,7 +82,7 @@ public class ContainerEndpointSerializer { public static void endpointToSlime(Cursor cursor, ContainerEndpoint endpoint) { cursor.setString(clusterIdField, endpoint.clusterId()); cursor.setString(scopeField, endpoint.scope().name()); - + endpoint.weight().ifPresent(w -> cursor.setLong(weightField, w)); final var namesInspector = cursor.setArray(namesField); endpoint.names().forEach(namesInspector::addString); } |