Merge pull request #106329 from benluddy/agg-flowcontrolsignal-flake

Fix flake caused by sampling signal counter too early.
This commit is contained in:
Kubernetes Prow Robot
2021-11-11 07:28:08 -08:00
committed by GitHub

View File

@@ -921,8 +921,11 @@ type hookedListener struct {
}
func (wl *hookedListener) Accept() (net.Conn, error) {
wl.onAccept()
return wl.l.Accept()
conn, err := wl.l.Accept()
if err == nil {
wl.onAccept()
}
return conn, err
}
func (wl *hookedListener) Close() error {
@@ -1015,10 +1018,13 @@ func TestFlowControlSignal(t *testing.T) {
req := tc.Request
req.URL = surl
_, err = server.Client().Do(&req)
res, err := server.Client().Do(&req)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
if err := res.Body.Close(); err != nil {
t.Fatalf("unexpected error: %v", err)
}
if fired := (atomic.LoadInt32(&signalCountOnAccept) > 0); tc.SignalExpected && !fired {
t.Errorf("flow control signal expected but not fired")