- 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).