HBASE=3755 Catch zk's ConnectionLossException and augment error
message with more help Fixup of CHANGES git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1091607 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
cf07e331ac
commit
e8fb14592c
|
@ -150,12 +150,11 @@ Release 0.91.0 - Unreleased
|
||||||
(Ted Yu via Stack)
|
(Ted Yu via Stack)
|
||||||
HBASE-3764 Book.xml - adding 2 FAQs (SQL and arch question)
|
HBASE-3764 Book.xml - adding 2 FAQs (SQL and arch question)
|
||||||
|
|
||||||
TASK
|
TASKS
|
||||||
HBASE-3559 Move report of split to master OFF the heartbeat channel
|
HBASE-3559 Move report of split to master OFF the heartbeat channel
|
||||||
HBASE-3573 Move shutdown messaging OFF hearbeat; prereq for fix of
|
HBASE-3573 Move shutdown messaging OFF hearbeat; prereq for fix of
|
||||||
hbase-1502
|
hbase-1502
|
||||||
HBASE-3071 Graceful decommissioning of a regionserver
|
HBASE-3071 Graceful decommissioning of a regionserver
|
||||||
HBASE-3748 Add rolling of thrift/rest daemons to graceful_stop.sh script
|
|
||||||
|
|
||||||
|
|
||||||
NEW FEATURES
|
NEW FEATURES
|
||||||
|
@ -191,11 +190,15 @@ Release 0.90.3 - Unreleased
|
||||||
(Ted Yu via Stack)
|
(Ted Yu via Stack)
|
||||||
HBASE-3750 HTablePool.putTable() should call releaseHTableInterface()
|
HBASE-3750 HTablePool.putTable() should call releaseHTableInterface()
|
||||||
for discarded tables (Ted Yu via garyh)
|
for discarded tables (Ted Yu via garyh)
|
||||||
|
HBASE=3755 Catch zk's ConnectionLossException and augment error
|
||||||
|
message with more help
|
||||||
|
|
||||||
IMPROVEMENTS
|
IMPROVEMENTS
|
||||||
HBASE-3747 ReplicationSource should differanciate remote and local exceptions
|
HBASE-3747 ReplicationSource should differanciate remote and local exceptions
|
||||||
HBASE-3652 Speed up tests by lowering some sleeps
|
HBASE-3652 Speed up tests by lowering some sleeps
|
||||||
|
|
||||||
|
TASKS
|
||||||
|
HBASE-3748 Add rolling of thrift/rest daemons to graceful_stop.sh script
|
||||||
|
|
||||||
Release 0.90.2 - 20110408
|
Release 0.90.2 - 20110408
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ public class ZooKeeperConnectionException extends IOException {
|
||||||
* Constructor taking another exception.
|
* Constructor taking another exception.
|
||||||
* @param e Exception to grab data from.
|
* @param e Exception to grab data from.
|
||||||
*/
|
*/
|
||||||
public ZooKeeperConnectionException(Exception e) {
|
public ZooKeeperConnectionException(String message, Exception e) {
|
||||||
super(e);
|
super(message, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1000,8 +1000,11 @@ public class HConnectionManager {
|
||||||
if(zooKeeper == null) {
|
if(zooKeeper == null) {
|
||||||
try {
|
try {
|
||||||
this.zooKeeper = new ZooKeeperWatcher(conf, "hconnection", this);
|
this.zooKeeper = new ZooKeeperWatcher(conf, "hconnection", this);
|
||||||
|
} catch(ZooKeeperConnectionException zce) {
|
||||||
|
throw zce;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new ZooKeeperConnectionException(e);
|
throw new ZooKeeperConnectionException("An error is preventing" +
|
||||||
|
" HBase from connecting to ZooKeeper", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return zooKeeper;
|
return zooKeeper;
|
||||||
|
|
|
@ -146,13 +146,28 @@ public class ZooKeeperWatcher implements Watcher, Abortable {
|
||||||
}
|
}
|
||||||
} while (isFinishedRetryingRecoverable(finished));
|
} while (isFinishedRetryingRecoverable(finished));
|
||||||
// Convert connectionloss exception to ZKCE.
|
// Convert connectionloss exception to ZKCE.
|
||||||
if (ke != null) throw new ZooKeeperConnectionException(ke);
|
if (ke != null) {
|
||||||
|
try {
|
||||||
|
// If we don't close it, the zk connection managers won't be killed
|
||||||
|
this.zooKeeper.close();
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
LOG.warn("Interrupted while closing", e);
|
||||||
|
}
|
||||||
|
throw new ZooKeeperConnectionException("HBase is able to connect to" +
|
||||||
|
" ZooKeeper but the connection closes immediately. This could be" +
|
||||||
|
" a sign that the server has too many connections (30 is the" +
|
||||||
|
" default). Consider inspecting your ZK server logs for that" +
|
||||||
|
" error and then make sure you are reusing HBaseConfiguration" +
|
||||||
|
" as often as you can. See HTable's javadoc for more information.",
|
||||||
|
ke);
|
||||||
|
}
|
||||||
ZKUtil.createAndFailSilent(this, assignmentZNode);
|
ZKUtil.createAndFailSilent(this, assignmentZNode);
|
||||||
ZKUtil.createAndFailSilent(this, rsZNode);
|
ZKUtil.createAndFailSilent(this, rsZNode);
|
||||||
ZKUtil.createAndFailSilent(this, tableZNode);
|
ZKUtil.createAndFailSilent(this, tableZNode);
|
||||||
} catch (KeeperException e) {
|
} catch (KeeperException e) {
|
||||||
LOG.error(prefix("Unexpected KeeperException creating base node"), e);
|
throw new ZooKeeperConnectionException(
|
||||||
throw new IOException(e);
|
prefix("Unexpected KeeperException creating base node"), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue