Use repo_ids filter when under uint32 threshold
What does this MR do and why?
Use repo_ids filter when under uint32 threshold
AI Summary
This change improves how the search system handles project identification numbers. Previously, the system would use a special "meta project ID" filtering method whenever a feature flag was enabled. Now, it's smarter - it only uses this special method when project ID numbers are too large to fit in a standard 32-bit integer format (numbers larger than about 4.3 billion).
The update adds logic to check if any project IDs exceed this limit before deciding which filtering approach to use. For smaller project IDs, it continues using the regular filtering method even when the feature flag is on. This prevents unnecessary overhead for most projects while still supporting very large project ID numbers when needed.
The accompanying tests verify this behavior works correctly in different scenarios: when project IDs are large, when they're small, and when the feature is disabled entirely.
References
Screenshots or screen recordings
| Before | After |
|---|---|
How to set up and validate locally
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.