From: Bartlomiej N. <ba...@ya...> - 2008-04-25 17:03:40
|
Ben, I think the best approach would be to support permanent watches, a feature which has been asked for since the very beginning... Not only would it cease the endless discussion of naming, but it would also provide a powerful feature ;-) Just a thought ;-) B. -----Original Message----- From: zoo...@li... [mailto:zoo...@li...] On Behalf Of Benjamin Reed Sent: Friday, April 25, 2008 8:48 AM To: zoo...@li... Subject: Re: [Zookeeper-user] [Bug?] Notification not guaranteed Naming and the semantics it implies can be an endless argument. Unless we call it a one time trigger I think people will think of SQL triggers which are not one time. (I'm not saying that watch is any better.) I agree about the java doc clarifications. I've been working on it since Ted brought it up, but I've been side tracked by the session loss bug. I'm hoping to finish up today. I'll make sure the javadoc emphasizes the way watches work. ben On Friday 25 April 2008 00:14:11 Patrick Hunt wrote: > Benjamin Reed wrote: > > This is really a key point for new users to understand, so any pointers > > on how we can clarify that page would be very helpful! > > Part of the issue may be the naming itself. For whatever reason I > associate "watch" with something long lived - not a "one time > notification" which I would associate more naturally with "trigger". > > I jumped in right way and started using the java client/server. The java > client javadoc in particular is not clear about watches being "one time > notifications". Would def help to fix the javadoc on this point. > > Patrick > > > ----- Original Message ---- > > From: Stefan Groschupf <sg...@10...> > > To: zoo...@li... > > Sent: Thursday, April 24, 2008 10:19:16 PM > > Subject: [Zookeeper-user] [Bug?] Notification not guaranteed > > > > Hi there, > > as far I understand notification is guaranteed for e.g. child creation. > > However I have a test that shows that randomly I do not get all > > notification I do expect. > > I basically create 10 child in /folder but only get 8 or 9 > > notifications back. > > However in case I add a Thread.sleep(50); between my child znode > > creation I always get 10 notifications. > > > > Is that a bug or an optimization, e.g. getting one notification for > > two new sub znode creations? > > Thanks for any hints. > > Stefan > > > > My code looks like this: > > > > TestMethod: > > > > public void testNotifications() throws Exception { > > KattaConfiguration conf = new KattaConfiguration(); > > Server server = new Server(conf); > > ZKClient client = new ZKClient(conf); > > MyListener listener = new MyListener(); > > String katta = "/katta"; > > if (client.exists(katta)) { > > client.deleteRecursiv(katta); > > } > > client.create(katta); > > client.subscribeChildChanges(katta, listener); > > for (int i = 0; i < 10; i++) { > > client.create(katta + "/" + i); > > // Thread.sleep(50); > > } > > Thread.sleep(1000); > > assertEquals(10, listener._counter); > > server.shutdown(); > > } > > > > Watcher process Method: > > > > public void process(WatcherEvent event) { > > synchronized (_mutex) { > > String path = event.getPath(); > > if (event.getType() == > > Watcher.Event.EventNodeChildrenChanged) { > > HashSet<IZKEventListener> listeners = > > _childListener.get(path); > > if (listeners != null) { > > for (IZKEventListener listener : listeners) { > > listener.process(event); > > } > > // re subscribe to event. > > try { > > _zk.getChildren(event.getPath(), true); > > } catch (Exception e) { > > for (IZKEventListener listener : listeners) { > > removeListener(path, listener); > > } > > Logger.warn("unable to re subscribe to child > > change notification", e); > > } > > } > > } > > } > > } > > > > > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > 101tec Inc. > > Menlo Park, California, USA > > http://www.101tec.com > > > > > > > > ------------------------------------------------------------------------ - > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j a > >vaone _______________________________________________ > > Zookeeper-user mailing list > > Zoo...@li... > > https://lists.sourceforge.net/lists/listinfo/zookeeper-user > > > > > > ------------------------------------------------------------------------ - > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j a > >vaone _______________________________________________ > > Zookeeper-user mailing list > > Zoo...@li... > > https://lists.sourceforge.net/lists/listinfo/zookeeper-user > > ------------------------------------------------------------------------ - > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j ava >one _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user ------------------------------------------------------------------------ - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j avaone _______________________________________________ Zookeeper-user mailing list Zoo...@li... https://lists.sourceforge.net/lists/listinfo/zookeeper-user |