xds: Include max concurrent request limit in the error status for con… · grpc/grpc-java@0f5503e

2 files changed

lines changed

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 =

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();