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

Joel Koshy updated KAFKA-353:
-----------------------------

    Attachment: kafka-353_v3.patch

Thanks for catch-21 :) Fixed that - (note that requiredAcks cannot be 0 in 
isSatisfied.)

For 22, turned out to be due to inconsistent default values for the producer 
config. Test passes now.

Re: Jay's comment. It is true that the requests that collectSatisfied returns 
will not go through expiration (by virtue of the satisfied guard). The issue is 
that the client needs to be aware that the call to expire and checkSatisfied 
can be simultaneous and so may need to synchronize on data structures that 
their implementations may access. So we can either synchronize on the purgatory 
or clearly document this. Personally, I'm leaning toward fixing it in purgatory 
because:
- if checkSatisfied is called (and it will return true), it seems we should 
consider the deadline to have been met (although this is not clear cut) so 
expiration should not proceed.
- it makes the purgatory a little harder to use as the client needs to be aware 
of the race condition.

                
> tie producer-side ack with high watermark and progress of replicas
> ------------------------------------------------------------------
>
>                 Key: KAFKA-353
>                 URL: https://issues.apache.org/jira/browse/KAFKA-353
>             Project: Kafka
>          Issue Type: Sub-task
>    Affects Versions: 0.8
>            Reporter: Jun Rao
>            Assignee: Joel Koshy
>         Attachments: kafka-353_v1.patch, kafka-353_v2.patch, 
> kafka-353_v2_to_v3.patch, kafka-353_v3.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to