HI Kevin, We have a single threaded c client in which the application needs to call the zookeeper_process to process the events. What we noticed is that all the users who are using it, have problems using it and would like to get rid of it (only if they we not running on bsd). So, the events being dispacthed by the event thread makes it easeir for the users to use zookeeper. We do assume that they do minimum work in the process method. We sould probably document this (if its not yet)... The huge backlog is a problem for the clients and they should be aware that doing any complex operations in the process method is asking for trouble.
Hope this helps. mahadev On 1/4/09 12:23 PM, "Kevin Burton" <bur...@spinn3r.com> wrote: > It looks like events from Zookeeper are dispatches from its event thread: > java.lang.Exception > at foo.zookeeper.WatcherImpl.process(NodeWatcher.java:54) > at > org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:349) > > ... it seems like a good idea to have implementations perform work in their > own thread to avoid zookeeper from hitting backlog if one client decides to > perform some complex operation in one event when there are hundreds of > events pending delivery. > > Kevin