|
|
-
How to know if connection to zk is successful in C API.
李赫元 2012-05-14, 09:04
Hi All,
I encounter a problem in zookeeper 3.4.1 with C API. The following is always show "success" even the zkserver is actually down.
char* zk_server = "127.0.0.1:2181"; zhandle_t* zh = zookeeper_init(zk_server, watcher_callback, 3000, 0, NULL, 0); if(!zh) { print_error(errno); return -1; }else { ::std::cout << "success" << ::std::endl; }
Even if the zookeeper is shutdown, the zh handle is still not NULL. So, I don't know how to judge if connection to zookeeper is succful in C API.
Thanks all.
Heyuan Li
-
Re: How to know if connection to zk is successful in C API.
Martin Kou 2012-05-14, 10:49
The connection API is asynchronous, you'll need to look for the session state changes in the watcher_callback.
Best Regards, Martin Kou
On Mon, May 14, 2012 at 2:04 AM, 李赫元 <[EMAIL PROTECTED]> wrote:
> Hi All, > > I encounter a problem in zookeeper 3.4.1 with C API. > The following is always show "success" even the zkserver is actually down. > > char* zk_server = "127.0.0.1:2181"; > zhandle_t* zh = zookeeper_init(zk_server, watcher_callback, 3000, > 0, NULL, 0); > if(!zh) > { > print_error(errno); > return -1; > }else > { > ::std::cout << "success" << ::std::endl; > } > > Even if the zookeeper is shutdown, the zh handle is still not NULL. > So, I don't know how to judge if connection to zookeeper is succful in C > API. > > Thanks all. > > Heyuan Li >
+
Martin Kou 2012-05-14, 10:49
-
Re: How to know if connection to zk is successful in C API.
李赫元 2012-05-14, 11:44
Thanks, I have found that a ZOO_SESSION_EVENT event with state ZOO_CONNECTED_STATE will be recv after session is built. 2012/5/14 Martin Kou <[EMAIL PROTECTED]>: > The connection API is asynchronous, you'll need to look for the session > state changes in the watcher_callback. > > Best Regards, > Martin Kou > > On Mon, May 14, 2012 at 2:04 AM, 李赫元 <[EMAIL PROTECTED]> wrote: > >> Hi All, >> >> I encounter a problem in zookeeper 3.4.1 with C API. >> The following is always show "success" even the zkserver is actually down. >> >> char* zk_server = "127.0.0.1:2181"; >> zhandle_t* zh = zookeeper_init(zk_server, watcher_callback, 3000, >> 0, NULL, 0); >> if(!zh) >> { >> print_error(errno); >> return -1; >> }else >> { >> ::std::cout << "success" << ::std::endl; >> } >> >> Even if the zookeeper is shutdown, the zh handle is still not NULL. >> So, I don't know how to judge if connection to zookeeper is succful in C >> API. >> >> Thanks all. >> >> Heyuan Li >>
|
|