TL;DR
Is ILM compatible with at-least-once-delivery / deduplication / idempotence?
Longer version..
I routinely use a fingerprint
filter combined with the elasticsearch output's document_id
setting for at-least-once delivery.
Using named indices (with date math), this had some nice properties, especially around the ability to replay logs in the event of partial ingest or changed processing logic, without worrying about duplicates ending up in my indices. There was always a maximum of one document for any given _id
, and the same source data always ended up in the same ES index.
But now that I'm moving to ILM, this no longer works, because I can't rely on the document going into the same index.
Is this just a known limitation that I have to accept and deal with? Or is there a way to make the elasticsearch output quasi-idempotent even with ILM enabled?