From 8df1bd712f13ae9639a76f1fb60410edebdbf31c Mon Sep 17 00:00:00 2001 From: Michael Lumish Date: Tue, 12 Sep 2023 10:08:25 -0700 Subject: [PATCH] Treat ring_hash_lb_config field as optional --- .../src/xds-resource-type/cluster-resource-type.ts | 9 +++------ packages/grpc-js-xds/test/framework.ts | 3 --- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/packages/grpc-js-xds/src/xds-resource-type/cluster-resource-type.ts b/packages/grpc-js-xds/src/xds-resource-type/cluster-resource-type.ts index 9934c176..c4081baa 100644 --- a/packages/grpc-js-xds/src/xds-resource-type/cluster-resource-type.ts +++ b/packages/grpc-js-xds/src/xds-resource-type/cluster-resource-type.ts @@ -151,17 +151,14 @@ export class ClusterResourceType extends XdsResourceType { } }; } else if(EXPERIMENTAL_RING_HASH && message.lb_policy === 'RING_HASH') { - if (!message.ring_hash_lb_config) { + if (message.ring_hash_lb_config && message.ring_hash_lb_config.hash_function !== 'XX_HASH') { return null; } - if (message.ring_hash_lb_config.hash_function !== 'XX_HASH') { - return null; - } - const minRingSize = message.ring_hash_lb_config.minimum_ring_size ? Number(message.ring_hash_lb_config.minimum_ring_size.value) : 1024; + const minRingSize = message.ring_hash_lb_config?.minimum_ring_size ? Number(message.ring_hash_lb_config.minimum_ring_size.value) : 1024; if (minRingSize > 8_388_608) { return null; } - const maxRingSize = message.ring_hash_lb_config.maximum_ring_size ? Number(message.ring_hash_lb_config.maximum_ring_size.value) : 8_388_608; + const maxRingSize = message.ring_hash_lb_config?.maximum_ring_size ? Number(message.ring_hash_lb_config.maximum_ring_size.value) : 8_388_608; if (maxRingSize > 8_388_608) { return null; } diff --git a/packages/grpc-js-xds/test/framework.ts b/packages/grpc-js-xds/test/framework.ts index d38437a1..bd6f270d 100644 --- a/packages/grpc-js-xds/test/framework.ts +++ b/packages/grpc-js-xds/test/framework.ts @@ -96,9 +96,6 @@ export class FakeEdsCluster implements FakeCluster { }; if (this.loadBalancingPolicyOverride === 'RING_HASH') { result.lb_policy = 'RING_HASH'; - result.ring_hash_lb_config = { - hash_function: 'XX_HASH' - }; } else if (this.loadBalancingPolicyOverride) { result.load_balancing_policy = { policies: [