[SEC-Q2] Webhook/dedup: депрекировать non-atomic путь #1153

Closed
opened 2026-07-19 17:05:42 +00:00 by andrei · 1 comment
Owner

Из SEC-Q2 MEDIUM backlog (аудит, срез 2026-07-10).

Старый non-atomic dedup-путь обработки webhook допускает гонку двойной обработки при ретраях провайдера. Оставить только атомарный (unique constraint + idempotency key), non-atomic ветку удалить, миграцию — с 3-step политикой.

Из SEC-Q2 MEDIUM backlog (аудит, срез 2026-07-10). Старый non-atomic dedup-путь обработки webhook допускает гонку двойной обработки при ретраях провайдера. Оставить только атомарный (unique constraint + idempotency key), non-atomic ветку удалить, миграцию — с 3-step политикой.
Author
Owner

Закрыто PR #1157 (merged, CI 8/8 green).

  • Non-atomic пары isEventProcessed/markEventProcessed (+NP/OB) и write-only fallback Map удалены; остался единственный атомарный fail-closed путь markEventProcessedIfNew (Redis SET NX) + release.
  • Sentry-тексты и теги сохранены дословно — alert-правила не затронуты.
  • Полный api vitest 10940 passed; ревью code-reviewer: 0 блокеров, findings закрыты dee5960e.
Закрыто PR #1157 (merged, CI 8/8 green). - Non-atomic пары isEventProcessed/markEventProcessed (+NP/OB) и write-only fallback Map удалены; остался единственный атомарный fail-closed путь mark*EventProcessedIfNew (Redis SET NX) + release*. - Sentry-тексты и теги сохранены дословно — alert-правила не затронуты. - Полный api vitest 10940 passed; ревью code-reviewer: 0 блокеров, findings закрыты dee5960e.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
europa-tech-srl/europatech#1153
No description provided.