Depuración de hits de caché remota para ejecución local

Informar un problema Ver fuente Por la noche · 7.2 · 7.1 · 7.0 · 6.5 · 6.4

En esta página, se describe cómo investigar los errores de caché en el contexto local ejecución.

En esta página, se da por sentado que tienes una compilación o prueba que se compilan correctamente de forma local y está configurado para utilizar el almacenamiento en caché remoto, y debes asegurarte de que la caché remota se use de forma eficaz.

Obtén sugerencias para verificar la tasa de aciertos de caché y comparar la ejecución registros entre dos invocaciones de Bazel, consulta Depura los hits de la caché remota para la ejecución remota. Todo lo que se presenta en esa guía también se aplica al almacenamiento en caché remoto con ejecución. Sin embargo, la ejecución local presenta algunos desafíos adicionales.

Verifica la tasa de aciertos de caché

Los aciertos de caché remota se mostrarán en la línea de estado, de manera similar a lo siguiente: Tasa de aciertos de caché con la política remota Ejecución.

En el resultado estándar de tu ejecución de Bazel, verás algo como lo siguiente: lo siguiente:

   INFO: 7 processes: 3 remote cache hit, 4 linux-sandbox.

Esto significa que, de 7 intentos de acciones, 3 recibieron un acierto de caché remota y 4 acciones no tuvieron aciertos de caché y se ejecutaron de forma local con linux-sandbox de administración de amenazas. Los aciertos de caché local no se incluyen en este resumen. Si obtienes 0 procesos (o un número inferior al esperado), ejecuta bazel clean seguido de tu comando de compilación/prueba.

Solución de problemas de aciertos de caché

Si no obtienes la tasa de aciertos de caché que esperabas, haz lo siguiente:

Garantiza una comunicación exitosa con el extremo remoto

Para asegurarte de que tu compilación se comunique correctamente con la caché remota, sigue los pasos que se indican en esta sección.

  1. Revisa los resultados en busca de advertencias

    Con la ejecución remota, si falla la comunicación con el extremo remoto, tu compilación. Por otro lado, una compilación local almacenable en caché no fallará si no se puede almacenar en caché. Verifica el resultado de tu invocación de Bazel para ver si hay advertencias, como las siguientes: como:

       WARNING: Error reading from the remote cache:
    

    o

       WARNING: Error writing to the remote cache:
    

    A estas advertencias aparecerán un mensaje de error que detalla la conexión problema que debería ayudarte a depurar, por ejemplo, nombre del extremo mal escrito o las credenciales están establecidas de forma incorrecta. Encuentra y soluciona cualquiera de esos errores. Si el error mensaje que ves no te brinda suficiente información, intenta agregar --verbose_failures

  2. Sigue los pasos que se indican en Solución de problemas de aciertos de caché del control remoto ejecución en asegúrate de que tus invocaciones de Bazel de escritura en caché puedan obtener aciertos de caché en la misma máquina y entre máquinas.

  3. Asegúrate de que tus invocaciones de Bazel de lectura de caché puedan obtener aciertos de caché.

    a. Ya que las invocaciones de Bazel de lectura de caché tendrán un conjunto de líneas de comandos diferente tenga especial cuidado para asegurarse de que están debidamente configurados comunicarse con la caché remota. Asegúrate de que la marca --remote_cache esté configurada y no hay advertencias en el resultado.

    b. Asegúrate de que las invocaciones de Bazel de lectura de caché compilen los mismos objetivos que el invocaciones de Bazel para escritura en caché

    c. Sigue los mismos pasos que para garantizar que el almacenamiento en caché en máquinas virtuales, para asegurarte de almacenar en caché de la invocación de Bazel de escritura en caché a tu la invocación de Bazel para lectura de caché.