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 uzak önbelleğe alma özelliğini kullanacak şekilde ayarlanmış bir derleme ve/veya testiniz olduğu ve uzak önbelleğin etkili bir şekilde kullanılmasını sağlamak istediğiniz varsayılmaktadı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ıza dair ipuçları için Uzaktan Yürütme İçin Uzak Önbellek İsabetlerinde Hata Ayıklama bölümüne bakın. Bu kılavuzda sunulan her şey, yerel yürütmeyle uzak önbelleğe alma için de geçerlidir. Ancak yerel ölçekte uygulama bazı ek zorlukları beraberinde getirir.

Önbellek isabet oranınızı kontrol etme

Başarılı uzak önbellek isabetleri, Uzak yürütme ile önbellek isabeti oranına benzer şekilde durum satırında gösterilir.

Bazel çalıştırma işleminizin standart çıkışında aşağıdakine benzer bir şey 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ç noktayla başarılı bir şekilde iletişim kurulmasını sağlayın

Derlemenizin uzak önbelleğe başarılı bir şekilde iletişim kurmasını sağlamak için bu bölümdeki adımları uygulayın.

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

    Uzaktan yürütmede uzak uç noktayla iletişim kurulamaması, derlemenizin başarısız olmasına neden olur. Öte yandan, önbelleğe alınamayan önbelleğe alınabilir yerel derleme başarısız olmaz. Bazel çağrınızın çıktısını kontrol ederek aşağıdaki gibi uyarılar olup olmadığını 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, hata ayıklamanıza yardımcı olacak bağlantı sorununu ayrıntılı olarak açıklayan bir hata mesajı gösterilir. Örneğin, uç nokta adının yanlış yazılması ya da kimlik bilgilerinin yanlış belirlenmesi. Bu tür hataları bulup giderin. Gördüğünüz hata mesajı size yeterli bilgi vermiyorsa --verbose_failures eklemeyi deneyin.

  2. Önbelleğe yazma işlemi yapan Bazel çağrılarınızın aynı makinede ve makineler arasında önbelleğe isabet alabilmesi için Uzak yürütme için önbelleğe isabetlerle ilgili sorunları giderme başlıklı makaledeki 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ı olmadığından emin olun.

    b. Önbelleği okuyan Bazel çağrılarınızın, önbelleğe yazan Bazel çağrılarıyla aynı hedefleri oluşturduğundan 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.