Эпик 5 re-ревью: fail-fast tx_hash в APL signsupp/signchair loop #14
Reference in New Issue
Block a user
Delete Branch "chore/re-review-E5-apl-fail-fast"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Эпик 5 re-ревью — HIGH fix
Проблема
MarketplaceAplReceptionService.submitOnChainSignSuppиsubmitOnChainSignChairиспользовали «last-non-empty» с fallbacksignsupp-<reception_id>/signchair-<reception_id>когда ВСЕ tx_hash в группе пусты.Внутри for-of цикла tx_hash чек:
Пустой tx молча игнорировался → запись APL-приёмки в БД с фантомным fallback.
Фикс
На любой пустой ответ от цепи внутри loop → fail-fast
ConflictExceptionс конкретным Order'ом. Часть группы могла быть уже подписана выше — продолжать с фантомным tx_hash в БД категорически нельзя; ретрай безопасен (контракт идемпотентен поorder_hash).Test plan
🤖 Generated with Claude Code