- Shipped
- 26 августа 2026 г. в 03:33 UTC
- Author
- Kamo
- Commit
- 27d3200
Нахождение 1 (критическое): проигрышная претензия только на событие Stripe Доказано существование ряда, а не то, что предыдущая попытка закончилась. Заявленный ряд, оставленный преходящим отказом (Югабайт 40001, Хикари) Тайм-аут, гонка с уникальными ограничениями, выглядела идентично настоящей гонке. дубликат, так что на перепродажу ответили 200 и Стрип навсегда Перестал переписывать деньги, которые так и не попали. Добавлено **************************** (перенаправлено с «Requiirs NEW») читать) поэтому проигрышное требование оценивается по тому, действительно ли оно обработано Перевернутый направо; необработанный ряд теперь бросает **************************** Вместо того, чтобы вернуться, Контроллер отвечает 500, и трехдневное окно повторного запуска Stripe остается открытым. Найдя 2 (важно): MarkProcessed отбросил счетчик строк. А. Обновление нулевого ряда было невидимым и оставило событие без обработки Навсегда, ни с чем не срываясь. Теперь он утверждает ровно один ряд был обновлен и бросает иначе; javadoc записывает Yugabyte рассуждения об изоляции, которые делают это безопасным сегодня и хрупким, если Прочтение репозитория всегда добавляется перед утверждением. Поиск 4 (незначительный): контроллер зарегистрировал отсутствующую подпись Заголовок дела в ERROR, такой же, как и подлинный недостающий секрет неправильной конфигурации. Эта конечная точка является общедоступной и доступной в Интернете, поэтому Любой абонент может генерировать строки ERROR по требованию, опуская Голова. WebhookNotConfiguredException теперь имеет флаг вызывающего абонента; контроллер регистрирует WARN для корпуса заголовка и резервирует ERROR для Дело, которое мы должны исправить. Тесты: прикреплено оба направления новой претензии ворота поведенчески (StripeWebhookClaimGateTest, с реальной полезной нагрузкой, подписанной HMAC) Источник-форма (StripeWebhookIdempotencyTest) Утверждение счетчика строк поведенчески с издевательским хранилищем ******************************************************* Разделение по поведению через Logback ListAppender **************************** Проверены все три Повторяя каждую фиксацию в свою очередь, подтверждая Соответствующие новые тесты идут красными, затем восстанавливаются и подтверждаются зелеными. Полный набор: 208 тестов, 0 отказов, 0 ошибок (по сравнению с 193 при 674fa0f).