[ https://issues.apache.org/jira/browse/KAFKA-1430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14160513#comment-14160513 ]
Jay Kreps commented on KAFKA-1430: ---------------------------------- Yes it was committed. > Purgatory redesign > ------------------ > > Key: KAFKA-1430 > URL: https://issues.apache.org/jira/browse/KAFKA-1430 > Project: Kafka > Issue Type: Improvement > Components: core > Affects Versions: 0.8.2 > Reporter: Jun Rao > Assignee: Guozhang Wang > Priority: Blocker > Fix For: 0.8.2 > > Attachments: KAFKA-1430.patch, KAFKA-1430.patch, KAFKA-1430.patch, > KAFKA-1430.patch, KAFKA-1430.patch, KAFKA-1430_2014-06-05_17:07:37.patch, > KAFKA-1430_2014-06-05_17:13:13.patch, KAFKA-1430_2014-06-05_17:40:53.patch, > KAFKA-1430_2014-06-10_11:22:06.patch, KAFKA-1430_2014-06-10_11:26:02.patch, > KAFKA-1430_2014-07-11_10:59:13.patch, KAFKA-1430_2014-07-21_12:53:39.patch, > KAFKA-1430_2014-07-25_09:52:43.patch, KAFKA-1430_2014-07-28_11:30:23.patch, > KAFKA-1430_2014-07-31_15:04:33.patch, KAFKA-1430_2014-08-05_14:54:21.patch > > > We have seen 2 main issues with the Purgatory. > 1. There is no atomic checkAndWatch functionality. So, a client typically > first checks whether a request is satisfied or not and then register the > watcher. However, by the time the watcher is registered, the registered item > could already be satisfied. This item won't be satisfied until the next > update happens or the delayed time expires, which means the watched item > could be delayed. > 2. FetchRequestPurgatory doesn't quite work. This is because the current > design tries to incrementally maintain the accumulated bytes ready for fetch. > However, this is difficult since the right time to check whether a fetch (for > regular consumer) request is satisfied is when the high watermark moves. At > that point, it's hard to figure out how many bytes we should incrementally > add to each pending fetch request. > The problem has been reported in KAFKA-1150 and KAFKA-703. -- This message was sent by Atlassian JIRA (v6.3.4#6332)