Actually, since there are already votes on this and the KIP has
changed a bit we should cancel this and start a new thread.

On Tue, Mar 24, 2015 at 12:19 PM, Jiangjie Qin
<j...@linkedin.com.invalid> wrote:
> Push up the thread for voting after discussion on the KIP hangout.
>
> On 3/19/15, 9:03 PM, "Jiangjie Qin" <j...@linkedin.com> wrote:
>
>>We had some additional discussions on the discussion thread. Pushing up
>>this thread to resume voting.
>>
>>On 3/11/15, 8:47 PM, "Jay Kreps" <jay.kr...@gmail.com> wrote:
>>
>>>Yeah guys, I'd like to second that. I'd really really love to get the
>>>quality of these to the point where we could broadly solicit user input
>>>and
>>>use them as a permanent document of the alternatives and rationale.
>>>
>>>I know it is a little painful to have process, but I think we all saw
>>>what
>>>happened to the previous clients as public interfaces so I really really
>>>really want us to just be incredibly thoughtful and disciplined as we
>>>make
>>>changes. I think we all want to avoid another "client rewrite".
>>>
>>>To second Joe's question in a more specific way, I think an alternative I
>>>don't see considered to give close() a bounded time is just to enforce
>>>the
>>>request time on the client side, which will cause all requests to be
>>>failed
>>>after the request timeout expires. This was the same behavior as for
>>>flush.
>>>In the case where the user just wants to ensure close doesn't block
>>>forever
>>>I think that may be sufficient?
>>>
>>>So one alternative might be to just do that request timeout feature and
>>>add
>>>a new producer config that is something like
>>>  abort.on.failure=false
>>>which causes the producer to hard exit if it can't send a request. Which
>>>I
>>>think is closer to what you want, with this just being a way to implement
>>>that behavior.
>>>
>>>I'm not sure if this is better or worse, but we should be sure before we
>>>make the change.
>>>
>>>I also have a concern about
>>>  producer.close(0, TimeUnit.MILLISECONDS)
>>>not meaning close with a timeout of 0 ms.
>>>
>>>I realize this exists in other java apis, but it is so confusing it even
>>>confused us into having that recent producer bug because of course all
>>>the
>>>other numbers mean "wait that long".
>>>
>>>I'd propose
>>>  close()--block until all completed
>>>  close(0, TimeUnit.MILLISECONDS)--block for 0 ms
>>>  close(5, TimeUnit.MILLISECONDS)--block for 5 ms
>>>  close(-1, TimeUnit.MILLISECONDS)--error because blocking for negative
>>>ms
>>>would mean completing in the past :-)
>>>
>>>-Jay
>>>
>>>On Wed, Mar 11, 2015 at 8:31 PM, Joe Stein <joe.st...@stealth.ly> wrote:
>>>
>>>> Could the KIP confluence please have updated the discussion thread
>>>>link,
>>>> thanks... could you also remove the template boilerplate at the top
>>>>"*This
>>>> page is meant as a template ..*" so we can capture it for the release
>>>> cleanly.
>>>>
>>>> Also I don't really/fully understand how this is different than
>>>> flush(time); close() and why close has its own timeout also?
>>>>
>>>> Lastly, what is the forceClose flag? This isn't documented in the
>>>>public
>>>> interface so it isn't clear how to completely use the feature just by
>>>> reading the KIP.
>>>>
>>>> ~ Joe Stein
>>>> - - - - - - - - - - - - - - - - -
>>>>
>>>>   http://www.stealth.ly
>>>> - - - - - - - - - - - - - - - - -
>>>>
>>>> On Wed, Mar 11, 2015 at 11:24 PM, Guozhang Wang <wangg...@gmail.com>
>>>> wrote:
>>>>
>>>> > +1 (binding)
>>>> >
>>>> > On Wed, Mar 11, 2015 at 8:10 PM, Jiangjie Qin
>>>><j...@linkedin.com.invalid
>>>> >
>>>> > wrote:
>>>> >
>>>> > >
>>>> > >
>>>> >
>>>>
>>>>https://cwiki.apache.org/confluence/display/KAFKA/KIP-15+-+Add+a+close+m
>>>>e
>>>>thod+with+a+timeout+in+the+producer
>>>> > >
>>>> > >
>>>> >
>>>> >
>>>> > --
>>>> > -- Guozhang
>>>> >
>>>>
>>
>

Reply via email to