[ https://issues.apache.org/jira/browse/KAFKA-49?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13222975#comment-13222975 ]
Prashanth Menon commented on KAFKA-49: -------------------------------------- Sounds good to me. Doing some additional work on DefaultEventHandler, I noticed something off in the retry logic that I'd like to get confirmed. Consider the case where I've got data destined for more than one broker, say three. - Enter handleSerializedData() - Partioning and collating makes a map with three key/value pairs (broker -> topic partition data and messages). - Enter for loop - Assume the first send works on the first try for broker #1. - Next iteration, the second send to broker #2 fails on the first try, we fall into the retry loop and recursive into handleSerializedData with requiredRetries = 0. - In handleSerializedData - This time, the partitioned data will one one key/value pair for the single broker (broker #2) we're attempting to resend data to. - Enter for loop - Attempt to send data to broker #2, the send succeeds - We exhaust the map entries and the for loop condition. - We return to the retry loop for retry=1 on broker #2 in the catch block. - The previous send succeeded on first try and now there's the "return" statement. This exists the function, but we have one more broker (broker #3) to send data to. Does the flow sound about right? I think what needs to happen is to set a flag and break the retry while loop after a successful retry. Then we check the flag after the loop and either throw the exception or continue the outer for loop. Am I crazy? Am I missing something in my sleep-deprived state here? > Add acknowledgement to the produce request. > ------------------------------------------- > > Key: KAFKA-49 > URL: https://issues.apache.org/jira/browse/KAFKA-49 > Project: Kafka > Issue Type: Bug > Reporter: Jun Rao > Assignee: Prashanth Menon > > Currently, the produce request doesn't get acknowledged. We need to have a > broker send a response to the producer and have the producer wait for the > response before sending the next request. -- 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