Skip to content

Commit c8951ab

Browse files
authored
*: fix minor typos (#7487)
* Fix typos * Fix reflecton tests
1 parent 3cb3342 commit c8951ab

File tree

88 files changed

+135
-135
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+135
-135
lines changed

SECURITY.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Security Policy
22

3-
For information on gRPC Security Policy and reporting potentional security issues, please see [gRPC CVE Process](https://github.com/grpc/proposal/blob/master/P4-grpc-cve-process.md).
3+
For information on gRPC Security Policy and reporting potential security issues, please see [gRPC CVE Process](https://github.com/grpc/proposal/blob/master/P4-grpc-cve-process.md).

backoff/backoff.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ type Config struct {
3939
MaxDelay time.Duration
4040
}
4141

42-
// DefaultConfig is a backoff configuration with the default values specfied
42+
// DefaultConfig is a backoff configuration with the default values specified
4343
// at https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md.
4444
//
4545
// This should be useful for callers who want to configure backoff with

balancer/grpclb/grpclb.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ type lbBalancer struct {
219219
// All backends addresses, with metadata set to nil. This list contains all
220220
// backend addresses in the same order and with the same duplicates as in
221221
// serverlist. When generating picker, a SubConn slice with the same order
222-
// but with only READY SCs will be gerenated.
222+
// but with only READY SCs will be generated.
223223
backendAddrsWithoutMetadata []resolver.Address
224224
// Roundrobin functionalities.
225225
state connectivity.State

balancer/grpclb/grpclb_util_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ func (s) TestLBCache_ShutdownTimer_New_Race(t *testing.T) {
252252
go func() {
253253
for i := 0; i < 1000; i++ {
254254
// Shutdown starts a timer with 1 ns timeout, the NewSubConn will
255-
// race with with the timer.
255+
// race with the timer.
256256
sc.Shutdown()
257257
sc, _ = ccc.NewSubConn([]resolver.Address{{Addr: "address1"}}, balancer.NewSubConnOptions{})
258258
}

balancer/pickfirst/pickfirst.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ func (b *pickfirstBalancer) UpdateClientConnState(state balancer.ClientConnState
155155
// Endpoints not set, process addresses until we migrate resolver
156156
// emissions fully to Endpoints. The top channel does wrap emitted
157157
// addresses with endpoints, however some balancers such as weighted
158-
// target do not forwarrd the corresponding correct endpoints down/split
158+
// target do not forward the corresponding correct endpoints down/split
159159
// endpoints properly. Once all balancers correctly forward endpoints
160160
// down, can delete this else conditional.
161161
addrs = state.ResolverState.Addresses

balancer/rls/cache.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ type cacheEntry struct {
4747
// headerData is received in the RLS response and is to be sent in the
4848
// X-Google-RLS-Data header for matching RPCs.
4949
headerData string
50-
// expiryTime is the absolute time at which this cache entry entry stops
50+
// expiryTime is the absolute time at which this cache entry stops
5151
// being valid. When an RLS request succeeds, this is set to the current
5252
// time plus the max_age field from the LB policy config.
5353
expiryTime time.Time
@@ -223,7 +223,7 @@ func (dc *dataCache) resize(size int64) (backoffCancelled bool) {
223223
backoffCancelled = true
224224
}
225225
}
226-
dc.deleteAndcleanup(key, entry)
226+
dc.deleteAndCleanup(key, entry)
227227
}
228228
dc.maxSize = size
229229
return backoffCancelled
@@ -249,7 +249,7 @@ func (dc *dataCache) evictExpiredEntries() bool {
249249
if entry.expiryTime.After(now) || entry.backoffExpiryTime.After(now) {
250250
continue
251251
}
252-
dc.deleteAndcleanup(key, entry)
252+
dc.deleteAndCleanup(key, entry)
253253
evicted = true
254254
}
255255
return evicted
@@ -339,23 +339,23 @@ func (dc *dataCache) removeEntryForTesting(key cacheKey) {
339339
if !ok {
340340
return
341341
}
342-
dc.deleteAndcleanup(key, entry)
342+
dc.deleteAndCleanup(key, entry)
343343
}
344344

345345
// deleteAndCleanup performs actions required at the time of deleting an entry
346346
// from the data cache.
347347
// - the entry is removed from the map of entries
348348
// - current size of the data cache is update
349349
// - the key is removed from the LRU
350-
func (dc *dataCache) deleteAndcleanup(key cacheKey, entry *cacheEntry) {
350+
func (dc *dataCache) deleteAndCleanup(key cacheKey, entry *cacheEntry) {
351351
delete(dc.entries, key)
352352
dc.currentSize -= entry.size
353353
dc.keys.removeEntry(key)
354354
}
355355

356356
func (dc *dataCache) stop() {
357357
for key, entry := range dc.entries {
358-
dc.deleteAndcleanup(key, entry)
358+
dc.deleteAndCleanup(key, entry)
359359
}
360360
dc.shutdown.Fire()
361361
}

balancer/rls/control_channel_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func (s) TestControlChannelThrottled(t *testing.T) {
6262

6363
select {
6464
case <-rlsReqCh:
65-
t.Fatal("RouteLookup RPC invoked when control channel is throtlled")
65+
t.Fatal("RouteLookup RPC invoked when control channel is throttled")
6666
case <-time.After(defaultTestShortTimeout):
6767
}
6868
}

balancer/rls/internal/keys/builder.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ type matcher struct {
218218
names []string
219219
}
220220

221-
// Equal reports if m and are are equivalent headerKeys.
221+
// Equal reports if m and a are equivalent headerKeys.
222222
func (m matcher) Equal(a matcher) bool {
223223
if m.key != a.key {
224224
return false

balancer/rls/internal/test/e2e/rls_child_policy.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ func (b *bal) Close() {
125125

126126
// run is a dummy goroutine to make sure that child policies are closed at the
127127
// end of tests. If they are not closed, these goroutines will be picked up by
128-
// the leakcheker and tests will fail.
128+
// the leak checker and tests will fail.
129129
func (b *bal) run() {
130130
<-b.done.Done()
131131
}

balancer/rls/picker.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ func (p *rlsPicker) delegateToChildPoliciesLocked(dcEntry *cacheEntry, info bala
190190
state := (*balancer.State)(atomic.LoadPointer(&cpw.state))
191191
// Delegate to the child policy if it is not in TRANSIENT_FAILURE, or if
192192
// it is the last one (which handles the case of delegating to the last
193-
// child picker if all child polcies are in TRANSIENT_FAILURE).
193+
// child picker if all child policies are in TRANSIENT_FAILURE).
194194
if state.ConnectivityState != connectivity.TransientFailure || i == len(dcEntry.childPolicyWrappers)-1 {
195195
// Any header data received from the RLS server is stored in the
196196
// cache entry and needs to be sent to the actual backend in the

balancer/weightedtarget/weightedaggregator/aggregator.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ func New(cc balancer.ClientConn, logger *grpclog.PrefixLogger, newWRR func() wrr
8989
}
9090

9191
// Start starts the aggregator. It can be called after Stop to restart the
92-
// aggretator.
92+
// aggregator.
9393
func (wbsa *Aggregator) Start() {
9494
wbsa.mu.Lock()
9595
defer wbsa.mu.Unlock()

benchmark/benchmain/main.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,11 @@ var (
110110
useBufconn = flag.Bool("bufconn", false, "Use in-memory connection instead of system network I/O")
111111
enableKeepalive = flag.Bool("enable_keepalive", false, "Enable client keepalive. \n"+
112112
"Keepalive.Time is set to 10s, Keepalive.Timeout is set to 1s, Keepalive.PermitWithoutStream is set to true.")
113-
clientReadBufferSize = flags.IntSlice("clientReadBufferSize", []int{-1}, "Configures the client read buffer size in bytes. If negative, use the default - may be a a comma-separated list")
114-
clientWriteBufferSize = flags.IntSlice("clientWriteBufferSize", []int{-1}, "Configures the client write buffer size in bytes. If negative, use the default - may be a a comma-separated list")
115-
serverReadBufferSize = flags.IntSlice("serverReadBufferSize", []int{-1}, "Configures the server read buffer size in bytes. If negative, use the default - may be a a comma-separated list")
116-
serverWriteBufferSize = flags.IntSlice("serverWriteBufferSize", []int{-1}, "Configures the server write buffer size in bytes. If negative, use the default - may be a a comma-separated list")
117-
sleepBetweenRPCs = flags.DurationSlice("sleepBetweenRPCs", []time.Duration{0}, "Configures the maximum amount of time the client should sleep between consecutive RPCs - may be a a comma-separated list")
113+
clientReadBufferSize = flags.IntSlice("clientReadBufferSize", []int{-1}, "Configures the client read buffer size in bytes. If negative, use the default - may be a comma-separated list")
114+
clientWriteBufferSize = flags.IntSlice("clientWriteBufferSize", []int{-1}, "Configures the client write buffer size in bytes. If negative, use the default - may be a comma-separated list")
115+
serverReadBufferSize = flags.IntSlice("serverReadBufferSize", []int{-1}, "Configures the server read buffer size in bytes. If negative, use the default - may be a comma-separated list")
116+
serverWriteBufferSize = flags.IntSlice("serverWriteBufferSize", []int{-1}, "Configures the server write buffer size in bytes. If negative, use the default - may be a comma-separated list")
117+
sleepBetweenRPCs = flags.DurationSlice("sleepBetweenRPCs", []time.Duration{0}, "Configures the maximum amount of time the client should sleep between consecutive RPCs - may be a comma-separated list")
118118
connections = flag.Int("connections", 1, "The number of connections. Each connection will handle maxConcurrentCalls RPC streams")
119119
recvBufferPool = flags.StringWithAllowedValues("recvBufferPool", recvBufferPoolNil, "Configures the shared receive buffer pool. One of: nil, simple, all", allRecvBufferPools)
120120
sharedWriteBuffer = flags.StringWithAllowedValues("sharedWriteBuffer", toggleModeOff,

benchmark/latency/latency.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ type Network struct {
6565
var (
6666
//Local simulates local network.
6767
Local = Network{0, 0, 0}
68-
//LAN simulates local area network network.
68+
//LAN simulates local area network.
6969
LAN = Network{100 * 1024, 2 * time.Millisecond, 1500}
7070
//WAN simulates wide area network.
7171
WAN = Network{20 * 1024, 30 * time.Millisecond, 1500}

benchmark/latency/latency_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ type bufConn struct {
4646
func (bufConn) Close() error { panic("unimplemented") }
4747
func (bufConn) LocalAddr() net.Addr { panic("unimplemented") }
4848
func (bufConn) RemoteAddr() net.Addr { panic("unimplemented") }
49-
func (bufConn) SetDeadline(t time.Time) error { panic("unimplemneted") }
50-
func (bufConn) SetReadDeadline(t time.Time) error { panic("unimplemneted") }
51-
func (bufConn) SetWriteDeadline(t time.Time) error { panic("unimplemneted") }
49+
func (bufConn) SetDeadline(t time.Time) error { panic("unimplemented") }
50+
func (bufConn) SetReadDeadline(t time.Time) error { panic("unimplemented") }
51+
func (bufConn) SetWriteDeadline(t time.Time) error { panic("unimplemented") }
5252

5353
func restoreHooks() func() {
5454
s := sleep

benchmark/primitives/syncmap_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ func benchmarkIncrementUint64Map(b *testing.B, f func() incrementUint64Map) {
152152
}
153153
}
154154

155-
func BenchmarkMapWithSyncMutexContetion(b *testing.B) {
155+
func BenchmarkMapWithSyncMutexContention(b *testing.B) {
156156
benchmarkIncrementUint64Map(b, newMapWithLock)
157157
}
158158

benchmark/stats/stats.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ type RunData struct {
293293
Fiftieth time.Duration
294294
// Ninetieth is the 90th percentile latency.
295295
Ninetieth time.Duration
296-
// Ninetyninth is the 99th percentile latency.
296+
// NinetyNinth is the 99th percentile latency.
297297
NinetyNinth time.Duration
298298
// Average is the average latency.
299299
Average time.Duration

benchmark/worker/main.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ func (s *workerServer) RunClient(stream testgrpc.WorkerService_RunClientServer)
141141
var bc *benchmarkClient
142142
defer func() {
143143
// Shut down benchmark client when stream ends.
144-
logger.Infof("shuting down benchmark client")
144+
logger.Infof("shutting down benchmark client")
145145
if bc != nil {
146146
bc.shutdown()
147147
}
@@ -160,7 +160,7 @@ func (s *workerServer) RunClient(stream testgrpc.WorkerService_RunClientServer)
160160
case *testpb.ClientArgs_Setup:
161161
logger.Infof("client setup received:")
162162
if bc != nil {
163-
logger.Infof("client setup received when client already exists, shuting down the existing client")
163+
logger.Infof("client setup received when client already exists, shutting down the existing client")
164164
bc.shutdown()
165165
}
166166
bc, err = startBenchmarkClient(t.Setup)

binarylog/binarylog_end2end_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ func (s *testBinLogSink) Write(e *binlogpb.GrpcLogEntry) error {
7878

7979
func (s *testBinLogSink) Close() error { return nil }
8080

81-
// Returns all client entris if client is true, otherwise return all server
81+
// Returns all client entries if client is true, otherwise return all server
8282
// entries.
8383
func (s *testBinLogSink) logEntries(client bool) []*binlogpb.GrpcLogEntry {
8484
logger := binlogpb.GrpcLogEntry_LOGGER_SERVER

clientconn.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1576,7 +1576,7 @@ func (ac *addrConn) tearDown(err error) {
15761576
} else {
15771577
// Hard close the transport when the channel is entering idle or is
15781578
// being shutdown. In the case where the channel is being shutdown,
1579-
// closing of transports is also taken care of by cancelation of cc.ctx.
1579+
// closing of transports is also taken care of by cancellation of cc.ctx.
15801580
// But in the case where the channel is entering idle, we need to
15811581
// explicitly close the transports here. Instead of distinguishing
15821582
// between these two cases, it is simpler to close the transport

clientconn_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ func (s) TestConnectParamsWithMinConnectTimeout(t *testing.T) {
642642
defer conn.Close()
643643

644644
if got := conn.dopts.minConnectTimeout(); got != mct {
645-
t.Errorf("unexpect minConnectTimeout on the connection: %v, want %v", got, mct)
645+
t.Errorf("unexpected minConnectTimeout on the connection: %v, want %v", got, mct)
646646
}
647647
}
648648

credentials/alts/internal/conn/aeadrekey.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func (k KeySizeError) Error() string {
4949

5050
// newRekeyAEAD creates a new instance of aes128gcm with rekeying.
5151
// The key argument should be 44 bytes, the first 32 bytes are used as a key
52-
// for HKDF-expand and the remainining 12 bytes are used as a random mask for
52+
// for HKDF-expand and the remaining 12 bytes are used as a random mask for
5353
// the counter.
5454
func newRekeyAEAD(key []byte) (*rekeyAEAD, error) {
5555
k := len(key)

credentials/alts/internal/conn/aes128gcmrekey.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ type aes128gcmRekey struct {
5151

5252
// NewAES128GCMRekey creates an instance that uses aes128gcm with rekeying
5353
// for ALTS record. The key argument should be 44 bytes, the first 32 bytes
54-
// are used as a key for HKDF-expand and the remainining 12 bytes are used
54+
// are used as a key for HKDF-expand and the remaining 12 bytes are used
5555
// as a random mask for the counter.
5656
func NewAES128GCMRekey(side core.Side, key []byte) (ALTSRecordCrypto, error) {
5757
inCounter := NewInCounter(side, overflowLenAES128GCMRekey)

credentials/alts/internal/conn/record_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ func testWriteLargeData(t *testing.T, rp string) {
248248
// buffer size.
249249
clientConn, serverConn := newConnPair(rp, nil, nil)
250250
// Message size is intentionally chosen to not be multiple of
251-
// payloadLengthLimtit.
251+
// payloadLengthLimit.
252252
msgSize := altsWriteBufferMaxSize + (100 * 1024)
253253
clientMsg := make([]byte, msgSize)
254254
for i := 0; i < msgSize; i++ {

credentials/local/local.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ func (c *localTC) Clone() credentials.TransportCredentials {
108108
}
109109

110110
// OverrideServerName overrides the server name used to verify the hostname on the returned certificates from the server.
111-
// Since this feature is specific to TLS (SNI + hostname verification check), it does not take any effet for local credentials.
111+
// Since this feature is specific to TLS (SNI + hostname verification check), it does not take any effect for local credentials.
112112
func (c *localTC) OverrideServerName(serverNameOverride string) error {
113113
c.info.ServerName = serverNameOverride
114114
return nil

credentials/sts/sts.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ type requestParameters struct {
367367
ActorTokenType string `json:"actor_token_type,omitempty"`
368368
}
369369

370-
// nesponseParameters stores all attributes sent as JSON in a successful STS
370+
// responseParameters stores all attributes sent as JSON in a successful STS
371371
// response. These attributes are defined in
372372
// https://tools.ietf.org/html/rfc8693#section-2.2.1.
373373
type responseParameters struct {

examples/examples_test.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ for example in ${EXAMPLES[@]}; do
188188
$(cat $CLIENT_LOG)
189189
"
190190
else
191-
pass "client successfully communitcated with server"
191+
pass "client successfully communicated with server"
192192
fi
193193

194194
# Check server log for expected output if expecting an

examples/features/load_balancing/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ this is examples/load_balancing (from :50051)
6161

6262
The second client is configured to use `round_robin`. `round_robin` connects to
6363
all the addresses it sees, and sends an RPC to each backend one at a time in
64-
order. E.g. the first RPC will be sent to backend-1, the second RPC will be be
65-
sent to backend-2, and the third RPC will be be sent to backend-1 again.
64+
order. E.g. the first RPC will be sent to backend-1, the second RPC will be
65+
sent to backend-2, and the third RPC will be sent to backend-1 again.
6666

6767
```
6868
this is examples/load_balancing (from :50051)

examples/features/multiplex/client/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ func main() {
7272

7373
fmt.Println()
7474
fmt.Println("--- calling routeguide.RouteGuide/GetFeature ---")
75-
// Make a routeguild client with the same ClientConn.
75+
// Make a routeguide client with the same ClientConn.
7676
rgc := ecpb.NewEchoClient(conn)
7777
callUnaryEcho(rgc, "this is examples/multiplex")
7878
}

examples/features/orca/client/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ func main() {
5959
ticker := time.NewTicker(time.Second)
6060
for range ticker.C {
6161
func() {
62-
// Use an anonymous function to ensure context cancelation via defer.
62+
// Use an anonymous function to ensure context cancellation via defer.
6363
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
6464
defer cancel()
6565
if _, err := c.UnaryEcho(ctx, &pb.EchoRequest{Message: "test echo message"}); err != nil {

gcp/observability/logging.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ type binaryMethodLogger struct {
248248
clientSide bool
249249
}
250250

251-
// buildGCPLoggingEntry converts the binary log log entry into a gcp logging
251+
// buildGCPLoggingEntry converts the binary log entry into a gcp logging
252252
// entry.
253253
func (bml *binaryMethodLogger) buildGCPLoggingEntry(ctx context.Context, c iblog.LogEntryConfig) gcplogging.Entry {
254254
binLogEntry := bml.mlb.Build(c)

gcp/observability/logging_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,7 @@ func (s) TestServerRPCEventsLogAll(t *testing.T) {
548548
// Client and Server RPC Events configured to log. Both sides should log and
549549
// share the exporter, so the exporter should receive the collective amount of
550550
// calls for both a client stream (corresponding to a Client RPC Event) and a
551-
// server stream (corresponding ot a Server RPC Event). The specificity of the
551+
// server stream (corresponding to a Server RPC Event). The specificity of the
552552
// entries are tested in previous tests.
553553
func (s) TestBothClientAndServerRPCEvents(t *testing.T) {
554554
fle := &fakeLoggingExporter{

gcp/observability/observability_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ func (s) TestRefuseStartWithInvalidPatterns(t *testing.T) {
191191
}
192192
}
193193

194-
// TestRefuseStartWithExcludeAndWildCardAll tests the sceanrio where an
194+
// TestRefuseStartWithExcludeAndWildCardAll tests the scenario where an
195195
// observability configuration is provided with client RPC event specifying to
196196
// exclude, and which matches on the '*' wildcard (any). This should cause an
197197
// error when trying to start the observability system.

grpclog/grpclog.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ func Fatalf(format string, args ...any) {
103103
}
104104

105105
// Fatalln logs to the FATAL log. Arguments are handled in the manner of fmt.Println.
106-
// It calle os.Exit()) with exit code 1.
106+
// It calls os.Exit() with exit code 1.
107107
func Fatalln(args ...any) {
108108
grpclog.Logger.Fatalln(args...)
109109
// Make sure fatal logs will exit.

internal/balancer/gracefulswitch/gracefulswitch_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -604,7 +604,7 @@ func (s) TestPendingReplacedByAnotherPending(t *testing.T) {
604604
if err != nil {
605605
t.Fatalf("error constructing newSubConn in gsb: %v", err)
606606
}
607-
// This picker never returns an error, which can help this this test verify
607+
// This picker never returns an error, which can help this test verify
608608
// whether this cached state will get cleared on a new pending balancer
609609
// (will replace it with a picker that always errors).
610610
pendBal.updateState(balancer.State{
@@ -672,7 +672,7 @@ func (p *neverErrPicker) Pick(info balancer.PickInfo) (balancer.PickResult, erro
672672

673673
// TestUpdateSubConnStateRace tests the race condition when the graceful switch
674674
// load balancer receives a SubConnUpdate concurrently with an UpdateState()
675-
// call, which can cause the balancer to forward the update to to be closed and
675+
// call, which can cause the balancer to forward the update to be closed and
676676
// cleared. The balancer API guarantees to never call any method the balancer
677677
// after a Close() call, and the test verifies that doesn't happen within the
678678
// graceful switch load balancer.

0 commit comments

Comments
 (0)