Details
Description
May affect older versions, didn't check them for the same code, but it does exist in 1.5.1-SNAPSHOT and 1.6.0-SNAPSHOT currently.
Seeing a warning in the monitor "Unable to contact the garbage collector at null", stemming from a KeeperException KeeperErrorCode ConnectionLoss in fetchGcStatus().
Initially I thought this was just a connection error, but I took a look at the code and a quick google search led me to http://zookeeper-user.578899.n2.nabble.com/zookeeper-connection-loss-exception-occurs-on-new-created-ZooKeeper-instance-too-much-why-td6766831.html
In the getchGcStatus() we create a new ZooKeeper object with every call and then immediately try to use it (!!) without waiting for it to finish establishing a connection. Because of these, I think we should A. ensure it's connected before attempting to use and B. try to reuse the same ZK object instead of creating a new one for each call.