Hey Alexey,

Asynchronous commit handling could probably be improved quite a bit.
Basically what's happening is that the client's send buffer is getting
filled up, which causes the subsequent commits to fail with
SendFailedException. We don't currently implement any retrying for
asynchronous commits, so even transient failures get bubbled up to the
user. This is.. unfortunate. We probably can implement some retry logic,
but we need to be careful careful about preserving the commit order. Maybe
this is as simple as adding sequence numbers for each partition. I haven't
thought it all the way through, but you're welcome to open a JIRA if you
think it would be helpful.

For now, the easiest way to mitigate the problem is probably to batch the
commits into a single call to commitAsync(). Would that work for you?

-Jason

On Mon, Mar 14, 2016 at 8:18 AM, Alexey Romanchuk <
alexey.romanc...@gmail.com> wrote:

> Hi all!
>
> I am using new client 0.9.0.1.
>
> I found that when I call commitAsync multiple times before calling poll
> most of commits failed with SendFailedException.
>
> Here it is an example of code -
> https://gist.github.com/13h3r/42633bcd64b80ddffe6b
>
> Could you please explain commitAsync in more details?
>
> What is wrong with calling commitAsync multiple times? Should I call poll
> immediate after calling commitAsync? Should I precalculate offsets for
> multiple commits for every topic/partition to minimize number of offsets?
>
> Thanks!
>

Reply via email to