Files
mdm-ordinis/ordinis-app
Zimin A.N. fbb0aa121a fix(test): WebhookE2ETest — pool=4 + tighter timeouts + truncate outbox
Предыдущий cleanup-fix не помог CI: ConditionTimeout 60s × 2 теста.
Trace показал WebhookDispatcher initialized + ZERO sendTick/matchTick
лог lines после этого. Spring @Scheduled default pool size = 1; если
sendTick блокируется на HTTP timeout (5s) к dead leftover URL —
matchTick тоже не запускается до конца HTTP send.

CI Postgres testcontainer withReuse(true) тащит leftover deliveries
из предыдущих runs. Их слишком много чтобы fail'ить за 60s с pool=1.

Фикс комбо:
- spring.task.scheduling.pool.size=4 — matchTick/sendTick параллельно,
  один blocked на dead URL не стопает другие
- ordinis.webhook.send-timeout-ms=1000 — leftover dead URLs fail'ят
  за 1с вместо 5с (5x faster cleanup)
- truncate outbox_events дополнительно — matchTick не порождает
  delivery rows на старые события

Локально 2/2 passed за 9.9s. Race-warnings про FK violation
(matchTick видит cached subscription но row deleted в @BeforeEach) —
noise, тест проходит.
2026-05-06 21:27:07 +03:00
..