Draft: Add execution fallback support to VulnerabilitiesResolver
What does this MR do and why?
Wrap VulnerabilitiesResolver execution with the new ExecutionFallback pipeline to enable future ES -> PG fallback filtering.
This change:
- Routes resolver queries through
ExecutionFallback::VulnerabilitiesResolver - Introduces a dedicated fallback class with safe pagination over-fetching
- Adds a placeholder enrichment module for vulnerabilities
- Provides a bounded result cap (
RESULT_MAX_RECORDS = 500) - Establishes the standard pagination overfetch window (×3)
- Adds specs to verify delegation and configuration
No fallback filters are enabled yet (fallback_filter_config is empty).
This commit lays the groundwork for safely introducing filter-level fallbacks during the ES migration without changing current behaviour.
References
- Issue:Wire VulnerabilitiesResolver into the ES Execut... (#586568)
- Epic: Phase 2: Execution Fallback for Parallel Develo... (gitlab-org#20523)
This work is split into three MRs to make adoption incremental and easier to review:
- The first MR introduces the execution fallback base framework: Add execution fallback pipeline for ES to PG fi... (!219312 - merged)
- This MR demonstrates how to integrate it into a GraphQL resolver.
- The third MR validates the approach by providing a concrete example of a fallback filter implementation: Draft: Enable false positive execution fallback... (!219317).
Screenshots or screen recordings
| Before | After |
|---|---|
How to set up and validate locally
The primary way to validate this change is through the test suite.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Ugo Nnanna Okeadu