HDFS-776. Fix exception handling in Balancer. Contributed by Uma Maheswara Rao G
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1243654 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
5c46ba4d48
commit
52004aa8e9
|
@ -232,6 +232,9 @@ Release 0.23.2 - UNRELEASED
|
|||
|
||||
HDFS-2869. Fix an error in the webhdfs docs for the mkdir op (harsh)
|
||||
|
||||
HDFS-776. Fix exception handling in Balancer. (Uma Maheswara Rao G
|
||||
via szetszwo)
|
||||
|
||||
Release 0.23.1 - 2012-02-08
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -125,6 +125,10 @@ class NameNodeConnector {
|
|||
if (!isBlockTokenEnabled) {
|
||||
return BlockTokenSecretManager.DUMMY_TOKEN;
|
||||
} else {
|
||||
if (!shouldRun) {
|
||||
throw new IOException(
|
||||
"Can not get access token. BlockKeyUpdater is not running");
|
||||
}
|
||||
return blockTokenSecretManager.generateToken(null, eb,
|
||||
EnumSet.of(BlockTokenSecretManager.AccessMode.REPLACE,
|
||||
BlockTokenSecretManager.AccessMode.COPY));
|
||||
|
@ -221,16 +225,20 @@ class NameNodeConnector {
|
|||
*/
|
||||
class BlockKeyUpdater implements Runnable {
|
||||
public void run() {
|
||||
while (shouldRun) {
|
||||
try {
|
||||
blockTokenSecretManager.setKeys(namenode.getBlockKeys());
|
||||
} catch (Exception e) {
|
||||
LOG.error("Failed to set keys", e);
|
||||
}
|
||||
try {
|
||||
try {
|
||||
while (shouldRun) {
|
||||
try {
|
||||
blockTokenSecretManager.setKeys(namenode.getBlockKeys());
|
||||
} catch (IOException e) {
|
||||
LOG.error("Failed to set keys", e);
|
||||
}
|
||||
Thread.sleep(keyUpdaterInterval);
|
||||
} catch (InterruptedException ie) {
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
LOG.info("InterruptedException in block key updater thread", e);
|
||||
} catch (Throwable e) {
|
||||
LOG.error("Exception in block key updater thread", e);
|
||||
shouldRun = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,14 +57,12 @@ public class TestBalancerWithMultipleNameNodes {
|
|||
((Log4JLogger)NameNode.stateChangeLog).getLogger().setLevel(Level.OFF);
|
||||
((Log4JLogger)LeaseManager.LOG).getLogger().setLevel(Level.OFF);
|
||||
((Log4JLogger)LogFactory.getLog(FSNamesystem.class)).getLogger().setLevel(Level.OFF);
|
||||
// ((Log4JLogger)DataNode.LOG).getLogger().setLevel(Level.OFF);
|
||||
}
|
||||
|
||||
|
||||
private static final long CAPACITY = 500L;
|
||||
private static final String RACK0 = "/rack0";
|
||||
private static final String RACK1 = "/rack1";
|
||||
private static final String RACK2 = "/rack2";
|
||||
|
||||
private static final String FILE_NAME = "/tmp.txt";
|
||||
private static final Path FILE_PATH = new Path(FILE_NAME);
|
||||
|
|
Loading…
Reference in New Issue