Skip to content

feat(package-vulnerability-scanner): query vulnerabilities in parallel chunks - #458

Draft
amylin1249 wants to merge 5 commits into
pvs-05-packages-enginefrom
pvs-06-vulns-perf
Draft

feat(package-vulnerability-scanner): query vulnerabilities in parallel chunks#458
amylin1249 wants to merge 5 commits into
pvs-05-packages-enginefrom
pvs-06-vulns-perf

Conversation

@amylin1249

@amylin1249 amylin1249 commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Split out of #428 into small, reviewable PRs (tracking issue #415). Stacked 6/10 — stacked on #457, merge bottom-up.

Queries Package Manager for each repo's chunks concurrently instead of one after another, retrying a transient failure with backoff before giving up. Also fixes a real bug in getFixedVersion: an ECOSYSTEM range with no fix event returned null immediately instead of checking the rest of the ranges for a fix.

That getFixedVersion fix is now covered by tests — an advisory whose first range carries no fix, and one where a non-ECOSYSTEM range's fix must lose to the ECOSYSTEM one. The per-item packages read also reuses _gather_and_cancel_on_error instead of a bare asyncio.gather, so a missing-integration error cancels its siblings rather than leaving them running, and the Package Manager concurrency limit is a named constant.

@github-actions

Copy link
Copy Markdown
Contributor

Extension release summary

😴 Changed but won't release

The following extensions have code changes but the manifest version hasn't been incremented:

  • package-vulnerability-scanner: manifest version 3.0.6 ≤ released version 3.0.6

If you intended to release these changes, update the version field in each extension's manifest.json.

See the contributing guide for details.

@amylin1249
amylin1249 marked this pull request as draft July 31, 2026 15:43
@amylin1249
amylin1249 force-pushed the pvs-06-vulns-perf branch 2 times, most recently from f7f7d2f to 46e77ff Compare August 1, 2026 04:58
amylin1249 and others added 5 commits August 1, 2026 08:38
…l chunks

Query Package Manager for each repo's chunks concurrently (bounded to 5 at
once) instead of one chunk after another, and retry a transient network or
server failure with a short backoff before giving up. A persistent or 4xx
failure still fails the whole request loudly rather than under-reporting
vulnerabilities.

Also fixes a real bug in getFixedVersion: an ECOSYSTEM range with no fix
event returned null immediately instead of falling back to another range's
fix, so a fixed version could be reported as unknown even when one range
had it.

collectInstalledPackages (gathering the installed-package query from the
content and packages stores) isn't wired into a caller yet; that's the PR
that rewrites ContentList.vue.
…and name the PPM concurrency limit

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…s multiple ranges

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant