Yerel Yürütme İçin Uzak Önbellek İsabetlerinde Hata Ayıklama

Sorun bildirme Kaynağı görüntüleme Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Bu sayfada, yerel yürütme bağlamında önbelleğe alma hatalarının nasıl inceleneceği açıklanmaktadır.

Bu sayfada, yerel olarak başarılı bir şekilde derlenen ve uzaktan önbelleğe almayı kullanacak şekilde ayarlanmış bir derleme ve/veya testinizin olduğu ve uzak önbelleğin etkili bir şekilde kullanıldığından emin olmak istediğiniz varsayılır.

Önbellek isabet oranınızı nasıl kontrol edeceğiniz ve iki Bazel çağrısı arasındaki yürütme günlüklerini nasıl karşılaştıracağınızla ilgili ipuçları için Uzak yürütme için uzak önbellek isabetlerinde hata ayıklama başlıklı makaleyi inceleyin. Bu kılavuzda sunulan her şey, yerel yürütmeyle uzak önbelleğe alma için de geçerlidir. Ancak yerel yürütme, bazı ek zorluklar sunar.

Önbellek isabet oranınızı kontrol etme

Başarılı uzak önbellek isabetleri, durum satırında Uzaktan Yürütme ile Önbellek İsabeti oranına benzer şekilde görünür.

Bazel çalıştırmanızın standart çıkışında aşağıdakine benzer bir sonuç görürsünüz:

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

Bu, 7 deneme işleminden 3'ünün uzak önbelleğe isabet aldığı, 4 işlemin ise önbelleğe isabet almadığı ve linux-sandbox stratejisi kullanılarak yerel olarak yürütüldüğü anlamına gelir. Yerel önbellek isabetleri bu özete dahil değildir. 0 işlem (veya beklenenden düşük bir sayı) görüyorsanız bazel clean'yi, ardından derleme/test komutunuzu çalıştırın.

Önbelleğe isabetlerle ilgili sorunları giderme

Beklediğiniz önbellek isabet oranını alamıyorsanız aşağıdakileri yapın:

Uzak uç nokta ile başarılı iletişim sağlayın

Derlemenizin uzak önbellek ile başarılı bir şekilde iletişim kurduğundan emin olmak için bu bölümdeki adımları uygulayın.

  1. Çıkışınızda uyarı olup olmadığını kontrol etme

    Uzak yürütme işleminde, uzak uç noktayla iletişim kurulamadığında derleme işleminiz başarısız olur. Öte yandan, önbelleğe alınamayan önbelleğe alınabilir yerel derleme başarısız olmaz. Bazel çağrınızın çıkışında aşağıdakiler gibi uyarıları kontrol edin:

       WARNING: Error reading from the remote cache:
    

    veya

       WARNING: Error writing to the remote cache:
    

    Bu tür uyarıların ardından, bağlantı sorununu ayrıntılarıyla açıklayan bir hata mesajı gösterilir. Bu mesaj, hata ayıklamanıza yardımcı olur (ör. yanlış yazılmış uç nokta adı veya yanlış ayarlanmış kimlik bilgileri). Bu tür hataları bulup giderin. Gördüğünüz hata mesajı size yeterli bilgi vermiyorsa --verbose_failures eklemeyi deneyin.

  2. Önbellek yazan Bazel çağrılarınızın aynı makinede ve makineler arasında önbellek isabetlerini alabilmesini sağlamak için Uzaktan yürütme için önbellek isabetleriyle ilgili sorunları giderme bölümündeki adımları uygulayın.

  3. Önbellek okuyan Bazel çağrılarınızın önbellek isabetleri alabildiğinden emin olun.

    a. Önbelleği okuyan Bazel çağrılarının farklı bir komut satırı yapılandırması olacağından, uzak önbellekle iletişim kuracak şekilde doğru şekilde ayarlandıklarına dikkat edin. --remote_cache işaretinin ayarlandığından ve çıkışta uyarı bulunmadığından emin olun.

    b. Önbellek okuyan Bazel çağrılarınızın, önbellek yazan Bazel çağrılarıyla aynı hedefleri derlediğinden emin olun.

    c. Önbelleğe yazma Bazel çağrınızdan önbelleğe okuma Bazel çağrınıza önbelleğe alma işlemini sağlamak için makineler arasında önbelleğe alma işlemini sağlamak için aynı adımları uygulayın.