Skip to content

Commit 9efd2f2

Browse files
kannanjgithublarry-safran
authored andcommitted
xds: Include max concurrent request limit in the error status for concurre… (grpc#11845)
Include max concurrent request limit in the error status for concurrent connections limit exceeded
1 parent 27e32b1 commit 9efd2f2

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

xds/src/main/java/io/grpc/xds/ClusterImplLoadBalancer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
import java.util.ArrayList;
6060
import java.util.Collections;
6161
import java.util.List;
62+
import java.util.Locale;
6263
import java.util.Map;
6364
import java.util.Objects;
6465
import java.util.concurrent.atomic.AtomicLong;
@@ -406,7 +407,8 @@ public PickResult pickSubchannel(PickSubchannelArgs args) {
406407
dropStats.recordDroppedRequest();
407408
}
408409
return PickResult.withDrop(Status.UNAVAILABLE.withDescription(
409-
"Cluster max concurrent requests limit exceeded"));
410+
String.format(Locale.US, "Cluster max concurrent requests limit of %d exceeded",
411+
maxConcurrentRequests)));
410412
}
411413
}
412414
final AtomicReference<ClusterLocality> clusterLocality =

xds/src/test/java/io/grpc/xds/ClusterImplLoadBalancerTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -636,7 +636,7 @@ private void subtest_maxConcurrentRequests_appliedByLbConfig(boolean enableCircu
636636
assertThat(result.getStatus().isOk()).isFalse();
637637
assertThat(result.getStatus().getCode()).isEqualTo(Code.UNAVAILABLE);
638638
assertThat(result.getStatus().getDescription())
639-
.isEqualTo("Cluster max concurrent requests limit exceeded");
639+
.isEqualTo("Cluster max concurrent requests limit of 100 exceeded");
640640
assertThat(clusterStats.totalDroppedRequests()).isEqualTo(1L);
641641
} else {
642642
assertThat(result.getStatus().isOk()).isTrue();
@@ -667,7 +667,7 @@ private void subtest_maxConcurrentRequests_appliedByLbConfig(boolean enableCircu
667667
assertThat(result.getStatus().isOk()).isFalse();
668668
assertThat(result.getStatus().getCode()).isEqualTo(Code.UNAVAILABLE);
669669
assertThat(result.getStatus().getDescription())
670-
.isEqualTo("Cluster max concurrent requests limit exceeded");
670+
.isEqualTo("Cluster max concurrent requests limit of 101 exceeded");
671671
assertThat(clusterStats.totalDroppedRequests()).isEqualTo(1L);
672672
} else {
673673
assertThat(result.getStatus().isOk()).isTrue();
@@ -731,7 +731,7 @@ private void subtest_maxConcurrentRequests_appliedWithDefaultValue(
731731
assertThat(result.getStatus().isOk()).isFalse();
732732
assertThat(result.getStatus().getCode()).isEqualTo(Code.UNAVAILABLE);
733733
assertThat(result.getStatus().getDescription())
734-
.isEqualTo("Cluster max concurrent requests limit exceeded");
734+
.isEqualTo("Cluster max concurrent requests limit of 1024 exceeded");
735735
assertThat(clusterStats.totalDroppedRequests()).isEqualTo(1L);
736736
} else {
737737
assertThat(result.getStatus().isOk()).isTrue();

0 commit comments

Comments
 (0)