Hello @John.
Thank you for answering my post. I don't know if I got what you said but the fact is:
I need to check current timestamp against Druid timestamp in ingestion time. It cannot work because it isn't idempotent, if you check the functions you can use during Kafka ingestion, you won't find now() or CURRENT_TIMESTAMP listed there because it cannot guarantee idempotency during ingestion (Guarantee that everything that kafka sends is the same druid receives) as discussed in this link:
https://github.com/apache/druid/issues/6513
I was trying to find a workaround. I thought about:
1. creating a supervisor for each kind of data. In real time, almost real time and late.
ISSUE: Each datasource can have only one Supervisor
2. I thought about creating a supervisor for in real time and then create tasks that ingest old data, but it seems you cannot ingest from Kafka out of the box
In a nutshell I am searching for a good approach. Now for lack of options I am going to used Kafka produce timestamp to do the job but it's totally wrong.
Kafka concept is to keep the message and guarantee it won't be lost in when you lose connection, that means when you lose connection with Druid and then you are able to send data it will you produce timestamp to check, so it will never be late since produce timestamp is simillar with register timestamp. The delay happened between Kafka and Druid. It's not a good approach.
Br,
Henrique Martins