{"record":{"id":"c99147f8bc8e0708","repo":"iflytek/astron-agent","slug":"knowledge-request-error","errorCode":"KNOWLEDGE_REQUEST_ERROR","errorMessage":"err code {background_json.get('code')}, reason {background_json.get('message')}, sid {background_json.get('sid')}","messagePattern":"err code (.+?), reason (.+?), sid (.+?)","errorType":"error_code","errorClass":"CustomException","httpStatus":null,"severity":"error","filePath":"core/workflow/engine/nodes/knowledge/knowledge_client.py","lineNumber":116,"sourceCode":"                    {\n                        \"url\": url,\n                        \"req_headers\": self.trace_headers(request_headers),\n                        \"req_body\": payload,\n                    }\n                )\n            session = HttpClient.get_session()\n            async with session.post(\n                url, headers=request_headers, json=json.loads(payload)\n            ) as resp:\n                background_json = json.loads(await resp.text())\n                # background_json = requests.request(\"POST\", url, headers=self.headers, data=payload).json()\n                if background_json.get(\"code\") != 0:\n                    msg = (\n                        f\"err code {background_json.get('code')}, \"\n                        f\"reason {background_json.get('message')}, sid {background_json.get('sid')}\"\n                    )\n                    request_span.add_error_event(msg)\n                    raise CustomException(\n                        err_code=CodeEnum.KNOWLEDGE_REQUEST_ERROR,\n                        err_msg=f\"{msg}\",\n                        cause_error=f\"{msg}\",\n                    )\n                await request_span.add_info_events_async(\n                    {\"response\": json.dumps(background_json, ensure_ascii=False)}\n                )\n                recall_contents = background_json.get(\"data\", {})\n                recalls = json.dumps(recall_contents, ensure_ascii=False)\n                return recalls\n        except Exception as e:\n            err = str(e)\n            request_span.add_error_event(err)\n            raise CustomException(\n                err_code=CodeEnum.KNOWLEDGE_REQUEST_ERROR,\n                err_msg=f\"Knowledge base POST request error: {err}\",\n                cause_error=f\"Knowledge base POST request error: {err}\",\n            ) from e","sourceCodeStart":98,"sourceCodeEnd":134,"githubUrl":"https://github.com/iflytek/astron-agent/blob/5e758547a83371a5a4b29dadf4ac03e8dd527635/core/workflow/engine/nodes/knowledge/knowledge_client.py#L98-L134","documentation":"knowledge_client.top_k raises when the knowledge-service background query responds with a non-success code; the message embeds the upstream code, message and sid. It is a passthrough guard: the workflow node's retrieval call failed server-side and the error carries the backend's own diagnostic fields.","triggerScenarios":"Thrown at core/workflow/engine/nodes/knowledge/knowledge_client.py:116 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use the embedded sid and code to look up the knowledge-service logs","Check knowledge backend health and auth (trace headers)","Retry retrieval with backoff for transient upstream failures"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5e758547a83371a5a4b29dadf4ac03e8dd527635","analyzedAt":"2026-09-12T08:03:51.356Z","contentChangedAt":"2026-09-12T08:03:51.356Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}