diff --git a/rls/src/main/java/io/grpc/rls/RlsProtoConverters.java b/rls/src/main/java/io/grpc/rls/RlsProtoConverters.java index cd164f5e2a..21168bce3b 100644 --- a/rls/src/main/java/io/grpc/rls/RlsProtoConverters.java +++ b/rls/src/main/java/io/grpc/rls/RlsProtoConverters.java @@ -153,7 +153,7 @@ final class RlsProtoConverters { maxAge = MAX_AGE_NANOS; } if (staleAge == null) { - staleAge = MAX_AGE_NANOS; + staleAge = maxAge >= MINUTES.toNanos(2) ? maxAge - MINUTES.toNanos(1) : maxAge; } maxAge = Math.min(maxAge, MAX_AGE_NANOS); staleAge = Math.min(staleAge, maxAge); diff --git a/rls/src/test/java/io/grpc/rls/RlsProtoConvertersTest.java b/rls/src/test/java/io/grpc/rls/RlsProtoConvertersTest.java index 98b7101fd5..4cf7ac4fbb 100644 --- a/rls/src/test/java/io/grpc/rls/RlsProtoConvertersTest.java +++ b/rls/src/test/java/io/grpc/rls/RlsProtoConvertersTest.java @@ -354,7 +354,7 @@ public class RlsProtoConvertersTest { .lookupService("service1") .lookupServiceTimeoutInNanos(TimeUnit.SECONDS.toNanos(10)) .maxAgeInNanos(TimeUnit.MINUTES.toNanos(5)) - .staleAgeInNanos(TimeUnit.MINUTES.toNanos(5)) + .staleAgeInNanos(TimeUnit.MINUTES.toNanos(4)) .cacheSizeBytes(5 * 1024 * 1024) .defaultTarget("us_east_1.cloudbigtable.googleapis.com") .build();