{"record":{"id":"fc64435ae04b04e3","repo":"risingwavelabs/risingwave","slug":"request-error","errorCode":null,"errorMessage":"request error","messagePattern":"request error","errorType":"error_code","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/connector/codec/src/decoder/json/mod.rs","lineNumber":63,"sourceCode":"use url::Url;\n\nuse super::avro::{MapHandling, avro_schema_to_fields};\n\n#[derive(Debug, Error, thiserror_ext::ContextInto)]\npub enum Error {\n    #[error(\"could not open schema from {filename}\")]\n    SchemaFromFile {\n        filename: String,\n        source: std::io::Error,\n    },\n    #[error(\"parse error for url {url}\")]\n    UrlParse {\n        url: String,\n        source: url::ParseError,\n    },\n    #[error(\"schema from {url} not valid JSON\")]\n    SchemaNotJson { url: String, source: std::io::Error },\n    #[error(\"request error\")]\n    Request { url: String, source: reqwest::Error },\n    #[error(\"schema from {url} not valid JSON\")]\n    SchemaNotJsonSerde {\n        url: String,\n        source: serde_json::Error,\n    },\n    #[error(\n        \"ref `{ref_string}` cannot be resolved as a pointer, and `{ref_fragment}` cannot be found in the schema\"\n    )]\n    JsonRefPointerNotFound {\n        ref_string: String,\n        ref_fragment: String,\n    },\n    #[error(\"json ref error\")]\n    JsonRef {\n        #[from]\n        source: std::io::Error,\n    },","sourceCodeStart":45,"sourceCodeEnd":81,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/connector/codec/src/decoder/json/mod.rs#L45-L81","documentation":"Error::Request wraps a reqwest::Error raised while performing the HTTP request to fetch the schema from {url}. The generic message \"request error\" covers connection failures, DNS errors, timeouts, and TLS problems; inspect the source for details.","triggerScenarios":"The JSON schema loader sends an HTTP GET to the schema URL and reqwest fails at the transport level: host unreachable, connection refused, DNS failure, TLS handshake failure, or timeout.","commonSituations":"Schema registry hostname not resolvable from the RisingWave container (using localhost inside a container); registry service down; network policies blocking egress; TLS cert mismatch.","solutions":["Verify the registry host/port is reachable from the RisingWave node (use the container-network hostname, not localhost, when applicable).","Check the schema registry service is running and healthy.","Fix DNS/firewall/proxy configuration for egress to the registry.","If using https, ensure the CA cert is trusted by the process."],"exampleFix":"// before\nschema.location = 'http://localhost:8081/subjects/events-value/versions/1/schema'  // RW runs in a container\n// after\nschema.location = 'http://schema-registry:8081/subjects/events-value/versions/1/schema'","handlingStrategy":"retry","validationCode":"await fetch(schemaUrl).catch(e => { throw new Error(`schema registry unreachable: ${e.cause ?? e}`); });","typeGuard":null,"tryCatchPattern":"match result {\n  Err(Error::Request { url, source }) => {\n    log::warn!(\"transport error fetching schema from {url}: {source}\");\n    // check connectivity/DNS/TLS, then retry with backoff\n  }\n  other => other?,\n}","preventionTips":["Use service-discovery hostnames valid inside the cluster network, not localhost.","Monitor registry availability and add readiness checks before starting sources.","Pin TLS/CA configuration and test it in the target environment."],"tags":["http","network","schema-registry"],"backgroundTag":"http-request-failed","analyzedSha":"6469eb736d691e8e9b8a419a57edd6429ca77417","analyzedAt":"2026-09-11T21:06:21.487Z","contentChangedAt":"2026-09-11T21:06:21.487Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}