Skip to content

rockskip: Grab existing symbols from Postgres instead of ctags

Warren Gifford requested to merge rockskip-get-existing-symbols-from-postgres into main

Created by: chrismwendt

Fixes the error:

t=... lvl=eror msg=codeintel.symbols.parser.FetchRepositoryArchive error="readTar: exit status 128 (stderr: "fatal: pathspec 'REDACTED.proto' did not match any files")" count=1.000 elapsed=0.007 repo=... commitID=... paths=... paths=...

by deleting exactly the symbols associated with deleted files according to Postgres (source of truth) rather than ctags (impure).

Customers need to TRUNCATE rockskip_repos, rockskip_ancestry, rockskip_symbols; to kick off reindexing after upgrading.

The perf is about the same before and after to index sourcegraph/sourcegraph:

  • Before 12m59s
  • After: 12m45s

A deeper problem is that we're using an impure parser (ctags), which would be fixed by https://github.com/sourcegraph/sourcegraph/pull/36601

Depends on https://github.com/sourcegraph/sourcegraph/pull/36611

Test plan

Existing tests

Merge request reports

Loading