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.

Merge request reports

Loading