Skip to content

Code Intelligence 3.19 Tracking issue

Created by: efritz

Plan

Goal 1: Add support for monorepos

Unblock customers C1 & C2 from adopting LSIF by removing known blockers for large repositories with high commit rates. This milestone will make progress of removing the known blockers for these companies by following tasks (will still need a follow-up in (at least) the 3.20 milestone):

Building a prototype to speed up indexing on all repos. This is necessary for large monorepos as indexing the entire codebase is infeasible. This prototype will act as the feasibility study referenced in the RFC 170. If we determine that this technique is viable, then the 3.20 milestone will focus on a proper implementation of the prototype (which also requires updating indexers to create patch indexes). @efritz @gbrik

Goal 2: Improve developer experience for use of LSIF in CI

Users aren't configuring LSIF in CI because it is technically cumbersome, carries a maintenance burden, difficult to explain, and may involve red tape. We are aiming to alleviate these issues by automating the process and reduce number setup steps needed by developers to deploy. To support this effort we are also going to create additional quickstart documentation.

Goal 3: Increase LSIF adoption

Users are blocked from adopting LSIF because existing indexers don't support their use case, or there is no indexer for their language. We plan to distribute lsif-clang to customers that already have precise C++ support to ensure that it continues to meet their use case and is ready for wider distribution. We will also write a plan for precise SWIFT & Java support.

Goal 4: Resolve technical debt to improve quality and reliability

This work is to improve overall quality of code intel components, including fixing worker concurrency bug, UI hover experience and implementing graceful failover for bundle manager.

Availability

Period is from 2020-07-20 to 2020-08-20. Please write the days you won't be working and the number of working days for the period.

  • Aida: 24d
  • Eric: 17d (out 07/23-07/24)
  • Garo: 11d (out first week)

Workload

@aidaeology

  • Determine state of LSIF-java #12306
  • Make bundle manager janitor more lenient during disaster recovery #12168 🧶
  • Research language usage among customers and projects #12726
  • Programatically create regular data about code intel activity #11746
  • Update left side navigation #13188 :shipit:
  • Edit of language guide page to improve phrasing #13108 :shipit:
  • Updated adding lsif to workflows docs #13078 :shipit:
  • Improving code intelligence docs and LSIF indexer installation instructions #13041 :shipit:
  • Added goals to code intel team page #1369 :shipit:
  • Updated code intel page with NEO #1327 :shipit:

@efritz

  • Implement better nearest commit queries #12098
  • Visible at tip calculation is racy #12095 🐛
  • Query definition and hover provider so we can correctly badge results #12133
  • RFC 199: Index queue API #12664
  • RFC 199: Index queue client #12665
  • RFC 199: Expose internal routes for the indexer #12666
  • RFC 199: Build indexer service #12707
  • RFC 199: Use firecracker #12708
  • RFC 199: Deploy new indexer service #12709
  • codeintel: Alert on failure to open database #12712 🧶
  • Create quick-start video for setting up Code Intelligence in CI/CD #13049
  • UI Tooltips for asymmetric precision of hover and definition results #12706
  • Remove -endpoint from src-cli usage #11878 🧶
  • codeintel: Install and use the LSIF upload route on the codeintel internal API #13157 :shipit:
  • Add -upload-route flag to lsif upload #267 :shipit:
  • Add hover alert for partial precise results #459 :shipit:
  • codeintel: Install docker inside precise-code-intel-indexer-vm docker image #13119 :shipit:
  • docker-images: Add ignite-ubuntu #12919 :shipit:
  • codeintel: Add fast-path edge unmarshalling #12878 :shipit:🧶
  • codeintel: Add disable indexer flag #12800 :shipit:
  • codeintel: Add mocks for queue client #12798 :shipit:
  • internal API proxy: Remove verb allowlist in gitservice proxy #12797 :shipit:
  • codeintel: Collapse worker handler and processor #12795 :shipit:
  • workerutil: Make generic store #12792 :shipit:
  • Fix default host for SRC_HTTP_ADDR_INTERNAL #12768 :shipit:
  • Revert "Revert "codeintel: Internal API proxy (#12691)" (#12728)" #12758 :shipit:
  • codeintel: VM-based indexer service #12723 :shipit:
  • codeintel: Internal API proxy #12691 :shipit:
  • codeintel: Index queue client #12688 :shipit:
  • workerutil: Move store into own package #12663 :shipit:
  • workerutil: Add DequeueWithIndependentTransactionContext to store #12661 :shipit:
  • codeintel: Index queue API #12657 :shipit:
  • Remove committed binary #12594 :shipit:
  • Add index on repo name column #12591 :shipit:
  • Categorize enterprise frontend startup behaviors #12539 :shipit:
  • Move [enterprise/]cmd/frontend/authz to [enterprise/]internal/authz #12538 :shipit:
  • codeintel: Remove ErrMalformedBundle #12497 :shipit:
  • codeintel: Remove unused store, gitserver code #12425 :shipit:
  • codeintel: Update store to target new nearest upload tables #12422 :shipit:
  • codeintel: Add commit updater utility #12411 :shipit:
  • codeintel: Add CalculateVisibleUploads to store #12408 :shipit:
  • workerutil: Fix nil-deref in when using worker store transactionally #12407 :shipit:
  • codeintel: Add tables for denormalizing nearest upload data #12406 :shipit:
  • codeintel: Add CommitGraph to gitserver client #12404 :shipit:
  • codeintel: Add commit graph utilities #12402 :shipit:
  • codeintel: Add Lock to store #12401 :shipit:
  • workerutil: Make all column names customizable #12398 :shipit:
  • codeintel: Apply rate limit to gitserver requests from indexability scheduler #12379 :shipit:
  • codeintel: Group code intel data for serialization on-demand #12125 :shipit:
  • codeintel: Additional worker memory improvements #12108 :shipit:

@gbrik

  • 🚚 LSIF-clang Delivery #12349
  • Create a code intel user survey #11747
  • update lsif.dev #12501
  • Investigate effort for a new LSIF-swift indexer #12350 🕵️

Legend

  • 👩 Customer issue
  • 🐛 Bug
  • 🧶 Technical debt
  • 🛠️ Roadmap
  • 🕵️ Spike
  • 🔒 Security issue
  • :shipit: Pull Request