Skip to content

Cross-repo LSIF: multiple repositories export symbols for the same `packageInformation` node

Created by: olafurpg

  • Sourcegraph version: v3.27.5
  • Platform information: sourcegraph.com

Steps to reproduce:

  1. Upload LSIF index for repository jdk/8 that exports monikers java/lang/String and javax/activation/DataHandler against packageInformation: jdk/8
  2. Upload LSIF index for repository maven/javax.activation that exports monikers javax/activation/DataHandler against packageInformation: jdk/8
  3. Upload LSIF index for repository netflix/hystrix that references the moniker java/lang/String in packageInformation: jdk/8
  4. Goto definition against java/lang/String in the netflix/hystrix repository

Expected behavior:

Definition goes to the jdk/8 repository.

Actual behavior:

No definition is found. The behavior works as expected if we delete the index from step 2.

If the maven/javax.activation repository exported java/lang/String against jdk/8 then I would expect Sourcegraph to display two definition results.