I'm a pretty wet-behind-the-ears Kafka user, but I really like it. I was up and running with the basics in just a few minutes (I use kafka-python - dunno if that makes a difference).
For my own nefarious reasons, I generally run with enable_auto_commit == False in my consumers. I'm just using Kafka's default commit capability, nothing more sophisticated so far. Is it okay to commit out-of-sequence, effectively allowing me to back up and replay messages? For example, if I receive offsets 12, 13, 14, and 15, committing as each is received, then some other external condition dictates that I should reprocess the message at offset 13 again, can I simply call ... commit(12) ... ? Similar, but maybe not as harsh, If I have some bit of long processing to do, can I just periodically commit the offset of the message I last processed to keep the kafka.errors.CommitFailedError timeout gods happy? Thanks, Skip Montanaro