xds: fix TestServer_Security_WithValidAndInvalidSecurityConfiguration data race (#8269)

This commit is contained in:
Purnesh Dixit 2025-04-23 11:03:21 +05:30 committed by GitHub
parent 2640dd7b09
commit 82e25c77f2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 4 deletions

View File

@ -84,11 +84,12 @@ type servingModeChangeHandler struct {
logger interface {
Logf(format string, args ...any)
}
currentMode connectivity.ServingMode
currentErr error
// Access to the below fields are guarded by this mutex.
mu sync.Mutex
modeCh chan connectivity.ServingMode
errCh chan error
currentMode connectivity.ServingMode
currentErr error
}
func newServingModeChangeHandler(t *testing.T) *servingModeChangeHandler {

View File

@ -457,8 +457,8 @@ func (s) TestServer_Security_WithValidAndInvalidSecurityConfiguration(t *testing
// it does not enter "serving" mode.
select {
case <-time.After(2 * defaultTestShortTimeout):
case <-modeChangeHandler2.modeCh:
if modeChangeHandler2.currentMode == connectivity.ServingModeServing {
case mode := <-modeChangeHandler2.modeCh:
if mode == connectivity.ServingModeServing {
t.Fatal("Server changed to serving mode when not expected to")
}
}