0
BufferedOutputプラグインで write(chunk)
が例外をスローした場合、またはチャンクを処理しているときにフルードプロセスが終了した場合は、キューには入っていますが、それは、フルート再起動後にクラッシュが再度処理される前に処理されたイベント/レコードを意味しますか?Fluentd BufferedOutput write(chunk)処理イベントを正確に1回処理する方法
この場合、write(chunk)
は「正確に1回の処理」のためにアトミックでなければなりません。次に、目的のためにfilterstream-methodセクションに書かれたメソッドhereは良いですか?すなわち、MultiEventStream
のイベントは原子的に処理されていますか?
すぐにお返事ありがとうございます。私は、 'write(chunk)'が少なくとも一度はチャンクの処理を保証していることを知っていますが、問題は私がチャンクのイベントを何度も処理したくないということです。 'write(chunk)'が処理中で、すでにいくつかのデータを宛先に送っている時間 – pterodragon
イベントを変更するには、フィルタが冪等でなければならないという考えがあります。しかし、私は、 '書き込み(チャンク)'が宛先に突然変異したデータ(チャンク内)を原子的に送信したことを確認する方法があるかどうかを尋ねたいと思います。(失敗または成功;データの半分しか送信せず、チャンク) – pterodragon
これを行うには唯一の方法があります - 再書き込みせずに 'write'ですべての例外をキャッチしてください。 –