HADOOP-6884. Add LOG.isDebugEnabled() guard for each LOG.debug(..). Contributed by Erik Steffl

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@990460 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Tsz-wo Sze 2010-08-28 22:44:10 +00:00
parent 97ce72a97e
commit 7efb9640be
24 changed files with 196 additions and 73 deletions

View File

@ -127,6 +127,9 @@ Trunk (unreleased changes)
OPTIMIZATIONS
HADOOP-6884. Add LOG.isDebugEnabled() guard for each LOG.debug(..).
(Erik Steffl via szetszwo)
BUG FIXES
HADOOP-6638. try to relogin in a case of failed RPC connection (expired tgt)

View File

@ -331,7 +331,9 @@ public class NativeS3FileSystem extends FileSystem {
throw new IOException("File already exists:"+f);
}
LOG.debug("Creating new file '" + f + "' in S3");
if(LOG.isDebugEnabled()) {
LOG.debug("Creating new file '" + f + "' in S3");
}
Path absolutePath = makeAbsolute(f);
String key = pathToKey(absolutePath);
return new FSDataOutputStream(new NativeS3FsOutputStream(getConf(), store,
@ -344,7 +346,10 @@ public class NativeS3FileSystem extends FileSystem {
try {
status = getFileStatus(f);
} catch (FileNotFoundException e) {
LOG.debug("Delete called for '" + f + "' but file does not exist, so returning false");
if(LOG.isDebugEnabled()) {
LOG.debug("Delete called for '" + f +
"' but file does not exist, so returning false");
}
return false;
}
Path absolutePath = makeAbsolute(f);
@ -356,7 +361,9 @@ public class NativeS3FileSystem extends FileSystem {
createParent(f);
LOG.debug("Deleting directory '" + f + "'");
if(LOG.isDebugEnabled()) {
LOG.debug("Deleting directory '" + f + "'");
}
String priorLastKey = null;
do {
PartialListing listing = store.list(key, S3_MAX_LISTING_LENGTH, priorLastKey, true);
@ -372,7 +379,9 @@ public class NativeS3FileSystem extends FileSystem {
//this is fine, we don't require a marker
}
} else {
LOG.debug("Deleting file '" + f + "'");
if(LOG.isDebugEnabled()) {
LOG.debug("Deleting file '" + f + "'");
}
createParent(f);
store.delete(key);
}
@ -388,27 +397,40 @@ public class NativeS3FileSystem extends FileSystem {
return newDirectory(absolutePath);
}
LOG.debug("getFileStatus retrieving metadata for key '" + key + "'");
if(LOG.isDebugEnabled()) {
LOG.debug("getFileStatus retrieving metadata for key '" + key + "'");
}
FileMetadata meta = store.retrieveMetadata(key);
if (meta != null) {
LOG.debug("getFileStatus returning 'file' for key '" + key + "'");
if(LOG.isDebugEnabled()) {
LOG.debug("getFileStatus returning 'file' for key '" + key + "'");
}
return newFile(meta, absolutePath);
}
if (store.retrieveMetadata(key + FOLDER_SUFFIX) != null) {
LOG.debug("getFileStatus returning 'directory' for key '" + key + "' as '"
+ key + FOLDER_SUFFIX + "' exists");
if(LOG.isDebugEnabled()) {
LOG.debug("getFileStatus returning 'directory' for key '" + key +
"' as '" + key + FOLDER_SUFFIX + "' exists");
}
return newDirectory(absolutePath);
}
LOG.debug("getFileStatus listing key '" + key + "'");
if(LOG.isDebugEnabled()) {
LOG.debug("getFileStatus listing key '" + key + "'");
}
PartialListing listing = store.list(key, 1);
if (listing.getFiles().length > 0 ||
listing.getCommonPrefixes().length > 0) {
LOG.debug("getFileStatus returning 'directory' for key '" + key + "' as it has contents");
if(LOG.isDebugEnabled()) {
LOG.debug("getFileStatus returning 'directory' for key '" + key +
"' as it has contents");
}
return newDirectory(absolutePath);
}
LOG.debug("getFileStatus could not find key '" + key + "'");
if(LOG.isDebugEnabled()) {
LOG.debug("getFileStatus could not find key '" + key + "'");
}
throw new FileNotFoundException("No such file or directory '" + absolutePath + "'");
}
@ -510,7 +532,9 @@ public class NativeS3FileSystem extends FileSystem {
}
} catch (FileNotFoundException e) {
LOG.debug("Making dir '" + f + "' in S3");
if(LOG.isDebugEnabled()) {
LOG.debug("Making dir '" + f + "' in S3");
}
String key = pathToKey(f) + FOLDER_SUFFIX;
store.storeEmptyFile(key);
}
@ -560,22 +584,35 @@ public class NativeS3FileSystem extends FileSystem {
try {
boolean dstIsFile = getFileStatus(dst).isFile();
if (dstIsFile) {
LOG.debug(debugPreamble + "returning false as dst is an already existing file");
if(LOG.isDebugEnabled()) {
LOG.debug(debugPreamble +
"returning false as dst is an already existing file");
}
return false;
} else {
LOG.debug(debugPreamble + "using dst as output directory");
if(LOG.isDebugEnabled()) {
LOG.debug(debugPreamble + "using dst as output directory");
}
dstKey = pathToKey(makeAbsolute(new Path(dst, src.getName())));
}
} catch (FileNotFoundException e) {
LOG.debug(debugPreamble + "using dst as output destination");
if(LOG.isDebugEnabled()) {
LOG.debug(debugPreamble + "using dst as output destination");
}
dstKey = pathToKey(makeAbsolute(dst));
try {
if (getFileStatus(dst.getParent()).isFile()) {
LOG.debug(debugPreamble + "returning false as dst parent exists and is a file");
if(LOG.isDebugEnabled()) {
LOG.debug(debugPreamble +
"returning false as dst parent exists and is a file");
}
return false;
}
} catch (FileNotFoundException ex) {
LOG.debug(debugPreamble + "returning false as dst parent does not exist");
if(LOG.isDebugEnabled()) {
LOG.debug(debugPreamble +
"returning false as dst parent does not exist");
}
return false;
}
}
@ -584,15 +621,22 @@ public class NativeS3FileSystem extends FileSystem {
try {
srcIsFile = getFileStatus(src).isFile();
} catch (FileNotFoundException e) {
LOG.debug(debugPreamble + "returning false as src does not exist");
if(LOG.isDebugEnabled()) {
LOG.debug(debugPreamble + "returning false as src does not exist");
}
return false;
}
if (srcIsFile) {
LOG.debug(debugPreamble + "src is file, so doing copy then delete in S3");
if(LOG.isDebugEnabled()) {
LOG.debug(debugPreamble +
"src is file, so doing copy then delete in S3");
}
store.copy(srcKey, dstKey);
store.delete(srcKey);
} else {
LOG.debug(debugPreamble + "src is directory, so copying contents");
if(LOG.isDebugEnabled()) {
LOG.debug(debugPreamble + "src is directory, so copying contents");
}
store.storeEmptyFile(dstKey + FOLDER_SUFFIX);
List<String> keysToDelete = new ArrayList<String>();
@ -606,7 +650,10 @@ public class NativeS3FileSystem extends FileSystem {
priorLastKey = listing.getPriorLastKey();
} while (priorLastKey != null);
LOG.debug(debugPreamble + "all files in src copied, now removing src files");
if(LOG.isDebugEnabled()) {
LOG.debug(debugPreamble +
"all files in src copied, now removing src files");
}
for (String key: keysToDelete) {
store.delete(key);
}
@ -616,7 +663,9 @@ public class NativeS3FileSystem extends FileSystem {
} catch (FileNotFoundException e) {
//this is fine, we don't require a marker
}
LOG.debug(debugPreamble + "done");
if(LOG.isDebugEnabled()) {
LOG.debug(debugPreamble + "done");
}
}
return true;

View File

@ -1834,7 +1834,7 @@ public class SequenceFile {
--noBufferedValues;
// Sanity check
if (valLength < 0) {
if ((valLength < 0) && LOG.isDebugEnabled()) {
LOG.debug(val + " is a zero-length value");
}
}
@ -1873,7 +1873,7 @@ public class SequenceFile {
--noBufferedValues;
// Sanity check
if (valLength < 0) {
if ((valLength < 0) && LOG.isDebugEnabled()) {
LOG.debug(val + " is a zero-length value");
}
}
@ -2415,7 +2415,9 @@ public class SequenceFile {
}
private int sortPass(boolean deleteInput) throws IOException {
LOG.debug("running sort pass");
if(LOG.isDebugEnabled()) {
LOG.debug("running sort pass");
}
SortPass sortPass = new SortPass(); // make the SortPass
sortPass.setProgressable(progressable);
mergeSort = new MergeSort(sortPass.new SeqFileComparator());
@ -2515,7 +2517,9 @@ public class SequenceFile {
}
// buffer is full -- sort & flush it
LOG.debug("flushing segment " + segments);
if(LOG.isDebugEnabled()) {
LOG.debug("flushing segment " + segments);
}
rawBuffer = rawKeys.getData();
sort(count);
// indicate we're making progress
@ -2798,7 +2802,9 @@ public class SequenceFile {
/** sort calls this to generate the final merged output */
private int mergePass(Path tmpDir) throws IOException {
LOG.debug("running merge pass");
if(LOG.isDebugEnabled()) {
LOG.debug("running merge pass");
}
Writer writer = cloneFileAttributes(
outFile.suffix(".0"), outFile, null);
RawKeyValueIterator r = merge(outFile.suffix(".0"),
@ -3028,7 +3034,9 @@ public class SequenceFile {
Path outputFile = lDirAlloc.getLocalPathForWrite(
tmpFilename.toString(),
approxOutputSize, conf);
LOG.debug("writing intermediate results to " + outputFile);
if(LOG.isDebugEnabled()) {
LOG.debug("writing intermediate results to " + outputFile);
}
Writer writer = cloneFileAttributes(
fs.makeQualified(segmentsToMerge.get(0).segmentPathName),
fs.makeQualified(outputFile), null);

View File

@ -107,7 +107,9 @@ public class CodecPool {
LOG.info("Got brand-new compressor");
} else {
compressor.reinit(conf);
LOG.debug("Got recycled compressor");
if(LOG.isDebugEnabled()) {
LOG.debug("Got recycled compressor");
}
}
return compressor;
}
@ -131,7 +133,9 @@ public class CodecPool {
decompressor = codec.createDecompressor();
LOG.info("Got brand-new decompressor");
} else {
LOG.debug("Got recycled decompressor");
if(LOG.isDebugEnabled()) {
LOG.debug("Got recycled decompressor");
}
}
return decompressor;
}

View File

@ -76,6 +76,8 @@ public class BuiltInZlibDeflater extends Deflater implements Compressor {
LOG.warn(strategy + " not supported by BuiltInZlibDeflater.");
setStrategy(DEFAULT_STRATEGY);
}
LOG.debug("Reinit compressor with new compression configuration");
if(LOG.isDebugEnabled()) {
LOG.debug("Reinit compressor with new compression configuration");
}
}
}

View File

@ -253,7 +253,9 @@ public class ZlibCompressor implements Compressor {
stream = init(level.compressionLevel(),
strategy.compressionStrategy(),
windowBits.windowBits());
LOG.debug("Reinit compressor with new compression configuration");
if(LOG.isDebugEnabled()) {
LOG.debug("Reinit compressor with new compression configuration");
}
}
public synchronized void setInput(byte[] b, int off, int len) {

View File

@ -278,7 +278,9 @@ final class Compression {
// it.
LOG.warn("Compressor obtained from CodecPool already finished()");
} else {
LOG.debug("Got a compressor: " + compressor.hashCode());
if(LOG.isDebugEnabled()) {
LOG.debug("Got a compressor: " + compressor.hashCode());
}
}
/**
* Following statement is necessary to get around bugs in 0.18 where a
@ -293,7 +295,9 @@ final class Compression {
public void returnCompressor(Compressor compressor) {
if (compressor != null) {
LOG.debug("Return a compressor: " + compressor.hashCode());
if(LOG.isDebugEnabled()) {
LOG.debug("Return a compressor: " + compressor.hashCode());
}
CodecPool.returnCompressor(compressor);
}
}
@ -308,7 +312,9 @@ final class Compression {
// it.
LOG.warn("Deompressor obtained from CodecPool already finished()");
} else {
LOG.debug("Got a decompressor: " + decompressor.hashCode());
if(LOG.isDebugEnabled()) {
LOG.debug("Got a decompressor: " + decompressor.hashCode());
}
}
/**
* Following statement is necessary to get around bugs in 0.18 where a
@ -324,7 +330,9 @@ final class Compression {
public void returnDecompressor(Decompressor decompressor) {
if (decompressor != null) {
LOG.debug("Returned a decompressor: " + decompressor.hashCode());
if(LOG.isDebugEnabled()) {
LOG.debug("Returned a decompressor: " + decompressor.hashCode());
}
CodecPool.returnDecompressor(decompressor);
}
}

View File

@ -67,9 +67,11 @@ class RetryInvocationHandler implements InvocationHandler {
}
return null;
}
LOG.debug("Exception while invoking " + method.getName()
+ " of " + implementation.getClass() + ". Retrying."
+ StringUtils.stringifyException(e));
if(LOG.isDebugEnabled()) {
LOG.debug("Exception while invoking " + method.getName()
+ " of " + implementation.getClass() + ". Retrying."
+ StringUtils.stringifyException(e));
}
}
}
}

View File

@ -444,8 +444,10 @@ public class Client {
disposeSasl();
if (shouldAuthenticateOverKrb()) {
if (currRetries < maxRetries) {
LOG.debug("Exception encountered while connecting to "
+ "the server : " + ex);
if(LOG.isDebugEnabled()) {
LOG.debug("Exception encountered while connecting to "
+ "the server : " + ex);
}
// try re-login
if (UserGroupInformation.isLoginKeytabBased()) {
UserGroupInformation.getLoginUser().reloginFromKeytab();

View File

@ -615,7 +615,9 @@ public abstract class Server {
// If there were some calls that have not been sent out for a
// long time, discard them.
//
LOG.debug("Checking for old call responses.");
if(LOG.isDebugEnabled()) {
LOG.debug("Checking for old call responses.");
}
ArrayList<Call> calls;
// get the list of channels from list of keys.

View File

@ -192,16 +192,15 @@ class WritableRpcEngine implements RpcEngine {
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
final boolean logDebug = LOG.isDebugEnabled();
long startTime = 0;
if (logDebug) {
if (LOG.isDebugEnabled()) {
startTime = System.currentTimeMillis();
}
ObjectWritable value = (ObjectWritable)
client.call(new Invocation(method, args), address,
protocol, ticket, rpcTimeout);
if (logDebug) {
if (LOG.isDebugEnabled()) {
long callTime = System.currentTimeMillis() - startTime;
LOG.debug("Call: " + method.getName() + " " + callTime);
}

View File

@ -333,7 +333,9 @@ public class NetworkTopology {
numOfRacks++;
}
}
LOG.debug("NetworkTopology became:\n" + this.toString());
if(LOG.isDebugEnabled()) {
LOG.debug("NetworkTopology became:\n" + this.toString());
}
} finally {
netlock.writeLock().unlock();
}
@ -359,7 +361,9 @@ public class NetworkTopology {
numOfRacks--;
}
}
LOG.debug("NetworkTopology became:\n" + this.toString());
if(LOG.isDebugEnabled()) {
LOG.debug("NetworkTopology became:\n" + this.toString());
}
} finally {
netlock.writeLock().unlock();
}

View File

@ -78,14 +78,18 @@ public class Groups {
long now = System.currentTimeMillis();
// if cache has a value and it hasn't expired
if (groups != null && (groups.getTimestamp() + cacheTimeout > now)) {
LOG.debug("Returning cached groups for '" + user + "'");
if(LOG.isDebugEnabled()) {
LOG.debug("Returning cached groups for '" + user + "'");
}
return groups.getGroups();
}
// Create and cache user's groups
groups = new CachedGroups(impl.getGroups(user));
userToGroupsMap.put(user, groups);
LOG.debug("Returning fetched groups for '" + user + "'");
if(LOG.isDebugEnabled()) {
LOG.debug("Returning fetched groups for '" + user + "'");
}
return groups.getGroups();
}
@ -132,7 +136,9 @@ public class Groups {
*/
public static Groups getUserToGroupsMappingService(Configuration conf) {
if(GROUPS == null) {
LOG.debug(" Creating new Groups object");
if(LOG.isDebugEnabled()) {
LOG.debug(" Creating new Groups object");
}
GROUPS = new Groups(conf);
}
return GROUPS;

View File

@ -80,10 +80,9 @@ public class SaslRpcClient {
break;
case KERBEROS:
if (LOG.isDebugEnabled()) {
LOG
.debug("Creating SASL " + AuthMethod.KERBEROS.getMechanismName()
+ " client. Server's Kerberos principal name is "
+ serverPrincipal);
LOG.debug("Creating SASL " + AuthMethod.KERBEROS.getMechanismName()
+ " client. Server's Kerberos principal name is "
+ serverPrincipal);
}
if (serverPrincipal == null || serverPrincipal.length() == 0) {
throw new IOException(

View File

@ -534,13 +534,17 @@ public class UserGroupInformation {
while (true) {
try {
long now = System.currentTimeMillis();
LOG.debug("Current time is " + now);
LOG.debug("Next refresh is " + nextRefresh);
if(LOG.isDebugEnabled()) {
LOG.debug("Current time is " + now);
LOG.debug("Next refresh is " + nextRefresh);
}
if (now < nextRefresh) {
Thread.sleep(nextRefresh - now);
}
Shell.execCommand(cmd, "-R");
LOG.debug("renewed ticket");
if(LOG.isDebugEnabled()) {
LOG.debug("renewed ticket");
}
reloginFromTicketCache();
tgt = getTGT();
if (tgt == null) {

View File

@ -115,8 +115,10 @@ public class ServiceAuthorizationManager {
// just keep going
}
}
LOG.debug("for protocol authorization compare (" + clientPrincipal + "): "
+ shortName + " with " + user.getShortUserName());
if(LOG.isDebugEnabled()) {
LOG.debug("for protocol authorization compare (" + clientPrincipal +
"): " + shortName + " with " + user.getShortUserName());
}
if((shortName != null && !shortName.equals(user.getShortUserName())) ||
!acl.isUserAllowed(user)) {
AUDITLOG.warn(AUTHZ_FAILED_FOR + user + " for protocol="+protocol);

View File

@ -316,7 +316,9 @@ public class GenericOptionsParser {
if (!localFs.exists(p)) {
throw new FileNotFoundException("File "+fileName+" does not exist.");
}
LOG.debug("setting conf tokensFile: " + fileName);
if(LOG.isDebugEnabled()) {
LOG.debug("setting conf tokensFile: " + fileName);
}
conf.set("mapreduce.job.credentials.json", localFs.makeQualified(p)
.toString());

View File

@ -42,15 +42,20 @@ public class NativeCodeLoader {
static {
// Try to load native hadoop library and set fallback flag appropriately
LOG.debug("Trying to load the custom-built native-hadoop library...");
if(LOG.isDebugEnabled()) {
LOG.debug("Trying to load the custom-built native-hadoop library...");
}
try {
System.loadLibrary("hadoop");
LOG.info("Loaded the native-hadoop library");
nativeCodeLoaded = true;
} catch (Throwable t) {
// Ignore failure to load
LOG.debug("Failed to load native-hadoop with error: " + t);
LOG.debug("java.library.path=" + System.getProperty("java.library.path"));
if(LOG.isDebugEnabled()) {
LOG.debug("Failed to load native-hadoop with error: " + t);
LOG.debug("java.library.path=" +
System.getProperty("java.library.path"));
}
}
if (!nativeCodeLoaded) {

View File

@ -94,7 +94,9 @@ public class ProbabilityModel {
float ret = conf.getFloat(newProbName,
conf.getFloat(ALL_PROBABILITIES, DEFAULT_PROB));
LOG.debug("Request for " + newProbName + " returns=" + ret);
if(LOG.isDebugEnabled()) {
LOG.debug("Request for " + newProbName + " returns=" + ret);
}
// Make sure that probability level is valid.
if (ret < DEFAULT_PROB || ret > MAX_PROB) {
LOG.info("Probability level is incorrect. Default value is set");

View File

@ -310,7 +310,9 @@ public class LoadGenerator extends Configured implements Tool {
}
}
LOG.debug("Done with testing. Waiting for threads to finish.");
if(LOG.isDebugEnabled()) {
LOG.debug("Done with testing. Waiting for threads to finish.");
}
for (DFSClientThread thread : threads) {
thread.join();
for (int i=0; i<TOTAL_OP_TYPES; i++) {

View File

@ -54,7 +54,9 @@ public class TestArrayFile extends TestCase {
}
private static RandomDatum[] generate(int count) {
LOG.debug("generating " + count + " records in debug");
if(LOG.isDebugEnabled()) {
LOG.debug("generating " + count + " records in debug");
}
RandomDatum[] data = new RandomDatum[count];
RandomDatum.Generator generator = new RandomDatum.Generator();
for (int i = 0; i < count; i++) {
@ -68,7 +70,9 @@ public class TestArrayFile extends TestCase {
throws IOException {
Configuration conf = new Configuration();
MapFile.delete(fs, file);
LOG.debug("creating with " + data.length + " debug");
if(LOG.isDebugEnabled()) {
LOG.debug("creating with " + data.length + " debug");
}
ArrayFile.Writer writer = new ArrayFile.Writer(conf, fs, file, RandomDatum.class);
writer.setIndexInterval(100);
for (int i = 0; i < data.length; i++)
@ -79,7 +83,9 @@ public class TestArrayFile extends TestCase {
private static void readTest(FileSystem fs, RandomDatum[] data, String file, Configuration conf)
throws IOException {
RandomDatum v = new RandomDatum();
LOG.debug("reading " + data.length + " debug");
if(LOG.isDebugEnabled()) {
LOG.debug("reading " + data.length + " debug");
}
ArrayFile.Reader reader = new ArrayFile.Reader(fs, file, conf);
for (int i = 0; i < data.length; i++) { // try forwards
reader.get(i, v);
@ -94,7 +100,9 @@ public class TestArrayFile extends TestCase {
}
}
reader.close();
LOG.debug("done reading " + data.length + " debug");
if(LOG.isDebugEnabled()) {
LOG.debug("done reading " + data.length + " debug");
}
}

View File

@ -83,7 +83,9 @@ public class TestAvroRpc extends TestCase {
try {
proxy.error();
} catch (AvroRemoteException e) {
LOG.debug("Caught " + e);
if(LOG.isDebugEnabled()) {
LOG.debug("Caught " + e);
}
caught = true;
}
assertTrue(caught);

View File

@ -296,7 +296,9 @@ public class TestRPC extends TestCase {
try {
proxy.error();
} catch (IOException e) {
LOG.debug("Caught " + e);
if(LOG.isDebugEnabled()) {
LOG.debug("Caught " + e);
}
caught = true;
}
assertTrue(caught);

View File

@ -482,7 +482,9 @@ public abstract class AbstractDaemonCluster {
LOG.info("Daemon is : " + daemon.getHostName() + " pinging...");
break;
} catch (Exception exp) {
LOG.debug(daemon.getHostName() + " is waiting to come up.");
if(LOG.isDebugEnabled()) {
LOG.debug(daemon.getHostName() + " is waiting to come up.");
}
waitFor(60000);
}
}
@ -502,7 +504,9 @@ public abstract class AbstractDaemonCluster {
while (true) {
try {
daemon.ping();
LOG.debug(daemon.getHostName() +" is waiting state to stop.");
if(LOG.isDebugEnabled()) {
LOG.debug(daemon.getHostName() +" is waiting state to stop.");
}
waitFor(60000);
} catch (Exception exp) {
LOG.info("Daemon is : " + daemon.getHostName() + " stopped...");