codeintel: Optionally accept uploads for unresolvable commits
Created by: efritz
Fixes #28494 (closed).
Three changes:
- We enqueue upload records with unresolvable commits instead of returning a 500 error.
- We now requeue in the precise-code-intel worker when the commit is not resolvable. We previously only did this if the repo was still cloning.
- In the background process that removes uploads for unresolvable commits, we make an exception for uploads that have been uploaded within the max commit lag, supplied via environment variable. Not modifying this will simply delete a bunch of accepted uploads randomly in the background, creating a very hard to recreate user experience.