[ https://issues.apache.org/jira/browse/KAFKA-1144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13833359#comment-13833359 ]
Joel Koshy commented on KAFKA-1144: ----------------------------------- I agree that this is a useful feature. It may be worthwhile to get KAFKA-1000 completed first since I think it will simplify this patch. Also, by then we should have a much clearer picture on 0.9 which is still under design/discussion. > commitOffsets can be passed the offsets to commit > ------------------------------------------------- > > Key: KAFKA-1144 > URL: https://issues.apache.org/jira/browse/KAFKA-1144 > Project: Kafka > Issue Type: Improvement > Components: consumer > Affects Versions: 0.8 > Reporter: Imran Rashid > Assignee: Neha Narkhede > Attachments: > 0001-allow-committing-of-arbitrary-offsets-to-facilitate-.patch, > 0002-add-protection-against-backward-commits.patch, > 0003-dont-do-conditional-update-check-if-the-path-doesnt-.patch > > > This adds another version of commitOffsets that takes the offsets to commit > as a parameter. > Without this change, getting correct user code is very hard. Despite kafka's > at-least-once guarantees, most user code doesn't actually have that > guarantee, and is almost certainly wrong if doing batch processing. Getting > it right requires some very careful synchronization between all consumer > threads, which is both: > 1) painful to get right > 2) slow b/c of the need to stop all workers during a commit. > This small change simplifies a lot of this. This was discussed extensively on > the user mailing list, on the thread "are kafka consumer apps guaranteed to > see msgs at least once?" > You can also see an example implementation of a user api which makes use of > this, to get proper at-least-once guarantees by user code, even for batches: > https://github.com/quantifind/kafka-utils/pull/1 > I'm open to any suggestions on how to add unit tests for this. -- This message was sent by Atlassian JIRA (v6.1#6144)