[
https://issues.apache.org/jira/browse/KAFKA-2123?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jason Gustafson updated KAFKA-2123:
-----------------------------------
Attachment: KAFKA-2123_2015-07-13_18:45:08.patch
> Make new consumer offset commit API use callback + future
> ---------------------------------------------------------
>
> Key: KAFKA-2123
> URL: https://issues.apache.org/jira/browse/KAFKA-2123
> Project: Kafka
> Issue Type: Sub-task
> Components: clients, consumer
> Reporter: Ewen Cheslack-Postava
> Assignee: Ewen Cheslack-Postava
> Priority: Critical
> Fix For: 0.8.3
>
> Attachments: KAFKA-2123.patch, KAFKA-2123.patch,
> KAFKA-2123_2015-04-30_11:23:05.patch, KAFKA-2123_2015-05-01_19:33:19.patch,
> KAFKA-2123_2015-05-04_09:39:50.patch, KAFKA-2123_2015-05-04_22:51:48.patch,
> KAFKA-2123_2015-05-29_11:11:05.patch, KAFKA-2123_2015-07-11_17:33:59.patch,
> KAFKA-2123_2015-07-13_18:45:08.patch
>
>
> The current version of the offset commit API in the new consumer is
> void commit(offsets, commit type)
> where the commit type is either sync or async. This means you need to use
> sync if you ever want confirmation that the commit succeeded. Some
> applications will want to use asynchronous offset commit, but be able to tell
> when the commit completes.
> This is basically the same problem that had to be fixed going from old
> consumer -> new consumer and I'd suggest the same fix using a callback +
> future combination. The new API would be
> Future<Void> commit(Map<TopicPartition, Long> offsets, ConsumerCommitCallback
> callback);
> where ConsumerCommitCallback contains a single method:
> public void onCompletion(Exception exception);
> We can provide shorthand variants of commit() for eliding the different
> arguments.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)