Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request resolves critical issues where client-initiated context cancellations were prematurely terminating essential background caching operations. By isolating the context used for background downloads and improving error propagation in upstream selection, the system can now reliably store artifacts even when client requests time out or disconnect. Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request correctly addresses issues with background job cancellation by detaching the job's context from the request's context using context.WithoutCancel. The changes to selectUpstream properly handle context cancellation and prevent a resource leak by adding a deferred call to cancel. The new test case effectively validates that background jobs continue to completion even after the client's context is canceled. The implementation appears solid and addresses the described problem.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1017 +/- ##
=====================================
Coverage 5.04% 5.04%
=====================================
Files 6 6
Lines 436 436
=====================================
Hits 22 22
Misses 410 410
Partials 4 4 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Before this PR I ran I applied this patch on top of 0.8.6. The end results didn't change unfortunately and 3/3 times I got a flood of 500 errors :( Note: for the first time build failed for me on aarch64-linux, worked for the second time: ncps> ---------------------------------------------------
ncps> ✅ MinIO configured for S3 integration tests
ncps> 🚀 Starting MariaDB for integration tests...
ncps> ⏳ Waiting for MariaDB to be ready...
ncps> ❌ MariaDB failed to start
ncps> 🛑 Stopping MinIO...
ncps> ✅ MinIO stopped and cleaned up
ncps> 🛑 Stopping MariaDB...
ncps> ✅ MariaDB stopped and cleaned up
ncps> 🛑 Stopping PostgreSQL...
ncps> ✅ PostgreSQL stopped and cleaned up
ncps> 🛑 Stopping Redis...
ncps> ✅ Redis stopped and cleaned up |
…opagation This fix addresses the "context canceled" errors occurring during database transactions in the cache component. Previously, background download jobs for narinfo and nar files incorrectly used the request context. If a client disconnected or a timeout occurred, the request context would be canceled, directly affecting the background caching jobs and preventing artifacts from being stored. Changes: - Detached context from the request for background download jobs using context.WithoutCancel. - Refactored selectUpstream to correctly propagate context cancellation errors instead of defaulting to storage.ErrNotFound. - Updated GetNarInfo and GetNar to handle client context cancellation independently from the background jobs they wait on. - Added a reproduction test case TestIssue990_BackgroundJobContextCancellation to pkg/cache/cache_test.go.
|
@gepbird you're using sqlite database and local lock correct? That's what I see in your config. Weird I can't replicate running it locally with your setup on this branch. Isolated command I generated from your PR
|
7e1a87c to
3789f00
Compare
|
@gepbird can you try again with the latest version of the pr? |
Yes, I have
Can you replicate it with my ncps instance behind nginx, https://nix-cache.tchfoo.com? It's on a 24/7 online RPI5, feel free to stress it. If so, you can give me a timespan when you tested it and I can send the logs, if it helps.
Can you share this script? I can't find it on main or this PR. I could reproduce it with this scriptTEMP_NIX_STORE="$(mktemp -d)"
nix run github:NixOS/nixpkgs/00c21e4c93d963c50d4c0c89bfa84ed6e0694df2#lixPackageSets.stable.lix -- \
--store "$TEMP_NIX_STORE" \
--extra-substituters "" \
--refresh \
--substituters "https://nix-cache.tchfoo.com" \
build \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#ani-cli \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#anime-downloader \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#anime-downloader.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#apache-answer \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#astro-language-server \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#authelia \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#auto-editor \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#autobrr \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#bash-language-server \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#bilibili-tui \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#botamusique \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#bumpp \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#castero \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#castero.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#catt \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#catt.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#cdxgen \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#celluloid \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#changelogen \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#cine \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#clapper \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#clapper-enhancers \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#claude-code-router \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#concurrently \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#conventional-changelog-cli \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#cplay-ng \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#cplay-ng.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#cspell \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#curseradio \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#curseradio.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#delfin \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#dep-scan \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#dep-scan.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#dmlive \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#dra-cla \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#e-search \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#en-croissant \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#equicord \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#fedistar \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#feishin \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#ff2mpv \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#ff2mpv-go \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#filebrowser \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#folo \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#froide \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#froide-govplan \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#froide-govplan.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#froide.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#gale \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#gallery-dl \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#gallery-dl.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#ghostfolio \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#gitea \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#gitea.data \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#gitify \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#gitlab-duo \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#goaway \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#gonic \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#gophertube \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#gpodder \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#gtk-pipe-viewer \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#gtk-pipe-viewer.devdoc \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#haruna \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#heroic \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#heroic-unwrapped \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#home-assistant-custom-lovelace-modules.custom-sidebar \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#home-assistant-custom-lovelace-modules.kiosk-mode \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#homepage-dashboard \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#homer \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#hydrus \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#hydrus.doc \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#hypnotix \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#immich \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#immich-cli \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#invidtui \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#jellyfin-mpv-shim \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#jellyfin-mpv-shim.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#jellyfin-tui \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#jellytui \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#jftui \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#kdePackages.audiotube \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#kdePackages.audiotube.debug \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#kdePackages.audiotube.dev \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#kdePackages.audiotube.devtools \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#kdePackages.kalarm \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#kdePackages.kalarm.debug \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#kdePackages.kalarm.dev \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#kdePackages.kalarm.devtools \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#kdePackages.plasmatube \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#kdePackages.plasmatube.debug \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#kdePackages.plasmatube.dev \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#kdePackages.plasmatube.devtools \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#kikoplay \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#klipperscreen \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#kodiPackages.sendtokodi \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#legcord \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#linkwarden \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#linux-wallpaperengine \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#liquidsoap \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#lollypop \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#memento \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#memos \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#metacubexd \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#mgrep \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#minitube \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#monophony \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#monophony.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#moodle-dl \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#moodle-dl.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#moonlight \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#mov-cli \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#mov-cli.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#mpc-qt \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#mpv \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#mpv-handler \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#mpvScripts.mpv-playlistmanager \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#mpvpaper \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#ni \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#nrm \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#oxfmt \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#paperless-ngx \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#paperless-ngx.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#parabolic \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#parrot \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#pear-desktop \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#peertube \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#peertube.cli \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#peertube.runner \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#persepolis \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#photoqt \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#picgo \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#pinchflat \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#pipe-viewer \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#pipe-viewer.devdoc \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#pipeline \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#plex-mpv-shim \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#plex-mpv-shim.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#pocket-id \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#podman-desktop \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#postcss \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#previewqt \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#prisma_6 \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#prisma_7 \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.bgutil-ytdlp-pot-provider \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.bgutil-ytdlp-pot-provider.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.django-filingcabinet \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.django-filingcabinet.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.gradio-client \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.gradio-client.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.gradio-pdf \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.gradio-pdf.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.mpv \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.mpv.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.tubeup \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.tubeup.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.yark \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.yark.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.yt-dlp-ejs \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python313Packages.yt-dlp-ejs.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.bgutil-ytdlp-pot-provider \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.bgutil-ytdlp-pot-provider.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.gradio-client \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.gradio-client.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.gradio-pdf \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.gradio-pdf.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.mpv \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.mpv.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.tubeup \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.tubeup.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.yark \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.yark.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.yt-dlp \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.yt-dlp-ejs \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.yt-dlp-ejs.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.yt-dlp-light \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.yt-dlp-light.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#python314Packages.yt-dlp.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#qimgv \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#radiance-vj \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#radio-cli \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#radioboat \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#readest \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#renovate \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#satisfactorymodmanager \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#sharedown \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#sharkey \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#shira \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#shira.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#shoko-webui \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#shopify-cli \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#signal-desktop \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#simple-live-app \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#simple-live-app.debug \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#simple-live-app.pubcache \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#slidev-cli \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#somafm-cli \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#splayer \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#spotdl \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#spotdl.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#stoat-desktop \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#sub-store \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#sub-store-frontend \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#subtitleedit \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#svelte-check \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#svelte-language-server \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#switchfin \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#szurubooru.server \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#szurubooru.server.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#tartube-yt-dlp \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#tartube-yt-dlp.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#teleport_17 \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#teleport_17.client \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#tests.home-assistant-component-tests.media_extractor \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#tomato-c \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#tsx \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#tuba \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#turborepo-remote-cache \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#typespec \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#umami \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#varia \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#vencord \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#vencord-web-extension \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#vesktop \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#vidcutter \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#vidcutter.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#video-downloader \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#vikunja \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#vikunja-desktop \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#vscode-extensions.eamodio.gitlens \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#vscode-extensions.kilocode.kilo-code \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#vscode-extensions.rooveterinaryinc.roo-cline \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#vue-language-server \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#webcord-vencord \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#woodpecker-server \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#wtwitch \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#yewtube \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#yewtube.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#youtube-tui \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#ytcc \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#ytcc.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#ytdl-sub \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#ytdl-sub.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#ytdownloader \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#ytfzf \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#ytmdl \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#ytmdl.dist \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#ytui-music \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#zenn-cli \
github:NixOS/nixpkgs/76e155c9f99ec7ed80606379f167134284e381ff#zulip
sudo rm -rf "$TEMP_NIX_STORE"
Sure! Unfortunately this doesn't cleanly apply as a patch to v0.8.6, so I'm switching the source to this PR. In the process I got runtime errors from the service about |

This fix addresses the "context canceled" errors occurring during
database transactions in the cache component. Previously, background
download jobs for narinfo and nar files incorrectly used the request
context. If a client disconnected or a timeout occurred, the request
context would be canceled, directly affecting the background caching
jobs and preventing artifacts from being stored.
Changes:
context.WithoutCancel.
errors instead of defaulting to storage.ErrNotFound.
independently from the background jobs they wait on.
TestIssue990_BackgroundJobContextCancellation to
pkg/cache/cache_test.go.
fixes #990