I am writing a Kafka Sink Connector to Elasticsearch.
I implemented start, put, flush, close methods in SinkTask class.
But, I don't know what Kafka Sink Connector's behavior work exactly.
If Connect Worker repeatedly performs all of this task of getting the SinkRecord from the Kafka Broker via the put() method, processing it internally, and then sending the data to Elasticsearch, I wonder when offset commit is operated internally and it is associated with the flush() method.
Also, I wonder if the order of this repetitive work is fixed. For example, can flush or commit be done before put is finished?
I am developing a connect that receives data from a remote broker and puts data into the elasticsearch of another remote server. In this situation, we are testing what happens if the network of the server on which the connect is running is momentarily disconnected. I do not understand how Kafka Connect works.
If you know that messages can be lost or duplicated in this situation, please ask for explanation.
Thank you.