Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Zookeeper, mail # user - question about server startup time in testing env


Copy link to this message
-
Re: question about server startup time in testing env
kishore g 2012-12-14, 01:32
The server is started before it returns from
_standaloneServerFactory.startup(_server),
 ZooKeeperServer has a isRunning method if you really want to check if it
is running.

My guess is the problem is with the client usage, you are probably trying
to use the client before its connected. You need wait for synconnected
event before you can invoke other api's on zookeeper.

To test this hypothesis, sleep for few seconds after the client is created
before using it.

thanks,
Kishore G
On Thu, Dec 13, 2012 at 4:56 PM, Adam Silberstein <[EMAIL PROTECTED]> wrote:

> Hi,
> I've written a test helper class that starts up ZK in-process and tears it
> down when done.  Here's a code snippet:
>
>  static NIOServerCnxnFactory _standaloneServerFactory;
>  public static int _clientPort = 21818;
>  static ZooKeeperServer _server;
>
>  _server = new ZooKeeperServer(dir, dir, tickTime);
>  _standaloneServerFactory = new NIOServerCnxnFactory();
>  _standaloneServerFactory.configure(new InetSocketAddress(_clientPort),
> numConnections);
>  _standaloneServerFactory.startup(_server);
>
> One thing I've noticed is that the final line appears to be synchronous in
> nature, whenever I attempt to connect to ZK immediately, my client fails.
>  Currently, I just retry a few times.  Is there a programmatic way to check
> when the server is read for connections?  I tried a few method calls on
> ZooKeeperServer but nothing was helpful there.
>
> Thanks,
> Adam