kafka-sink
kafka-sink copied to clipboard
Order of records inserted into Cassandra are not same as in the kafka topic
Hello,
The messages are received on kafka topic in correct order. Ex: msg1, msg2, msg3, msg4, etc Each of these messages are transformed into Cassandra Insert query and are enqueued using mapAndQueueRecord to statements queue. The connector property "tasks.max" is set to 1. But still in the logs I see the insert operations are done in parallel by multiple threads in the connector pod. Example logs:
{"log_timestamp":"2022-10-18 05:01:05,570","log_message":"statement = INSERT INTO table VALUES values (cache-size 1)","log_level":"DEBUG","thread_name":"mapping-1","thread_id":"mapping-1id","action_name":"map","method":"map","process_id":"","process_name":"","file":"File.java","line":"123"} {"log_timestamp":"2022-10-18 05:01:05,570","log_message":"statement = INSERT INTO table VALUES values","log_level":"DEBUG","thread_name":"mapping-4","thread_id":"mapping-4id","action_name":"map","method":"map","process_id":"","process_name":"","file":"File.java","line":"123"} {"log_timestamp":"2022-10-18 05:01:05,569","log_message":"Ignoring field key.__self","log_level":"DEBUG","thread_name":"mapping-2","thread_id":"mapping-2id","action_name":"populateFieldsFromRecord","method":"populateFieldsFromRecord","process_id":"","process_name":"","file":"AlarmsRecordMapper.java","line":"261"} {"log_timestamp":"2022-10-18 05:01:05,570","log_message":"statement = INSERT INTO table VALUES values ","log_level":"DEBUG","thread_name":"mapping-3","thread_id":"mapping-3id","action_name":"map","method":"map","process_id":"","process_name":"","file":"File.java","line":"123"} {"log_timestamp":"2022-10-18 05:01:05,570","log_message":"statement = INSERT INTO table VALUES values (cache-size 1)","log_level":"DEBUG","thread_name":"mapping-6","thread_id":"mapping-6id","action_name":"map","method":"map","process_id":"","process_name":"","file":"File.java","line":"123"}
I expect the inserts to be done in same order as received in the Kafka Topic. But its not the case. The inserts are happening in parallel out of order. Is there some configuration I am missing ?
+1