Hi Jay, How about adding timeout for each method calls flush(timeout,TimeUnit) and close(timeout,TimeUNIT) ? We had runway io thread issue and caller thread should not blocked for ever for these methods ?
Thanks, Bhavesh On Sun, Feb 8, 2015 at 12:18 PM, Jay Kreps <jay.kr...@gmail.com> wrote: > Well actually in the case of linger.ms = 0 the send is still asynchronous > so calling flush() blocks until all the previously sent records have > completed. It doesn't speed anything up in that case, though, since they > are already available to send. > > -Jay > > On Sun, Feb 8, 2015 at 10:36 AM, Gwen Shapira <gshap...@cloudera.com> > wrote: > > > Looks good to me. > > > > I like the idea of not blocking additional sends but not guaranteeing > that > > flush() will deliver them. > > > > I assume that with linger.ms = 0, flush will just be a noop (since the > > queue will be empty). Is that correct? > > > > Gwen > > > > On Sun, Feb 8, 2015 at 10:25 AM, Jay Kreps <jay.kr...@gmail.com> wrote: > > > > > Following up on our previous thread on making batch send a little > easier, > > > here is a concrete proposal to add a flush() method to the producer: > > > > > > > > > > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-8+-+Add+a+flush+method+to+the+producer+API > > > > > > A proposed implementation is here: > > > https://issues.apache.org/jira/browse/KAFKA-1865 > > > > > > Thoughts? > > > > > > -Jay > > > > > >