Page MenuHomePhabricator

Investigate reference-need-predictor alert triggered by reverse proxying request error
Closed, ResolvedPublic

Description

An alert for the reference-need-predictor service was triggered on 18/07/2025. The initial alert information was:

reference-need-predictor-00012-deployment revision-models k8s-mlserve warning eqiad prometheus

I looked at the reference-need-predictor logs in logstash: https://logstash.wikimedia.org/goto/3235c894dbdbbcd08d64e3e78f82570f and after 23:07 UTC several queue-proxy errors with:

error reverse proxying request; sockstat: sockets: used 1078
TCP: inuse 1022 orphan 2 tw 121 alloc 11745 mem 0
UDP: inuse 0 mem 7616
UDPLITE: inuse 0
RAW: inuse 0
FRAG: inuse 0 memory 0

after 23:44 UTC several istio-proxy errors with:

Request to probe app failed: Get "http://10.67.16.134:8012/": context deadline exceeded (Client.Timeout exceeded while awaiting headers), original URL path = /app-health/queue-proxy/readyz
app URL path = /

after 00:11 UTC several queue-proxy errors with:

aggressive probe error (failed 73 times): dial tcp 127.0.0.1:8080: i/o timeout

Surprisingly, before the first queue-proxy error shown above, the kserve-container seemed to be working fine:

INFO:root:Function run_in_process_pool took 0.27 seconds to execute.
2025-07-17 23:07:36.085 kserve.trace kserve.io.kserve.protocol.rest.v1_endpoints.predict: 0.0034160000000156288
2025-07-17 23:07:36.085 kserve.trace kserve.io.kserve.protocol.rest.v1_endpoints.predict: 0.33701109886169434
2025-07-17 23:07:36.084 kserve.trace requestId: 1364c0a1-4b6f-4eb4-b2a7-ad1530e4bc2a, preprocess_ms: 62.111616135, explain_ms: 0, predict_ms: 274.287462234, postprocess_ms: 0.009298325
2025-07-17 23:07:36.085 uvicorn.access INFO:     127.0.0.6:0 1 - "POST /v1/models/reference-need%3Apredict HTTP/1.1" 200 OK

This alert resolved itself at ~1 UTC. The root cause of this issue is yet to be identified but it seems to be similar to the one identified in T346445: Isvc pods sometimes fail to serve HTTP requests and blackhole traffic where the solution ended up being a fix of a memory leak.

Event Timeline

isarantopoulos claimed this task.

This task has not received any activity for quite a while. Since we haven't had any incidents about this lately, I'm gonna go ahead and resolve this.