Skip to content

feat(conflict): Add the Tango conflict analyzer - #885

Open
manjari25 wants to merge 1 commit into
manjari/tango-analyzer-requestfrom
manjari/tango-analyzer-core
Open

manjari25 wants to merge 1 commit into
manjari/tango-analyzer-requestfrom
manjari/tango-analyzer-core

Conversation

@manjari25

Copy link
Copy Markdown
Contributor

Why

The orchestrator has no conflict analyzer that looks at the build graph, so batches touching different files but sharing affected targets run in parallel. The Tango analyzer compares the targets each batch affects, using the signatures, store, cache and request types from the earlier PRs in this stack.

What

  • Analyze signs the batch being analyzed (cache, then store, then Tango, created once) and reports ConflictTypeTargetOverlap for each in-flight batch whose recorded signature shares a target ID.
  • An in-flight batch is never sent to Tango. A missing record (ErrNoSignature) or a store error fails the analysis.
  • SignatureCache is exported so one cache can be shared across queues. The base revision comes from Params.BaseRevision, a function returning a commit SHA.
  • Not included: dictionary label writes and concurrent in-flight reads (marked TODO(tango)), the base-revision source, a real Tango adapter, and wiring. Nothing constructs the analyzer yet.

Test Plan

bazel test //submitqueue/extension/conflict/tango/...
CI

Issue

@manjari25
manjari25 added this pull request to stack #883 October 16, 2026 22:30
@manjari25
manjari25 marked this pull request as ready for review October 16, 2026 22:36
@manjari25
manjari25 requested review from a team, behinddwalls and sbalabanov as code owners October 16, 2026 22:36

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant