Re: Client reconnection after a connection loss

2010-04-22 Thread Julien Vey

Thanks for your help Patrick.

I'm already having a look at it.

Julien

Hi Julien,

take a look at the FAQ for some background:
http://wiki.apache.org/hadoop/ZooKeeper/FAQ#A3

Basically when your client connects to the server it provides a 
"timeout" value. If the server doesn't hear from your client within 
this timeout period (we do heartbeating for you in a background 
thread, you don't have to worry about this) then it will expire the 
session.
http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions 



You have a watcher for the session - it will be notified both on 
disconnect but also when/if the session is expired. An expired session 
is invalid, if this happens you have to create a new session. This is 
different from a disconnect notification, where you just wait for the 
client library to reconnect you to the cluster (say you lose 
connectivity to the server)


Patrick

On 04/21/2010 01:44 AM, Julien Vey wrote:

Hi all,

I'm currently working with ZooKeeper in CXF D-OSGI and i'm facing a
problem that would require your help.

When a client is connected to the ZooKeeper server, and the connection
is lost, it throws a ConnectionLossException.
The problem is when the connection is back, the client doesn't reconnect
itself. I can see the following trace on the server

2010-04-20 17:44:21,526 - INFO [NIOServerCxn.Factory:>
0.0.0.0/0.0.0.0:2181:nioservercnxn$fact...@251] - Accepted socket
connection from /129.183.128.230:60471
2010-04-20 17:44:21,526 - INFO [NIOServerCxn.Factory:
0.0.0.0/0.0.0.0:2181:nioserverc...@742] - Client attempting to renew
session0x1281ba54e95 at /129.183.128.230:60471
2010-04-20 17:44:21,527 - INFO [NIOServerCxn.Factory:
0.0.0.0/0.0.0.0:2181:nioserverc...@1424] - Invalid session
0x1281ba54e95 for client /129.183.128.230:60471, probably expired
2010-04-20 17:44:21,527 - INFO [NIOServerCxn.Factory:
0.0.0.0/0.0.0.0:2181:nioserverc...@1286] - Closed socket connection for
client /129.183.128.230:60471 which had sessionid 0x1281ba54e95

The client tries to reconnect with an expired session id.
Is it possible to configure zookeeper in order that it accepts this
connection by recreating a new session, or maybe something else that
would make the reconnection works ?

Thanks in advance for your help

Julien.










Re: Client reconnection after a connection loss

2010-04-21 Thread Patrick Hunt

Hi Julien,

take a look at the FAQ for some background:
http://wiki.apache.org/hadoop/ZooKeeper/FAQ#A3

Basically when your client connects to the server it provides a 
"timeout" value. If the server doesn't hear from your client within this 
timeout period (we do heartbeating for you in a background thread, you 
don't have to worry about this) then it will expire the session.

http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions

You have a watcher for the session - it will be notified both on 
disconnect but also when/if the session is expired. An expired session 
is invalid, if this happens you have to create a new session. This is 
different from a disconnect notification, where you just wait for the 
client library to reconnect you to the cluster (say you lose 
connectivity to the server)


Patrick

On 04/21/2010 01:44 AM, Julien Vey wrote:

Hi all,

I'm currently working with ZooKeeper in CXF D-OSGI and i'm facing a
problem that would require your help.

When a client is connected to the ZooKeeper server, and the connection
is lost, it throws a ConnectionLossException.
The problem is when the connection is back, the client doesn't reconnect
itself. I can see the following trace on the server

2010-04-20 17:44:21,526 - INFO [NIOServerCxn.Factory:>
0.0.0.0/0.0.0.0:2181:nioservercnxn$fact...@251] - Accepted socket
connection from /129.183.128.230:60471
2010-04-20 17:44:21,526 - INFO [NIOServerCxn.Factory:
0.0.0.0/0.0.0.0:2181:nioserverc...@742] - Client attempting to renew
session0x1281ba54e95 at /129.183.128.230:60471
2010-04-20 17:44:21,527 - INFO [NIOServerCxn.Factory:
0.0.0.0/0.0.0.0:2181:nioserverc...@1424] - Invalid session
0x1281ba54e95 for client /129.183.128.230:60471, probably expired
2010-04-20 17:44:21,527 - INFO [NIOServerCxn.Factory:
0.0.0.0/0.0.0.0:2181:nioserverc...@1286] - Closed socket connection for
client /129.183.128.230:60471 which had sessionid 0x1281ba54e95

The client tries to reconnect with an expired session id.
Is it possible to configure zookeeper in order that it accepts this
connection by recreating a new session, or maybe something else that
would make the reconnection works ?

Thanks in advance for your help

Julien.





Re: Client reconnection after a connection loss

2010-04-21 Thread Qian Ye
so far as I know, you should keep an eye on your client handler and
reconnect to Zookeeper server when it is expired youself. It's the solution
in my application for this kind of  situation.

On Wed, Apr 21, 2010 at 4:44 PM, Julien Vey  wrote:

> Hi all,
>
> I'm currently working with ZooKeeper in CXF D-OSGI and i'm facing a problem
> that would require your help.
>
> When a client is connected to the ZooKeeper server, and the connection is
> lost, it throws a ConnectionLossException.
> The problem is when the connection is back, the client doesn't reconnect
> itself. I can see the following trace on the server
>
> 2010-04-20 17:44:21,526 - INFO  [NIOServerCxn.Factory:>
> 0.0.0.0/0.0.0.0:2181:nioservercnxn$fact...@251] - Accepted socket
> connection from /129.183.128.230:60471
> 2010-04-20 17:44:21,526 - INFO  [NIOServerCxn.Factory:
> 0.0.0.0/0.0.0.0:2181:nioserverc...@742] - Client attempting to renew
> session0x1281ba54e95 at /129.183.128.230:60471
> 2010-04-20 17:44:21,527 - INFO  [NIOServerCxn.Factory:
> 0.0.0.0/0.0.0.0:2181:nioserverc...@1424] - Invalid session
> 0x1281ba54e95 for client /129.183.128.230:60471, probably expired
> 2010-04-20 17:44:21,527 - INFO  [NIOServerCxn.Factory:
> 0.0.0.0/0.0.0.0:2181:nioserverc...@1286] - Closed socket connection for
> client /129.183.128.230:60471 which had sessionid 0x1281ba54e95
>
> The client tries to reconnect with an expired session id.
> Is it possible to configure zookeeper in order that it accepts this
> connection by recreating a new session, or maybe something else that would
> make the reconnection works ?
>
> Thanks in advance for your help
>
> Julien.
>
>
>
>


-- 
With Regards!

Ye, Qian


Client reconnection after a connection loss

2010-04-21 Thread Julien Vey

Hi all,

I'm currently working with ZooKeeper in CXF D-OSGI and i'm facing a 
problem that would require your help.


When a client is connected to the ZooKeeper server, and the connection 
is lost, it throws a ConnectionLossException.
The problem is when the connection is back, the client doesn't reconnect 
itself. I can see the following trace on the server


2010-04-20 17:44:21,526 - INFO  [NIOServerCxn.Factory:> 
0.0.0.0/0.0.0.0:2181:nioservercnxn$fact...@251] - Accepted socket 
connection from /129.183.128.230:60471
2010-04-20 17:44:21,526 - INFO  [NIOServerCxn.Factory: 
0.0.0.0/0.0.0.0:2181:nioserverc...@742] - Client attempting to renew 
session0x1281ba54e95 at /129.183.128.230:60471
2010-04-20 17:44:21,527 - INFO  [NIOServerCxn.Factory: 
0.0.0.0/0.0.0.0:2181:nioserverc...@1424] - Invalid session 
0x1281ba54e95 for client /129.183.128.230:60471, probably expired
2010-04-20 17:44:21,527 - INFO  [NIOServerCxn.Factory: 
0.0.0.0/0.0.0.0:2181:nioserverc...@1286] - Closed socket connection for 
client /129.183.128.230:60471 which had sessionid 0x1281ba54e95


The client tries to reconnect with an expired session id.
Is it possible to configure zookeeper in order that it accepts this 
connection by recreating a new session, or maybe something else that 
would make the reconnection works ?


Thanks in advance for your help

Julien.