Tutup jeda idempotensi webhook BL0 akhir yang ditemukan

FixBillingService
Dikirim
26 Agustus 2026 pukul 03.33 UTC
Penulis
Kamo
Commit
27d3200

Finding 1 (Kritis): a losing claim on a redelivered Stripe event only terbukti baris ada, bukan bahwa upaya sebelumnya selesai. Sebuah klaim baris tertinggal oleh kegagalan sementara (Yugabita 40001, sebuah Hikari kehabisan waktu, sebuah unique-kendala ras) tampak identik dengan asli duplikasi, sehingga pengiriman kembali menjawab 200 dan Stripe permanen Berhenti mencoba kembali menulis uang yang tidak pernah mendarat. Ditambahkan * * * * * * * * * * * * * * * (THE own REQUIRES _ NEW read) sehingga klaim hilang dinilai pada apakah diproses sebenarnya membalik ke true; sebuah baris yang tidak diproses sekarang melempar * * * * * * * * * * * * * * * bukannya kembali, jadi controller jawaban 500 dan Stripe tiga hari mencoba kembali jendela tetap terbuka. Menemukan 2 (Penting): markProcessed membuang jumlah baris. A pembaruan zero- baris tidak terlihat dan meninggalkan acara diam-diam tidak diproses selamanya, dengan apa-apa gagal di mana saja. Sekarang menegaskan persis satu baris diperbarui dan melempar sebaliknya; Javadoc mencatat Yugabyte snapshot-isolasi penalaran yang membuat ini aman hari ini dan rapuh jika pembacaan repositori pernah ditambahkan di depan klaim. Menemukan 4 (Minor): Pengontrol log yang tiada-Stripe- Sinyal kasus header di ERROR, sama seperti hilang asli-rahasia salah konfigurasi. Titik akhir itu adalah publik dan internet- terjangkau, jadi setiap penelepon bisa menghasilkan baris ERROR pada permintaan dengan mengabaikan tajuk. WebhookNotConfiguredException sekarang membawa bendera callerCaused; log pengendali WARN untuk kasus header dan ERROR cadangan untuk kasus yang sebenarnya milik kita untuk diperbaiki. Tes: disematkan kedua arah dari perilaku gerbang klaim baru (StripeWebhookClaimGateTest, dengan muatan yang ditandatangani HMAC-) dan melalui bentuk -sumber (StripeWebhookIdempotencyTest); markProcessed row- count perilaku assertion dengan repositori mengejek * * * * * * * * * * * dan WARN / ERROR split perilaku melalui Logback ListAppender * * * * * * * * * * * * * * * Verifikasi ketiganya load- bearing dengan membalikkan setiap memperbaiki secara bergantian, mengkonfirmasi Menghubungkan tes baru akan merah, kemudian memulihkan dan mengkonfirmasi hijau. Full suite: 208 test, 0 failures, 0 error (up from 193 at 674fa0f).

Semua perubahan

Seperti apa yang Anda lihat pengiriman?

Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.

Mulai Bebas SelamanyaTampilkan Harga