{"record":{"id":"a00496f26349d47b","repo":"dbt-labs/dbt-core","slug":"get-url","errorCode":null,"errorMessage":"GET {url}","messagePattern":"GET \\{url\\}","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/dbt-ci/src/sdist.rs","lineNumber":233,"sourceCode":"                    eprintln!(\n                        \"warning: GET {url} got {status}; retrying in {}ms\",\n                        delay.as_millis()\n                    );\n                    tokio::time::sleep(delay).await;\n                    continue;\n                }\n                bail!(\"GET {url} failed: {status}\");\n            }\n            Err(e) if is_transient(&e) && attempt < max_attempts => {\n                let delay = backoff(attempt);\n                eprintln!(\n                    \"warning: GET {url} failed: {e}; retrying in {}ms\",\n                    delay.as_millis()\n                );\n                tokio::time::sleep(delay).await;\n                continue;\n            }\n            Err(e) => return Err(anyhow::Error::new(e).context(format!(\"GET {url}\"))),\n        }\n    }\n}\n\n/// Minimal pyproject wiring up the embedded backend; rich metadata lives in PKG-INFO.\nfn render_sdist_pyproject(spec: &Spec, version_pep440: &str) -> String {\n    let mut out = String::new();\n    out.push_str(\"[build-system]\\n\");\n    out.push_str(\"requires = [\\\"packaging>=24\\\"]\\n\");\n    let _ = writeln!(out, \"build-backend = {SDIST_BACKEND_PKG:?}\");\n    out.push_str(\"backend-path = [\\\".\\\"]\\n\\n\");\n    out.push_str(\"[project]\\n\");\n    // `{:?}` yields quoted, escaped TOML basic strings.\n    let _ = writeln!(out, \"name = {:?}\", spec.wheel_name);\n    let _ = writeln!(out, \"version = {version_pep440:?}\");\n    if let Some(rp) = &spec.requires_python {\n        let _ = writeln!(out, \"requires-python = {rp:?}\");\n    }","sourceCodeStart":215,"sourceCodeEnd":251,"githubUrl":"https://github.com/dbt-labs/dbt-core/blob/0267ce9170576975b76b64ce856b2e5848e96617/crates/dbt-ci/src/sdist.rs#L215-L251","documentation":"In sdist building, download() fetches a remote resource with retries on transient failures; once retries are exhausted, the reqwest error is wrapped with the context \"GET {url}\" and propagated to build_release_sdist. The context names the exact URL that could not be fetched.","triggerScenarios":"build_release_sdist calls download for a remote artifact/dependency and every retry attempt of the GET fails (connection refused, timeout, TLS failure, 404 raised as client error).","commonSituations":"CI runner behind a proxy or firewall, wrong/pinned URL that no longer exists, upstream artifact host outage, offline release build.","solutions":["Verify the URL is reachable (curl it from the same environment).","Check proxy/firewall settings on the build machine.","Retry the build; the code already retries with backoff, so persistent failure means a hard problem.","Fix or update the pinned URL / spec pointing at the vanished resource."],"exampleFix":"// before\ndownload(\"https://files.example.com/pkg-1.0.tar.gz\")\n// after\n// verify the URL, or point to a mirror\ndownload(\"https://mirror.example.com/pkg-1.0.tar.gz\")","handlingStrategy":"retry","validationCode":"curl -fsSI \"$DOWNLOAD_URL\" > /dev/null && echo ok || echo 'URL unreachable before build'","typeGuard":null,"tryCatchPattern":"match build_release_sdist(...).await {\n    Err(e) if e.to_string().contains(\"GET \") => {\n        // check URL reachability/proxy, then retry or fail with clear message\n    }\n    other => other?,\n}","preventionTips":["Verify pinned URLs still resolve before cutting a release.","Configure proxy env vars (HTTPS_PROXY) on CI runners.","Prefer mirrors or vendored artifacts for reproducible builds."],"tags":["network","http-get","sdist","retry"],"backgroundTag":"http-request-failed","analyzedSha":"0267ce9170576975b76b64ce856b2e5848e96617","analyzedAt":"2026-09-07T21:53:39.732Z","contentChangedAt":"2026-09-07T21:53:39.732Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}