aboutsummaryrefslogtreecommitdiffstats
path: root/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ContainerEndpointSerializer.java
diff options
context:
space:
mode:
authorMorten Tokle <mortent@verizonmedia.com>2021-11-25 23:52:52 +0100
committerMorten Tokle <mortent@verizonmedia.com>2021-11-26 09:38:10 +0100
commit65267c31e3214faa33f3811f67d55e6c5c2066ef (patch)
tree6fc27b45502a999e90282c287e746026b6f7d4a0 /configserver/src/main/java/com/yahoo/vespa/config/server/tenant/ContainerEndpointSerializer.java
parent8485d1312a9765aeb708c0b6407370eab6c24d47 (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.java7
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);
}