Thanks Jun, that answers my question. I'll see if we can find some time to work on these.
/Sam On Apr 29, 2014, at 5:24 PM, Jun Rao (JIRA) <j...@apache.org> wrote: > Jun Rao created KAFKA-1430: > ------------------------------ > > Summary: 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 > > > 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 KAFAK-1150 and KAFKA-703. > > > > -- > This message was sent by Atlassian JIRA > (v6.2#6252)