fluetndのBufferedOutput系プラグインは、書き込みを適当なchunkにまとめて処理をしつつ書き込みに失敗したらよしなにリトライしてくれる便利なやつです。ただ実際にBufferedOutputプラグインを自分が書くとなった時に挙動をちゃんと理解していなかったのでまとめ。 まとめを先に書くと以下。 書き込み処理であるwriteに失敗した場合は例外を投げる 正しくリトライ処理を行うため 書き込みの処理内容はatomicである必要がある 中途半端に書き込まれたりして結果としてデータが重複したりしないように 一度に書き込めるサイズを調整するためにbuffer_chunk_limit等を調整する Bufferedプラグインのリトライ処理に関してはBufferプラグインの概要に以下のように書かれています。 もしチャンクの書き出しに失敗した場合、チャンクはキューに残され、Fluentdは