İşlemden kaçının DDL ve sert multi-pod yarışları

FixSecurityService
Shiked
20 Nisan 2026 20:43 UTC
Yazar
Kamo
Commit
d3249b4

Önceki öz-heal, DDL'yi @Transactional senkronizasyon All() içinde koyar. Bir ALTER TABLE ADD CONSTRAINT mevcut bir kısıtlamaya ateş açtı (ilk önce ilk kez normal bir durumda). Bir multi-pod yarışında ya da kaybeden pod, çalıştırIdem, Java'yı yuttu. istisna - ama çevreleyen DB işlemi bir planda kaldı. Her bir sonraki JPA çağrısı daha sonra “şimdiki işlem berbat, komutlar İşlem bloğunun sonuna kadar görmezden gelinin, her yeniden pod'u alın. Değişiklikler: - senkronizasyonAll() artık @Transactional değil. Her aşama kendileriyle çalışır Özerklik: DDL herhangi bir Bahar TX dışındaki ifadelerde otomatik-kommitler, bu yüzden bir Tek devletli başarısızlık hiçbir şeyi zehirleyemez. -UniqueConstraint() şimdi ADD denemeden önce pg constraint kontrol eder, Bu yüzden "already var" hatası asla normal yeniden başlarda yangınlar. - Self-injeksiyon (@Lazy Self) bu yüzden sub-methods' @Transactional aslında Bahar proxy aracılığıyla yangınlar (daha önceki bu.syncOrgRoleRights) AOP'u atladı. - Eş zamanlı-pod yarış analizini Belgeledi: DDL CRDB tarafından serilendi, DELETEs idempotent, ırksal-güveni IN CONFLICT DO NOTHING aracılığıyla ekler.

Tüm değişiklikler

Kargoyu gördüğünüz gibi?

İş alanınızda bu güncellemelerden her biri otomatik olarak. Ücretsiz başlayın ve haftadan sonra büyümesini izleyin.

Sonsuza Kadar Ücretsiz BaşlangıçFırsatları Görüntüle