You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(26) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(5) |
Feb
(1) |
Mar
|
Apr
(71) |
May
(22) |
Jun
(47) |
Jul
(32) |
Aug
(18) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Avinash L. <avi...@gm...> - 2008-06-06 15:57:36
|
These are sequence of interactions with ZooKeeper: (1) Instantiate Zookeeper and perform the checks for a bunch of znodes. All this works as expected. (2) Spawn a thread which tries to perform leader election. This is where I am trying to create the znode with the sequence numbers. I am assuming that the client connected successfully because the checks in step 1 went through fine. Also I have Zookeeper run in a cluster of 5 nodes which are all in the same rack and in the same data center. Another question I have is if I set the seesion timeout parameter to 5000 ms in the ZooKeeper ctor does that mean my session is invalidated after 5000 ms or is kept alive after every 5000 ms. What is the significance of the session timeout parameter? Thanks Avinash On Fri, Jun 6, 2008 at 1:55 AM, Flavio Junqueira <fpj...@ya...> wrote: > It could be because your client has not connected properly to a ZooKeeper > server. Have you taken a look at the logs on the server side to make sure > that a session has been created? Could you give me a little more detail > about your setup? > > -Flavio > > > ----- Original Message ---- > From: Avinash Lakshman <avi...@gm...> > To: zoo...@li... > Sent: Friday, June 6, 2008 10:49:16 AM > Subject: [Zookeeper-user] create() failure > > When I do execute the folloiwing code : > > String pathCreated = zk.create(createPath, new byte[0], > Ids.OPEN_ACL_UNSAFE, (CreateFlags.SEQUENCE | CreateFlags.EPHEMERAL) ); > > > It seems to fail silently w/o reporting any errors. I mean I have a log > statement after this line which never shows up. However it works if I > execute it via the debugger. Any ideas as to what might be happening? > > Thanks > A > > |
From: Flavio J. <fpj...@ya...> - 2008-06-06 08:55:12
|
It could be because your client has not connected properly to a ZooKeeper server. Have you taken a look at the logs on the server side to make sure that a session has been created? Could you give me a little more detail about your setup? -Flavio ----- Original Message ---- From: Avinash Lakshman <avi...@gm...> To: zoo...@li... Sent: Friday, June 6, 2008 10:49:16 AM Subject: [Zookeeper-user] create() failure When I do execute the folloiwing code : String pathCreated = zk.create(createPath, new byte[0], Ids.OPEN_ACL_UNSAFE, (CreateFlags.SEQUENCE | CreateFlags.EPHEMERAL) ); It seems to fail silently w/o reporting any errors. I mean I have a log statement after this line which never shows up. However it works if I execute it via the debugger. Any ideas as to what might be happening? Thanks A |
From: Avinash L. <avi...@gm...> - 2008-06-06 08:49:08
|
When I do execute the folloiwing code : String pathCreated = zk.create(createPath, new byte[0], Ids.OPEN_ACL_UNSAFE, (CreateFlags.SEQUENCE | CreateFlags.EPHEMERAL) ); It seems to fail silently w/o reporting any errors. I mean I have a log statement after this line which never shows up. However it works if I execute it via the debugger. Any ideas as to what might be happening? Thanks A |
From: Patrick H. <ph...@gm...> - 2008-06-05 18:52:07
|
I entered a bug based on your feedback: http://sourceforge.net/tracker/index.php?func=detail&aid=1985723&group_id=209147&atid=1008544 Your WatcherImpl process method will be called for both Node events as well as State change events. In this case you are probably being called for the transition to connected state. See this example of processing watch events: http://zookeeper.wiki.sourceforge.net/ZooKeeperJavaExample Second parameter is session timeout in milliseconds. See the javadoc for the zookeeper class * To create a client(ZooKeeper) object, the application needs to pass a string * containing a list of host:port pairs, each corresponding to a ZooKeeper * server; a sessionTimeout; and an object of Watcher type. See com.yahoo.zookeeper.Watcher.Event for list of possible state transitions (disconnected/expired/etc...). Patrick Avinash Lakshman wrote: > I have the following two of code: > > ZooKeeper zk = new ZooKeeper("cassandra001.snc1.facebook.com:5001 > <http://cassandra001.snc1.facebook.com:5001>", 5000, new > WatcherImpl()); > Stat stat = zk.exists("/", false); > > I set my breakpoint at the second line and I see output from the > invocation of the process() implemented in the WatcherImpl class. My > question is why is the process() being invoked on creation of the > ZooKeeper object? Also what is the purpose of the second parameter in > the ZooKeeper ctor? Does it have anything to for failure detection ofthe > client connected to the ZooKeeper server? > > Thanks in advance > Avinash > > > On Thu, Jun 5, 2008 at 10:49 AM, Avinash Lakshman > <avi...@gm... <mailto:avi...@gm...>> wrote: > > That would be awesome. This allows IMHO a cleaner design with > respect to handling of events. I must add that this is a great piece > of software though. Tremendous job in putting this together. > > Regards > A > > > On Thu, Jun 5, 2008 at 8:44 AM, Benjamin Reed <br...@ya... > <mailto:br...@ya...>> wrote: > > As of the latest release the same watcher will be called for all > events. The > event callback includes the path of the znode that changed, > which is how you > can distinguish events. > > In the next major release, we will be allowing a watch object to > be passed to > the requests to make it easier for programmers to control what > is going to be > invoked with the watch event arrives. > > ben > > On Thursday 05 June 2008 00:15:54 Avinash Lakshman wrote: > > Hi All > > > > I am trying to get my feet wet with Zookeeper. I am trying to > set up watch > > events for a call to getChildren() for a particular znode. My > question is > > whether the same watcher that the ZooKeeper instance was > constructed with > > going to be called for all watch events. If so how do I know > for what event > > it is being called. > > > > Thanks > > A > > > > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > > > ------------------------------------------------------------------------ > > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Avinash L. <avi...@gm...> - 2008-06-05 18:05:12
|
I have the following two of code: ZooKeeper zk = new ZooKeeper("cassandra001.snc1.facebook.com:5001", 5000, new WatcherImpl()); Stat stat = zk.exists("/", false); I set my breakpoint at the second line and I see output from the invocation of the process() implemented in the WatcherImpl class. My question is why is the process() being invoked on creation of the ZooKeeper object? Also what is the purpose of the second parameter in the ZooKeeper ctor? Does it have anything to for failure detection ofthe client connected to the ZooKeeper server? Thanks in advance Avinash On Thu, Jun 5, 2008 at 10:49 AM, Avinash Lakshman < avi...@gm...> wrote: > That would be awesome. This allows IMHO a cleaner design with respect to > handling of events. I must add that this is a great piece of software > though. Tremendous job in putting this together. > > Regards > A > > > On Thu, Jun 5, 2008 at 8:44 AM, Benjamin Reed <br...@ya...> wrote: > >> As of the latest release the same watcher will be called for all events. >> The >> event callback includes the path of the znode that changed, which is how >> you >> can distinguish events. >> >> In the next major release, we will be allowing a watch object to be passed >> to >> the requests to make it easier for programmers to control what is going to >> be >> invoked with the watch event arrives. >> >> ben >> >> On Thursday 05 June 2008 00:15:54 Avinash Lakshman wrote: >> > Hi All >> > >> > I am trying to get my feet wet with Zookeeper. I am trying to set up >> watch >> > events for a call to getChildren() for a particular znode. My question >> is >> > whether the same watcher that the ZooKeeper instance was constructed >> with >> > going to be called for all watch events. If so how do I know for what >> event >> > it is being called. >> > >> > Thanks >> > A >> >> >> > |
From: Avinash L. <avi...@gm...> - 2008-06-05 17:49:07
|
That would be awesome. This allows IMHO a cleaner design with respect to handling of events. I must add that this is a great piece of software though. Tremendous job in putting this together. Regards A On Thu, Jun 5, 2008 at 8:44 AM, Benjamin Reed <br...@ya...> wrote: > As of the latest release the same watcher will be called for all events. > The > event callback includes the path of the znode that changed, which is how > you > can distinguish events. > > In the next major release, we will be allowing a watch object to be passed > to > the requests to make it easier for programmers to control what is going to > be > invoked with the watch event arrives. > > ben > > On Thursday 05 June 2008 00:15:54 Avinash Lakshman wrote: > > Hi All > > > > I am trying to get my feet wet with Zookeeper. I am trying to set up > watch > > events for a call to getChildren() for a particular znode. My question is > > whether the same watcher that the ZooKeeper instance was constructed with > > going to be called for all watch events. If so how do I know for what > event > > it is being called. > > > > Thanks > > A > > > |
From: Benjamin R. <br...@ya...> - 2008-06-05 15:44:53
|
As of the latest release the same watcher will be called for all events. The event callback includes the path of the znode that changed, which is how you can distinguish events. In the next major release, we will be allowing a watch object to be passed to the requests to make it easier for programmers to control what is going to be invoked with the watch event arrives. ben On Thursday 05 June 2008 00:15:54 Avinash Lakshman wrote: > Hi All > > I am trying to get my feet wet with Zookeeper. I am trying to set up watch > events for a call to getChildren() for a particular znode. My question is > whether the same watcher that the ZooKeeper instance was constructed with > going to be called for all watch events. If so how do I know for what event > it is being called. > > Thanks > A |
From: Benjamin R. <br...@ya...> - 2008-06-05 15:39:40
|
I've updated the wiki page to document these members: http://zookeeper.wiki.sourceforge.net/ZooKeeperDataModel From the wiki: * czxid - The zxid of the change that caused this znode to be created. * mzxid - The zxid of the change that last modified this znode. * ctime - The time in milliseconds from epoch when this znode was created. * mtime - The time in milliseconds from epoch when this znode was last modified. * version - The number of changes to the data of this znode. * cversion - The number of changes to the children of this znode. * aversion - The number of changes to the ACL of this znode. * ephemeralOwner - The session id of the owner of this znode if the znode is an ephemeral node. If it is not an ephemeral node, it will be zero. ben On Wednesday 04 June 2008 16:43:25 Shane Mingins wrote: > Hi > > I am looking for some docs (if they exist) otherwise info on the > attributes in the generated Stat class > > private long czxid; > private long mzxid; > private long ctime; > private long mtime; > private int version; > private int cversion; > private int aversion; > private long ephemeralOwner; > > I cannot determine what exactly each are. > > Thanks > Shane > > > > Shane Mingins > ELC Technologies (TM) > 1921 State Street > Santa Barbara, CA 93101 > > > Phone: +64 4 568 6684 > Mobile: +64 21 435 586 > Email: smi...@el... > AIM: ShaneMingins > Skype: shane.mingins > > (866) 863-7365 Tel - Santa Barbara Office > (866) 893-1902 Fax - Santa Barbara Office > > +44 020 7504 1346 Tel - London Office > +44 020 7504 1347 Fax - London Office > > http://www.elctech.com > > -------------------------------------------------------------------- > Privacy and Confidentiality Notice: > The information contained in this electronic mail message is intended > for the named recipient(s) only. It may contain privileged and > confidential information. If you are not an intended recipient, you > must not copy, forward, distribute or take any action in reliance on > it. If you have received this electronic mail message in > > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Flavio J. <fpj...@ya...> - 2008-06-05 09:49:56
|
Avinash, When you create a ZooKeeper object, you have to pass an object that implements the Watcher interface. This interface basically defines a method "process(WatcherEvent)" that your object has to implement. Unless you change it with the method "ZooKeeper.register(Watcher w)", a call back due to a watch event is an invocation to the "process()" method of the initial object. The process() method receives a parameter of type WatcherEvent, which has three fields: type, state, and path. Please take a look at Watcher.java for types and states. I think the path field is obvious. Let me know if you have any trouble figuring this out. Also, I know that there is information missing there, but please consider taking a look at our wiki page: http://zookeeper.wiki.sourceforge.net/ZooKeeperWatches and let us know if you have comments on how to improve it. Thanks, -Flavio ----- Original Message ---- From: Avinash Lakshman <avi...@gm...> To: zoo...@li... Sent: Thursday, June 5, 2008 9:15:54 AM Subject: [Zookeeper-user] Watch event handlers Hi All I am trying to get my feet wet with Zookeeper. I am trying to set up watch events for a call to getChildren() for a particular znode. My question is whether the same watcher that the ZooKeeper instance was constructed with going to be called for all watch events. If so how do I know for what event it is being called. Thanks A |
From: Avinash L. <avi...@gm...> - 2008-06-05 07:15:48
|
Hi All I am trying to get my feet wet with Zookeeper. I am trying to set up watch events for a call to getChildren() for a particular znode. My question is whether the same watcher that the ZooKeeper instance was constructed with going to be called for all watch events. If so how do I know for what event it is being called. Thanks A |
From: Patrick H. <ph...@gm...> - 2008-06-05 00:36:16
|
Seems we don't have documentation for this, I looked in both the api docs and the wiki. I have created a bug for us to add this: https://sourceforge.net/tracker/index.php?func=detail&aid=1984955&group_id=209147&atid=1008544 in the mean time: > private long czxid; created zxid > private long mzxid; last modified zxid > private long ctime; created time > private long mtime; last modified time > private int version; current version > private int cversion; child list version > private int aversion; acl list version > private long ephemeralOwner; client id of the owner (if this is ephemeral node, 0 otw) zxid is the transaction id times are in milliseconds (java System.currentTimeMillis()) version is incremented on each change (initalized to 0) Regards, Patrick > > > Shane Mingins > ELC Technologies (TM) > 1921 State Street > Santa Barbara, CA 93101 > > > Phone: +64 4 568 6684 > Mobile: +64 21 435 586 > Email: smi...@el... > AIM: ShaneMingins > Skype: shane.mingins > > (866) 863-7365 Tel - Santa Barbara Office > (866) 893-1902 Fax - Santa Barbara Office > > +44 020 7504 1346 Tel - London Office > +44 020 7504 1347 Fax - London Office > > http://www.elctech.com > > -------------------------------------------------------------------- > Privacy and Confidentiality Notice: > The information contained in this electronic mail message is intended > for the named recipient(s) only. It may contain privileged and > confidential information. If you are not an intended recipient, you > must not copy, forward, distribute or take any action in reliance on > it. If you have received this electronic mail message in > > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Shane M. <smi...@el...> - 2008-06-04 23:43:24
|
Hi I am looking for some docs (if they exist) otherwise info on the attributes in the generated Stat class private long czxid; private long mzxid; private long ctime; private long mtime; private int version; private int cversion; private int aversion; private long ephemeralOwner; I cannot determine what exactly each are. Thanks Shane Shane Mingins ELC Technologies (TM) 1921 State Street Santa Barbara, CA 93101 Phone: +64 4 568 6684 Mobile: +64 21 435 586 Email: smi...@el... AIM: ShaneMingins Skype: shane.mingins (866) 863-7365 Tel - Santa Barbara Office (866) 893-1902 Fax - Santa Barbara Office +44 020 7504 1346 Tel - London Office +44 020 7504 1347 Fax - London Office http://www.elctech.com -------------------------------------------------------------------- Privacy and Confidentiality Notice: The information contained in this electronic mail message is intended for the named recipient(s) only. It may contain privileged and confidential information. If you are not an intended recipient, you must not copy, forward, distribute or take any action in reliance on it. If you have received this electronic mail message in |
From: Haijun C. <ha...@ki...> - 2008-06-04 05:51:51
|
test |
From: Patrick H. <ph...@gm...> - 2008-05-30 21:15:18
|
That does seem unusual - I entered a bug and assigned to Ben for feedback. http://sourceforge.net/tracker/index.php?func=detail&aid=1979772&group_id=209147&atid=1008544 Thanks, Patrick Shane Mingins wrote: > Hi > > I was looking through the source code and I was just wondering about > the connection states defined in Watcher .... > > final public static int KeeperStateChanged = 0; > > final public static int KeeperStateUnknown = -1; > > final public static int KeeperStateDisconnected = 0; > > final public static int KeeperStateNoSyncConnected = 1; > > final public static int KeeperStateSyncConnected = 3; > > public static final int KeeperStateExpired = -112; > > > And why there are too constants set to 0? I could not find a usage > for the constant KeeperStateChanged just quickly using the find usage > option in IntelliJ. > > It's been a while since I have been actively doing any Java dev so > maybe I am just missing the obvious? I am developing a JRuby api for > ZooKeeper and was just logging the states from events in a watcher > when I came across this. > > Thanks > Shane > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Chen Z. <cz...@gm...> - 2008-05-30 01:22:10
|
Hello, I was wondering whether ZooKeeper includes Paxos in its code. Can you tell me which part of the code is about the Paxos? Maybe ZooKeeper may provide a good chance for people to see how to implement Paxos correctly and efficiently. Thank you. |
From: Shane M. <smi...@el...> - 2008-05-29 23:30:51
|
Hi I was looking through the source code and I was just wondering about the connection states defined in Watcher .... final public static int KeeperStateChanged = 0; final public static int KeeperStateUnknown = -1; final public static int KeeperStateDisconnected = 0; final public static int KeeperStateNoSyncConnected = 1; final public static int KeeperStateSyncConnected = 3; public static final int KeeperStateExpired = -112; And why there are too constants set to 0? I could not find a usage for the constant KeeperStateChanged just quickly using the find usage option in IntelliJ. It's been a while since I have been actively doing any Java dev so maybe I am just missing the obvious? I am developing a JRuby api for ZooKeeper and was just logging the states from events in a watcher when I came across this. Thanks Shane |
From: Juan R. <Jua...@Su...> - 2008-05-29 12:22:45
|
Benjamin Reed wrote: > It is supported. We run a lot of unit tests that way. Is it possible that the > machine is simply getting overloaded. (Especially with respect to disk > activity?) You have a rather large timeout, so the machine would really need > to be getting swamped. Hi, Ben. I'd be very surprised if the machine is getting swamped. I verified this and mpstat shows 98% idle time on both CPUs in the machine. Running the iotop DTrace script shows only two processes making disk access within each sampling interval, one of them being ZooKeeper. The disk access time is at most 30ms for ZooKeeper, same for the other processes, which computes to 0% (very low) disk utilization for each sampling interval. I will try to debug the single-machine case further if I get a chance. I started there because I thought it would be the quickest way to try ZooKeeper out. Turns out deploying it in clustered mode onto 5 virtual hosts got me there quicker. I see no problems in that scenario. To provide a bit of context, I was working on a locking/leader election service for use by applications needing such a service on our research cloud computing platform (https://wwww.projectcaroline.net). Someone in the team pointed me to ZooKeeper and rather than reinvent the wheel, I am trying to see if we can use ZooKeeper "out-of-the-box". So far it seems to fit the bill. Given none of the deployment scenarios we have involve client and service on the same host (in fact, such a deployment is not possible in our platform), the exceptions I see when running client and service on the same machine are not an impediment. I am curious about them, so I will probably investigate further as time permits. Thanks again for your help. Regards, Juan > > ben > > On Friday 23 May 2008 13:00:02 Juan Ramirez wrote: >> A piece of info I left out which appears to be relevant is that I was >> running the standalone server and its client on the same machine. >> Perhaps this is not supported? I am not seeing the problem in a >> clustered deployment with 5 zookeeper instances. >> >> Thanks, >> >> Juan >> >> Juan Ramirez wrote: >>> Mahadev Konar wrote: >>>> Hi Juan, >>>> Can you tell us what you are doing in your client code and when you >>>> see this problem? >>> Hi, Mahadev. It seems to happen when attempting to create a new node. >>> Might be a timing issue because it does not happen all the time. The >>> client code where this happens is quite simple: >>> >>> if (keeper.exists(path, false) == null) { >>> file = keeper.create(path, "hello".getBytes(), >>> ZooDefs.Ids.OPEN_ACL_UNSAFE, flags); >>> >>> >You are running with a standalone zookeeper server >>>> right? >>> Correct. >>> >>> Thanks, >>> >>> Juan >>> >>> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by: Microsoft >>> Defy all challenges. Microsoft(R) Visual Studio 2008. >>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >>> _______________________________________________ >>> Zookeeper-user mailing list >>> Zoo...@li... >>> https://lists.sourceforge.net/lists/listinfo/zookeeper-user >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by: Microsoft >> Defy all challenges. Microsoft(R) Visual Studio 2008. >> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ >> _______________________________________________ >> Zookeeper-user mailing list >> Zoo...@li... >> https://lists.sourceforge.net/lists/listinfo/zookeeper-user > > |
From: Benjamin R. <br...@ya...> - 2008-05-27 23:27:36
|
It is supported. We run a lot of unit tests that way. Is it possible that the machine is simply getting overloaded. (Especially with respect to disk activity?) You have a rather large timeout, so the machine would really need to be getting swamped. ben On Friday 23 May 2008 13:00:02 Juan Ramirez wrote: > A piece of info I left out which appears to be relevant is that I was > running the standalone server and its client on the same machine. > Perhaps this is not supported? I am not seeing the problem in a > clustered deployment with 5 zookeeper instances. > > Thanks, > > Juan > > Juan Ramirez wrote: > > Mahadev Konar wrote: > >> Hi Juan, > >> Can you tell us what you are doing in your client code and when you > >> see this problem? > > > > Hi, Mahadev. It seems to happen when attempting to create a new node. > > Might be a timing issue because it does not happen all the time. The > > client code where this happens is quite simple: > > > > if (keeper.exists(path, false) == null) { > > file = keeper.create(path, "hello".getBytes(), > > ZooDefs.Ids.OPEN_ACL_UNSAFE, flags); > > > > >You are running with a standalone zookeeper server > >> > >> right? > > > > Correct. > > > > Thanks, > > > > Juan > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by: Microsoft > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > _______________________________________________ > > Zookeeper-user mailing list > > Zoo...@li... > > https://lists.sourceforge.net/lists/listinfo/zookeeper-user > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Juan R. <Jua...@Su...> - 2008-05-23 20:05:05
|
A piece of info I left out which appears to be relevant is that I was running the standalone server and its client on the same machine. Perhaps this is not supported? I am not seeing the problem in a clustered deployment with 5 zookeeper instances. Thanks, Juan Juan Ramirez wrote: > Mahadev Konar wrote: >> Hi Juan, >> Can you tell us what you are doing in your client code and when you >> see this problem? > > Hi, Mahadev. It seems to happen when attempting to create a new node. > Might be a timing issue because it does not happen all the time. The > client code where this happens is quite simple: > > if (keeper.exists(path, false) == null) { > file = keeper.create(path, "hello".getBytes(), > ZooDefs.Ids.OPEN_ACL_UNSAFE, flags); > > >You are running with a standalone zookeeper server >> right? >> > > Correct. > > Thanks, > > Juan > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Juan R. <Jua...@Su...> - 2008-05-23 19:00:27
|
Mahadev Konar wrote: > Hi Juan, > Can you tell us what you are doing in your client code and when you > see this problem? Hi, Mahadev. It seems to happen when attempting to create a new node. Might be a timing issue because it does not happen all the time. The client code where this happens is quite simple: if (keeper.exists(path, false) == null) { file = keeper.create(path, "hello".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, flags); >You are running with a standalone zookeeper server > right? > Correct. Thanks, Juan |
From: Juan R. <Jua...@Su...> - 2008-05-23 18:54:36
|
A bit more info in the trace file, but no obvious reason why the server is expiring the session: 2008-05-23 14:25:47,267 - TRACE [main:ZooTrace@68][] - Snapshotting: 0 2008-05-23 14:25:47,287 - TRACE [main:ZooTrace@68][] - Snapshotting finished: 0 2008-05-23 14:26:08,354 - WARN [NIOServerCxn.Factory:NIOServerCnxn@471][] - Connected to /xxx.xxx.xxx.xxx:35713 lastZxid 0 2008-05-23 14:26:08,357 - TRACE [NIOServerCxn.Factory:ZooTrace@68][] - SessionTrackerImpl --- Adding 11a1707891b0000 6000 2008-05-23 14:26:08,362 - WARN [NIOServerCxn.Factory:NIOServerCnxn@500][] - Creating new session 11a1707891b0000 2008-05-23 14:26:08,363 - TRACE [ProcessThread:ZooTrace@87][] - :P11a1707891b0000 0 fffffffffffffffe txn type = unknown createSession n/a 2008-05-23 14:26:08,369 - TRACE [ProcessThread:ZooTrace@68][] - SessionTrackerImpl --- Existing session 11a1707891b0000 6000 2008-05-23 14:26:08,371 - TRACE [SyncThread:ZooTrace@87][] - :S11a1707891b0000 0 1 txn type = -10 createSession n/a 2008-05-23 14:26:08,397 - TRACE [SyncThread:ZooTrace@87][] - :E11a1707891b0000 0 1 txn type = -10 createSession n/a 2008-05-23 14:26:08,400 - TRACE [SyncThread:ZooTrace@68][] - SessionTrackerImpl --- Existing session 11a1707891b0000 6000 2008-05-23 14:26:08,406 - WARN [SyncThread:NIOServerCnxn@774][] - Finished init of 11a1707891b0000: true 2008-05-23 14:26:08,412 - TRACE [ProcessThread:ZooTrace@87][] - :P11a1707891b0000 1 fffffffffffffffe txn type = unknown exists /locks 2008-05-23 14:26:08,413 - TRACE [SyncThread:ZooTrace@87][] - :S11a1707891b0000 1 fffffffffffffffe txn type = unknown exists /locks 2008-05-23 14:26:08,415 - TRACE [SyncThread:ZooTrace@87][] - :E11a1707891b0000 1 fffffffffffffffe txn type = unknown exists /locks 2008-05-23 14:26:14,435 - TRACE [NIOServerCxn.Factory:ZooTrace@68][] - close NIOServerCnxn: java.nio.channels.SocketChannel[connected local=/xxx.xxx.xxx.xxx:2181 remote=/xxx.xxx.xxx.xxx:35713] 2008-05-23 14:26:15,010 - WARN [SessionTracker:SessionTrackerImpl@133][] - Expiring 11a1707891b0000 2008-05-23 14:26:15,012 - TRACE [SessionTracker:ZooTrace@68][] - ZooKeeperServer --- Session to expire: 11a1707891b0000 2008-05-23 14:26:15,013 - TRACE [SessionTracker:ZooTrace@68][] - ZooKeeperServer --- Session to be closed: 11a1707891b0000 2008-05-23 14:26:15,015 - TRACE [ProcessThread:ZooTrace@87][] - :P11a1707891b0000 0 fffffffffffffffe txn type = unknown closeSession n/a 2008-05-23 14:26:15,017 - WARN [ProcessThread:PrepRequestProcessor@341][] - Processed session termination request for id: 11a1707891b0000 2008-05-23 14:26:15,019 - TRACE [SyncThread:ZooTrace@87][] - :S11a1707891b0000 0 2 txn type = -11 closeSession n/a 2008-05-23 14:26:15,023 - TRACE [SyncThread:ZooTrace@87][] - :E11a1707891b0000 0 2 txn type = -11 closeSession n/a 2008-05-23 14:26:15,025 - TRACE [SyncThread:ZooTrace@68][] - SessionTrackerImpl --- Removing 11a1707891b0000 2008-05-23 14:26:15,816 - WARN [NIOServerCxn.Factory:NIOServerCnxn@471][] - Connected to /xxx.xxx.xxx.xxx:35714 lastZxid -1 2008-05-23 14:26:15,818 - TRACE [NIOServerCxn.Factory:ZooTrace@68][] - Session 11a1707891b0000 is valid: false 2008-05-23 14:26:15,819 - WARN [NIOServerCxn.Factory:NIOServerCnxn@774][] - Finished init of 11a1707891b0000: false 2008-05-23 14:26:15,821 - WARN [NIOServerCxn.Factory:NIOServerCnxn@497][] - Renewing session 11a1707891b0000 2008-05-23 14:26:15,823 - TRACE [NIOServerCxn.Factory:ZooTrace@68][] - close NIOServerCnxn: java.nio.channels.SocketChannel[connected local=/xxx.xxx.xxx.xxx:2181 remote=/xxx.xxx.xxx.xxx:35714] Juan Ramirez wrote: > Hi, Ben. Thanks for the prompt reply. > > Benjamin Reed wrote: >> Usually, this exception means that the server closed the socket. Are you >> seeing anything strange in the server log? >> > > It seems like the server is expiring the session; not sure why. > > 2008-05-23 14:26:08,354 - WARN [NIOServerCxn.Factory:NIOServerCnxn@471] > - Connected to /xxx.xxx.xxx.xxx:35713 lastZxid 0 > 2008-05-23 14:26:08,362 - WARN [NIOServerCxn.Factory:NIOServerCnxn@500] > - Creating new session 11a1707891b0000 > 2008-05-23 14:26:08,406 - WARN [SyncThread:NIOServerCnxn@774] - > Finished init of 11a1707891b0000: true > 2008-05-23 14:26:15,010 - WARN [SessionTracker:SessionTrackerImpl@133] > - Expiring 11a1707891b0000 > 2008-05-23 14:26:15,017 - WARN [ProcessThread:PrepRequestProcessor@341] > - Processed session termination request for id: 11a1707891b0000 > > New connection request from client? > > 2008-05-23 14:26:15,816 - WARN [NIOServerCxn.Factory:NIOServerCnxn@471] > - Connected to /xxx.xxx.xxx.xxx:35714 lastZxid -1 > 2008-05-23 14:26:15,819 - WARN [NIOServerCxn.Factory:NIOServerCnxn@774] > - Finished init of 11a1707891b0000: false > 2008-05-23 14:26:15,821 - WARN [NIOServerCxn.Factory:NIOServerCnxn@497] > - Renewing session 11a1707891b0000 > > But doesn't seem like the client recovers: > > com.yahoo.zookeeper.KeeperException: KeeperErrorCode = SessionExpired > at com.yahoo.zookeeper.ZooKeeper.exists(ZooKeeper.java:357) > at zookeeperclient.Main$Process.tryCreate(Main.java:143) > at zookeeperclient.Main$Process.<init>(Main.java:88) > at zookeeperclient.Main.main(Main.java:43) > com.yahoo.zookeeper.KeeperException: KeeperErrorCode = SessionExpired > at com.yahoo.zookeeper.ZooKeeper.exists(ZooKeeper.java:357) > at zookeeperclient.Main$Process.tryCreate(Main.java:143) > at zookeeperclient.Main$Process.<init>(Main.java:88) > at zookeeperclient.Main.main(Main.java:43) > > > >> The null pointer exception is coming from the code that parses the hostPort >> list. Since you are running in standalone mode your hostPort should be a >> string of the form host:port. The relevant code is the following: >> >> String hostsList[] = hosts.split(","); >> for (String host : hostsList) { >> int port = 2181; >> String parts[] = host.split(":"); // LINE 218 >> >> It would seem that host is null, but I'm at a complete loss for how that could >> be... > > Sorry, that was my bad. It seems that once the ZooKeeper instance gets > into the SessionExpired state, it doesn't recover. Is this expected? I > had some code creating a new instance as a workaround and had not > properly persisted the connection string. > > Thanks again, > > Juan > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Mahadev K. <ma...@ya...> - 2008-05-23 18:50:31
|
Hi Juan, Can you tell us what you are doing in your client code and when you see this problem? You are running with a standalone zookeeper server right? Mahadev > -----Original Message----- > From: zoo...@li... [mailto:zookeeper-user- > bo...@li...] On Behalf Of Juan Ramirez > Sent: Friday, May 23, 2008 11:36 AM > To: Benjamin Reed > Cc: zoo...@li... > Subject: Re: [Zookeeper-user] odd exceptions when using zookeeper > > Hi, Ben. Thanks for the prompt reply. > > Benjamin Reed wrote: > > Usually, this exception means that the server closed the socket. Are you > > seeing anything strange in the server log? > > > > It seems like the server is expiring the session; not sure why. > > 2008-05-23 14:26:08,354 - WARN [NIOServerCxn.Factory:NIOServerCnxn@471] > - Connected to /xxx.xxx.xxx.xxx:35713 lastZxid 0 > 2008-05-23 14:26:08,362 - WARN [NIOServerCxn.Factory:NIOServerCnxn@500] > - Creating new session 11a1707891b0000 > 2008-05-23 14:26:08,406 - WARN [SyncThread:NIOServerCnxn@774] - > Finished init of 11a1707891b0000: true > 2008-05-23 14:26:15,010 - WARN [SessionTracker:SessionTrackerImpl@133] > - Expiring 11a1707891b0000 > 2008-05-23 14:26:15,017 - WARN [ProcessThread:PrepRequestProcessor@341] > - Processed session termination request for id: 11a1707891b0000 > > New connection request from client? > > 2008-05-23 14:26:15,816 - WARN [NIOServerCxn.Factory:NIOServerCnxn@471] > - Connected to /xxx.xxx.xxx.xxx:35714 lastZxid -1 > 2008-05-23 14:26:15,819 - WARN [NIOServerCxn.Factory:NIOServerCnxn@774] > - Finished init of 11a1707891b0000: false > 2008-05-23 14:26:15,821 - WARN [NIOServerCxn.Factory:NIOServerCnxn@497] > - Renewing session 11a1707891b0000 > > But doesn't seem like the client recovers: > > com.yahoo.zookeeper.KeeperException: KeeperErrorCode = SessionExpired > at com.yahoo.zookeeper.ZooKeeper.exists(ZooKeeper.java:357) > at zookeeperclient.Main$Process.tryCreate(Main.java:143) > at zookeeperclient.Main$Process.<init>(Main.java:88) > at zookeeperclient.Main.main(Main.java:43) > com.yahoo.zookeeper.KeeperException: KeeperErrorCode = SessionExpired > at com.yahoo.zookeeper.ZooKeeper.exists(ZooKeeper.java:357) > at zookeeperclient.Main$Process.tryCreate(Main.java:143) > at zookeeperclient.Main$Process.<init>(Main.java:88) > at zookeeperclient.Main.main(Main.java:43) > > > > > The null pointer exception is coming from the code that parses the > hostPort > > list. Since you are running in standalone mode your hostPort should be a > > string of the form host:port. The relevant code is the following: > > > > String hostsList[] = hosts.split(","); > > for (String host : hostsList) { > > int port = 2181; > > String parts[] = host.split(":"); // LINE 218 > > > > It would seem that host is null, but I'm at a complete loss for how that > could > > be... > > Sorry, that was my bad. It seems that once the ZooKeeper instance gets > into the SessionExpired state, it doesn't recover. Is this expected? I > had some code creating a new instance as a workaround and had not > properly persisted the connection string. > > Thanks again, > > Juan > > > ------------------------------------------------------------------------ - > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Juan R. <Jua...@Su...> - 2008-05-23 18:41:12
|
Hi, Ben. Thanks for the prompt reply. Benjamin Reed wrote: > Usually, this exception means that the server closed the socket. Are you > seeing anything strange in the server log? > It seems like the server is expiring the session; not sure why. 2008-05-23 14:26:08,354 - WARN [NIOServerCxn.Factory:NIOServerCnxn@471] - Connected to /xxx.xxx.xxx.xxx:35713 lastZxid 0 2008-05-23 14:26:08,362 - WARN [NIOServerCxn.Factory:NIOServerCnxn@500] - Creating new session 11a1707891b0000 2008-05-23 14:26:08,406 - WARN [SyncThread:NIOServerCnxn@774] - Finished init of 11a1707891b0000: true 2008-05-23 14:26:15,010 - WARN [SessionTracker:SessionTrackerImpl@133] - Expiring 11a1707891b0000 2008-05-23 14:26:15,017 - WARN [ProcessThread:PrepRequestProcessor@341] - Processed session termination request for id: 11a1707891b0000 New connection request from client? 2008-05-23 14:26:15,816 - WARN [NIOServerCxn.Factory:NIOServerCnxn@471] - Connected to /xxx.xxx.xxx.xxx:35714 lastZxid -1 2008-05-23 14:26:15,819 - WARN [NIOServerCxn.Factory:NIOServerCnxn@774] - Finished init of 11a1707891b0000: false 2008-05-23 14:26:15,821 - WARN [NIOServerCxn.Factory:NIOServerCnxn@497] - Renewing session 11a1707891b0000 But doesn't seem like the client recovers: com.yahoo.zookeeper.KeeperException: KeeperErrorCode = SessionExpired at com.yahoo.zookeeper.ZooKeeper.exists(ZooKeeper.java:357) at zookeeperclient.Main$Process.tryCreate(Main.java:143) at zookeeperclient.Main$Process.<init>(Main.java:88) at zookeeperclient.Main.main(Main.java:43) com.yahoo.zookeeper.KeeperException: KeeperErrorCode = SessionExpired at com.yahoo.zookeeper.ZooKeeper.exists(ZooKeeper.java:357) at zookeeperclient.Main$Process.tryCreate(Main.java:143) at zookeeperclient.Main$Process.<init>(Main.java:88) at zookeeperclient.Main.main(Main.java:43) > The null pointer exception is coming from the code that parses the hostPort > list. Since you are running in standalone mode your hostPort should be a > string of the form host:port. The relevant code is the following: > > String hostsList[] = hosts.split(","); > for (String host : hostsList) { > int port = 2181; > String parts[] = host.split(":"); // LINE 218 > > It would seem that host is null, but I'm at a complete loss for how that could > be... Sorry, that was my bad. It seems that once the ZooKeeper instance gets into the SessionExpired state, it doesn't recover. Is this expected? I had some code creating a new instance as a workaround and had not properly persisted the connection string. Thanks again, Juan |
From: Benjamin R. <br...@ya...> - 2008-05-23 15:00:04
|
Usually, this exception means that the server closed the socket. Are you seeing anything strange in the server log? The null pointer exception is coming from the code that parses the hostPort list. Since you are running in standalone mode your hostPort should be a string of the form host:port. The relevant code is the following: String hostsList[] = hosts.split(","); for (String host : hostsList) { int port = 2181; String parts[] = host.split(":"); // LINE 218 It would seem that host is null, but I'm at a complete loss for how that could be... ben On Friday 23 May 2008 07:27:11 Juan Ramirez wrote: > I see this sometimes as well: > > java.lang.RuntimeException: Unreasonable length = -183042030 > at > com.yahoo.jute.BinaryInputArchive.readBuffer(BinaryInputArchive.java:101) > at > com.yahoo.zookeeper.proto.ConnectResponse.deserialize(ConnectResponse.java: >59) at > com.yahoo.zookeeper.ClientCnxn$SendThread.readConnectResult(ClientCnxn.java >:400) at > com.yahoo.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:492) > at > com.yahoo.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:705) > > Juan Ramirez wrote: > > Forgot to mention, I am using the zookeeper-2.2.0.jar distribution. > > > > Juan Ramirez wrote: > >> Hi, I am trying to become familiar with the zookeeper API and am seeing > >> the following exceptions when attempting to create a node; any pointers > >> as to where to look for their cause would be greatly appreciated. > >> > >> AFAIK, I am not doing anything special. I am running ZK standalone > >> using JDK 1.6 and attempting to connect to it and create some nodes. > >> Other than dataDir, I am using the configuration values in > >> zoo_sample.cfg. My attempt to create the nodes succeed sometimes, but > >> more often than not, I get some fashion of "Session Expired" errors. I > >> am following com.yahoo.zookeeper.ZooKeeper.main() example and using > >> 5000ms for the client-side sessionTimeout. Thanks in advance. > >> > >> These happen in sequence: > >> > >> java.io.IOException: TIMED OUT > >> at > >> com.yahoo.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:666) > >> com.yahoo.zookeeper.KeeperException: KeeperErrorCode = ConnectionLoss > >> for /locks/ > >> at com.yahoo.zookeeper.ZooKeeper.create(ZooKeeper.java:244) > >> at zookeeperclient.Main$Process.tryCreate(Main.java:142) > >> at zookeeperclient.Main$Process.<init>(Main.java:87) > >> at zookeeperclient.Main.main(Main.java:43) > >> > >> java.io.IOException: Read error rc = -1 java.nio.DirectByteBuffer[pos=0 > >> lim=4 cap=4] > >> at > >> com.yahoo.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:484) > >> at > >> com.yahoo.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:705) > >> > >> java.lang.NullPointerException > >> at com.yahoo.zookeeper.ClientCnxn.<init>(ClientCnxn.java:218) > >> at com.yahoo.zookeeper.ClientCnxn.<init>(ClientCnxn.java:194) > >> at com.yahoo.zookeeper.ZooKeeper.<init>(ZooKeeper.java:123) > >> at zookeeperclient.Main$Process.tryCreate(Main.java:151) > >> at zookeeperclient.Main$Process.<init>(Main.java:87) > >> at zookeeperclient.Main.main(Main.java:43) > >> com.yahoo.zookeeper.KeeperException: KeeperErrorCode = SessionExpired > >> for /locks/ > >> at com.yahoo.zookeeper.ZooKeeper.create(ZooKeeper.java:244) > >> at zookeeperclient.Main$Process.tryCreate(Main.java:142) > >> at zookeeperclient.Main$Process.<init>(Main.java:87) > >> at zookeeperclient.Main.main(Main.java:43) > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by: Microsoft > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > _______________________________________________ > > Zookeeper-user mailing list > > Zoo...@li... > > https://lists.sourceforge.net/lists/listinfo/zookeeper-user > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Juan R. <Jua...@Su...> - 2008-05-23 14:32:50
|
I see this sometimes as well: java.lang.RuntimeException: Unreasonable length = -183042030 at com.yahoo.jute.BinaryInputArchive.readBuffer(BinaryInputArchive.java:101) at com.yahoo.zookeeper.proto.ConnectResponse.deserialize(ConnectResponse.java:59) at com.yahoo.zookeeper.ClientCnxn$SendThread.readConnectResult(ClientCnxn.java:400) at com.yahoo.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:492) at com.yahoo.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:705) Juan Ramirez wrote: > Forgot to mention, I am using the zookeeper-2.2.0.jar distribution. > > Juan Ramirez wrote: >> Hi, I am trying to become familiar with the zookeeper API and am seeing >> the following exceptions when attempting to create a node; any pointers >> as to where to look for their cause would be greatly appreciated. >> >> AFAIK, I am not doing anything special. I am running ZK standalone >> using JDK 1.6 and attempting to connect to it and create some nodes. >> Other than dataDir, I am using the configuration values in >> zoo_sample.cfg. My attempt to create the nodes succeed sometimes, but >> more often than not, I get some fashion of "Session Expired" errors. I >> am following com.yahoo.zookeeper.ZooKeeper.main() example and using >> 5000ms for the client-side sessionTimeout. Thanks in advance. >> >> These happen in sequence: >> >> java.io.IOException: TIMED OUT >> at >> com.yahoo.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:666) >> com.yahoo.zookeeper.KeeperException: KeeperErrorCode = ConnectionLoss >> for /locks/ >> at com.yahoo.zookeeper.ZooKeeper.create(ZooKeeper.java:244) >> at zookeeperclient.Main$Process.tryCreate(Main.java:142) >> at zookeeperclient.Main$Process.<init>(Main.java:87) >> at zookeeperclient.Main.main(Main.java:43) >> >> java.io.IOException: Read error rc = -1 java.nio.DirectByteBuffer[pos=0 >> lim=4 cap=4] >> at >> com.yahoo.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:484) >> at >> com.yahoo.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:705) >> >> java.lang.NullPointerException >> at com.yahoo.zookeeper.ClientCnxn.<init>(ClientCnxn.java:218) >> at com.yahoo.zookeeper.ClientCnxn.<init>(ClientCnxn.java:194) >> at com.yahoo.zookeeper.ZooKeeper.<init>(ZooKeeper.java:123) >> at zookeeperclient.Main$Process.tryCreate(Main.java:151) >> at zookeeperclient.Main$Process.<init>(Main.java:87) >> at zookeeperclient.Main.main(Main.java:43) >> com.yahoo.zookeeper.KeeperException: KeeperErrorCode = SessionExpired >> for /locks/ >> at com.yahoo.zookeeper.ZooKeeper.create(ZooKeeper.java:244) >> at zookeeperclient.Main$Process.tryCreate(Main.java:142) >> at zookeeperclient.Main$Process.<init>(Main.java:87) >> at zookeeperclient.Main.main(Main.java:43) >> > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |