[ 
https://issues.apache.org/jira/browse/KAFKA-2123?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ewen Cheslack-Postava updated KAFKA-2123:
-----------------------------------------
    Status: In Progress  (was: Patch Available)

Uploaded a patch to get some feedback, but it's WIP with some known issues:

1. Doesn't handle retries. The easy infinite looping that used to work doesn't 
work in this context.
2. Because of the lack of retries there are a couple of tests that can fail 
transiently (e.g. consumer bounce tests).
3. I've only gotten the existing tests back into functional shape. The exact 
set will probably depend on how we decide to handle retries.

> 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: Improvement
>          Components: clients, consumer
>            Reporter: Ewen Cheslack-Postava
>            Assignee: Ewen Cheslack-Postava
>             Fix For: 0.8.3
>
>         Attachments: KAFKA-2123.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)

Reply via email to