My guess is that the ensemble was started with a maximum session time
of 40 seconds.
I recently clarified the description on zookeeper.session.timeout in
the hbase-default.xml:
<property>
<name>zookeeper.session.timeout</name>
<value>180000</value>
<description>ZooKeeper session timeout.
HBase passes this to the zk quorum as suggested maximum time for a
session (This setting becomes zookeeper's 'maxSessionTimeout'). See
http://hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions
"The client sends a requested timeout, the server responds with the
timeout that it can give the client. " In milliseconds.
</description>
</property>
zookeeper.session.timeout becomes the zk property maxSessionTimeout
(It was not a good idea giving this property a new 'hbase' name -- we
need to fix it).
You could change this property, bounce your ensemble, and as long as
it comes back quickly, sessions should reconnect and all should go
ahead as though nothing happened.
St.Ack
On Fri, May 20, 2011 at 11:23 PM, lohit <[email protected]> wrote:
> Hello,
>
> I tried to set zookeeper timeout to 300s in hbase via config
> variable, zookeeper.session.timeout
> But when region server starts, I still see that zookeeper timeout is 40s. I
> see this message
>
> 011-05-20 14:57:01,454 INFO org.apache.zookeeper.ClientCnxn: Session
> establishment complete on server machine1.lab, sessionid =
> 0x1300edae8790064, negotiated timeout = 40000
>
> It looks like we sent request to zookeeper with timeout value, but ZooKeeper
> server returns with timeout it decided/negotiated. Is there a way to control
> it? I am running ZooKeeper with default timeouts. I even tried to increase
> ticktime of zookeeper, but that did not help.
>
> --
> Have a Nice Day!
> Lohit
>