Loading...

[Update] MBC CQRS サーバーレス フレームワーク v1.2.2 をリリース

MBC CQRS サーバーレス フレームワーク v1.2.2 をリリースしました。今回のリリースでは、CSVバッチインポート処理における重要なバグ修正が含まれています。

主な変更点

バグ修正

  • import: CsvBatchProcessor に Smart Retry パターンを実装し、Head-of-Line Blocking(Poison Pill問題)を修正
  • import: ImportQueueEventHandlerSingleImportProcessor に生のSQSペイロードを渡していた問題を修正

CsvBatchProcessor の修正詳細

以前のバージョンでは、SQSバッチの先頭行に永続的なバリデーションエラーがあると、ハンドラーが即座にクラッシュしていました。SQSはバッチ全体をリトライし、先頭行で繰り返し失敗することで、残りの有効な行がDLQに送られるまでブロックされ続ける問題(Head-of-Line Blocking / Poison Pill問題)が発生していました。

v1.2.2 では Smart Retry パターンを実装しました:

  • 各行を独立した try/catch ブロックで処理
  • エラーが発生しても後続行の処理を継続
  • バッチ終了後に集約エラーをスローして SQS リトライをトリガー
  • リトライ時、既に成功した行は DB の EQUAL 比較でスキップ(冪等性維持)
  • 永続的に失敗する行は SQS の最大リトライ後に DLQ へルーティング

アップグレード方法

npm install @mbc-cqrs-serverless/core@1.2.2
npm install @mbc-cqrs-serverless/import@1.2.2

関連リンク

Top