Is there a means of truly changing the connection timeout? I know that the constructor for the ZooKeeperInstance has a parameter for session timeout, but I keep having my client session timeout, sometimes in as little 13 seconds. Is there any way to extend the connection timeout?
You can change the timeout, but zookeeper will only let you use a
connection timeout of 20x the tick rate. By default, the tick rate for MAC
is 1s. There is presently no way to change this value.
Also, I seem to remember that the client library sends a ping 1/3 of the
way through the timeout, and will disconnect at 2/3rds the timeout without
a response in order to attempt to reconnect to a more responsive zookeeper
before losing its session.
A connection timeout may be causing servers to fail too soon, see
Ensure your processes are not getting pushed into swap, and that you have
swappiness turned off.
I did some looking around and I have not found any information on turning swappiness off. I also did notice that in my log files this line is always popping up:
13/08/06 13:29:58 WARN server.Accumulo: System swappiness setting is greater than ten (60) which can cause time-sensitive operations to be delayed. Accumulo is time sensitive because it needs to maintain distributed lock agreement.
Accumulo, ZK, Hadoop, and HBase will all have terrible performance if
swapping starts happening. The first step is to make sure you allocate an
amount of memory appropriate to your hardware. This is covered briefly in
the Accumulo manual:
The second is to make sure your kernel won't start swapping stuff out
early. That's controlled via a setting called vm.swappiness. You can see
how to check vm.swappiness and turn it to 0 in the CDH guides, e.g. CDH3:
> I did some looking around and I have not found any information on turning
> swappiness off. I also did notice that in my log files this line is always
> popping up:
> 13/08/06 13:29:58 WARN server.Accumulo: System swappiness setting is
> than ten (60) which can cause time-sensitive operations to be delayed.
> Accumulo is time sensitive because it needs to maintain distributed lock
> View this message in context:
> http://apache-accumulo.1065345.n5.nabble.com/MiniAccumuloCluster-connection-timeout-negotiation-tp5049p5057.html > Sent from the Developers mailing list archive at Nabble.com.