Skip to content

LSIF: Support overlapping roots

Administrator requested to merge overlapping-lsif-roots into master

Created by: efritz

This implements a first approximation of RFC 107 to support overlapping LSIF roots.

Briefly, we have a problem where the roots of LSIF uploads are not allowed to overlap. This is an issue if multiple indexers need to upload data for the same files. We're relaxing this idea to say that the uploads of a single indexer must have disjoint roots, but the roots of multiple disjoint indexers can have overlapping roots.

Reviewers: The big changes are:

  • A new migration that adds an indexer field to lsif_uploads
  • routes/lsif.ts: pull the indexer from the upload so it can be written to the record at enqueue time
  • store/dumps.ts: updated findClosestDump, updateDumpsVisibleFromTip, and deleteOverlappingDumps to be respectful of this new field

The remaining changes (the majority of the diff count) threads an indexer value through the call flow and updates tests.

Merge request reports

Loading