fatal error: concurrent map iteration and map write

Signed-off-by: chaunceyjiang <chaunceyjiang@gmail.com>
This commit is contained in:
chaunceyjiang 2022-12-13 20:08:23 +08:00
parent 7db53e0e8c
commit 5a3a9baec9

View File

@ -155,11 +155,11 @@ func (h *httpStreamHandler) getStreamPair(requestID string) (*httpStreamPair, bo
func (h *httpStreamHandler) monitorStreamPair(p *httpStreamPair, timeout <-chan time.Time) { func (h *httpStreamHandler) monitorStreamPair(p *httpStreamPair, timeout <-chan time.Time) {
select { select {
case <-timeout: case <-timeout:
err := fmt.Errorf("(conn=%v, request=%s) timed out waiting for streams", h.conn, p.requestID) err := fmt.Errorf("(conn=%p, request=%s) timed out waiting for streams", h.conn, p.requestID)
utilruntime.HandleError(err) utilruntime.HandleError(err)
p.printError(err.Error()) p.printError(err.Error())
case <-p.complete: case <-p.complete:
klog.V(5).Infof("(conn=%v, request=%s) successfully received error and data streams", h.conn, p.requestID) klog.V(5).Infof("(conn=%p, request=%s) successfully received error and data streams", h.conn, p.requestID)
} }
h.removeStreamPair(p.requestID) h.removeStreamPair(p.requestID)
} }