Hey guys,
I have a question about the committing of messages in Kafka.
Kafka use a offset which is represented by a ascending number for a consumer group.
So the committing have to be done in correct order, right?
If I have three messages a,b,c and in this case a batch size of 1, then a need to commit a, then b and finish with c.
It is allowed to use a unordered operator such as mapAsyncUnordered?
In this example, the third line is the important part (process messages of one partition):
committablePartionedSource(..)
.mapAsyncUnordered(bufferSizer, pair -> pair.second()
.mapAsyncUnordered(buffer, business())
.runWith(commiterSink(),mat))
.toMat(Sink.ignore(), Keep.both())
.mapMaterializedValue(pair -> Consumer.createDrainingControl(pair))
.run(mat)
Is this process correct or break this the committing process of kafka?
Best
Sigurd