Hi folks! While being on-call for SRE I noticed some recurrent RR multilingual errors:
INFO:root:Received request for revision 149673768 (ru).
2025-11-09 08:16:53.192 1 kserve.trace requestId: 1fe51d39-3b89-458f-b1ae-9ce3ab45ac70, preprocess_ms: 119.79341507, explain_ms: 0, predict_ms: 184.958696365, postprocess_ms: 0.005722046
2025-11-09 08:16:53.193 uvicorn.access INFO: 127.0.0.6:0 1 - "POST /v1/models/revertrisk-multilingual%3Apredict HTTP/1.1" 200 OK
2025-11-09 08:16:53.193 1 kserve.trace kserve.io.kserve.protocol.rest.v1_endpoints.predict: 0.3053722381591797 ['http_status:200', 'http_method:POST', 'time:wall']
2025-11-09 08:16:53.193 1 kserve.trace kserve.io.kserve.protocol.rest.v1_endpoints.predict: 0.36014800000157265 ['http_status:200', 'http_method:POST', 'time:cpu']
2025-11-09 08:16:54.254 1 kserve.trace kserve.io.kserve.protocol.rest.v1_endpoints.predict: 0.00027871131896972656 ['http_status:500', 'http_method:POST', 'time:wall']
2025-11-09 08:16:54.254 1 kserve.trace kserve.io.kserve.protocol.rest.v1_endpoints.predict: 0.00026900000011664815 ['http_status:500', 'http_method:POST', 'time:cpu']
2025-11-09 08:16:54.254 1 kserve ERROR [errors.py:generic_exception_handler():143] Exception:
Traceback (most recent call last):
File "/opt/lib/python/site-packages/starlette/middleware/errors.py", line 164, in __call__
await self.app(scope, receive, _send)
File "/opt/lib/python/site-packages/timing_asgi/middleware.py", line 70, in __call__
await self.app(scope, receive, send_wrapper)
File "/opt/lib/python/site-packages/starlette/middleware/exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/opt/lib/python/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/opt/lib/python/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/opt/lib/python/site-packages/starlette/routing.py", line 716, in __call__
await self.middleware_stack(scope, receive, send)
File "/opt/lib/python/site-packages/starlette/routing.py", line 736, in app
await route.handle(scope, receive, send)
File "/opt/lib/python/site-packages/starlette/routing.py", line 290, in handle
await self.app(scope, receive, send)
File "/opt/lib/python/site-packages/starlette/routing.py", line 78, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/opt/lib/python/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/opt/lib/python/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/opt/lib/python/site-packages/starlette/routing.py", line 75, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "/opt/lib/python/site-packages/fastapi/routing.py", line 302, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/lib/python/site-packages/fastapi/routing.py", line 213, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-11-09 08:16:54.254 uvicorn.access INFO: 127.0.0.6:0 1 - "POST /v1/models/revertrisk-multilingual%3Apredict HTTP/1.1" 500 Internal Server Error
File "/opt/lib/python/site-packages/kserve/protocol/rest/v1_endpoints.py", line 84, in predict
response, response_headers = await self.dataplane.infer(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/lib/python/site-packages/kserve/protocol/dataplane.py", line 461, in infer
response, res_headers = await model(request, headers=headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/lib/python/site-packages/kserve/model.py", line 259, in __call__
await self.preprocess(body, headers)
File "/srv/revert_risk_model/model_server/base_model.py", line 170, in preprocess
lang = inputs.get("lang")
^^^^^^^^^^
AttributeError: 'list' object has no attribute 'get'It seems that some requests trigger the issue, you can find one at the top of the stacktrace. I also saved a pod's log in my home on deploy2002 for future inspection (/home/elukey/T409657). I restricted the task only to subscribers since in theory this could be used as nice dos vector :)