Asakusa Framework Advent Calendar 2016の23日目です。
Asakusa on M3BPでは、各vertex(演算子)の出力バッファーサイズと1レコードの最大サイズ(バイト数)の関係も気にしないといけません。
出力バッファーの使用量が閾値を超えるとフラッシュされるのですが、フラッシュ直前までデータが入っている状態で残り容量より大きいサイズのレコードが来ると、バッファーに入れられず、例外が発生します。
デフォルトでは出力バッファーサイズは4MB、閾値はその0.8倍なので、レコードサイズが800kBを超える場合は注意が必要です。
(フラッシュ前のバッファー使用量にも依るので、運が良ければ大きなレコードを出力しようとしても落ちないのですが、バッチ処理で運に頼るのもどうかと(爆))
(てゆーか、1レコード800kBは結構大きい方だと思います。普通はそうそう超えないですよね^^;)