Suppose I'm iterating through messages from a topic with 6 messages. I consume message three messages and then commit (or an auto-commit happens).
I'm wondering what offset is committed here. Is it the beginning of message 3 or the end of message 3?
I'm particularly curious about what happens if I'm consuming messages and a commit occurs, but then something goes wrong and I fail to process that message (whatever "process" means here). Ideally, if I commit in the above scenario and then my consumer dies, the consumers will rebalance and someone else will pick up message 3. Is this what happens?
This also leads me to ponder about corrupt messages and retries and skipping "bad" messages...