Support Bazel repository contents cache

Abierto
#338 3 comentarios 1 reacción 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@xytan0056 ya está trabajando en esto.

Desde el 27/10/2026.

  • #341 de @xytan0056 — abierto

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
68/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
go
Área
build-system

Línea de trabajo

Start with handler/getchangedtargets.go and trace how target graph computation finds Bazel repository metadata, especially the expected external/<repo>.marker file. Compare that lookup with the repository contents cache layout described in the issue, where metadata is in a .recorded_inputs file. Done when analysis handles this layout without the reported missing-marker error; run the relevant target graph tests.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug

I am trying to setup Tango for one of our projects as a POC. The project is a Java service built with Bazel 9.3.0.

I am facing the following issue when analyzing the repository:

2026-10-20T12:03:08.957+0200    ERROR   handler/getchangedtargets.go:39 GetChangedTargets failed        {"repository": "demand-api", "error": "fetch target graphs: failed to get target graph #1: get target graph: compute target graph: bzlmod repo \"rules_jvm_external++maven+io_netty_netty_codec_protobuf_4_2_19_Final\" has targets in query but no marker file", "error_code": "infra"}

AI assisted analysis: Bazel successfully finds the dependency but Tango fails afterward while calculating target hashes. Tango uses Bazel's repository metadata to detect changes to external dependencies. It currently expects that metadata in an external/@<repo>.marker file. With Bazel's repository contents cache, the dependency directory can instead be a symlink into a shared cache, with metadata stored alongside the cached directory in a .recorded_inputs file. This layout was observed in the affected Tango workers. Tango only looks for .marker files, so it treats the dependency's metadata as missing and aborts the request.

Perhaps I am missing some necessary configuration in the project's .bazelrc to support Tango. Do you any have suggestions or workarounds?

Lenguaje dominante
Go
Estrellas
23
Forks
11
Merge medio
1 d 10 h
PR fusionados (30 d)
18

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de uber/tango

Todos los issues de uber/tango

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.