HBASE-17006 Give name to existing threads.
Having thread names in logs and thread dumps greatly improve debugability. This patch is simply adding the names to the threads we spawn. Change-Id: I6ff22cc3804bb81147dde3a8e9ab671633c6f6ce
This commit is contained in:
parent
b4676d51ad
commit
51ba7cfde3
|
@ -113,7 +113,7 @@ public class PolicyBasedChaosMonkey extends ChaosMonkey {
|
|||
|
||||
for (int i=0; i<policies.length; i++) {
|
||||
policies[i].init(new Policy.PolicyContext(this.util));
|
||||
Thread monkeyThread = new Thread(policies[i]);
|
||||
Thread monkeyThread = new Thread(policies[i], "ChaosMonkeyThread");
|
||||
monkeyThread.start();
|
||||
monkeyThreads[i] = monkeyThread;
|
||||
}
|
||||
|
|
|
@ -273,7 +273,7 @@ public class HFileSystem extends FilterFileSystem {
|
|||
ClientProtocol cp1 = createReorderingProxy(namenode, lrb, conf);
|
||||
nf.set(dfsc, cp1);
|
||||
LOG.info("Added intercepting call to namenode#getBlockLocations so can do block reordering" +
|
||||
" using class " + lrb.getClass());
|
||||
" using class " + lrb.getClass().getName());
|
||||
} catch (NoSuchFieldException e) {
|
||||
LOG.warn("Can't modify the DFSClient#namenode field to add the location reorder.", e);
|
||||
return false;
|
||||
|
|
|
@ -63,8 +63,8 @@ public class PrefetchExecutor {
|
|||
new ThreadFactory() {
|
||||
@Override
|
||||
public Thread newThread(Runnable r) {
|
||||
Thread t = new Thread(r);
|
||||
t.setName("hfile-prefetch-" + System.currentTimeMillis());
|
||||
String name = "hfile-prefetch-" + System.currentTimeMillis();
|
||||
Thread t = new Thread(r, name);
|
||||
t.setDaemon(true);
|
||||
return t;
|
||||
}
|
||||
|
|
|
@ -719,6 +719,7 @@ public class BucketCache implements BlockCache, HeapSize {
|
|||
private volatile boolean writerEnabled = true;
|
||||
|
||||
WriterThread(BlockingQueue<RAMQueueEntry> queue) {
|
||||
super("BucketCacheWriterThread");
|
||||
this.inputQueue = queue;
|
||||
}
|
||||
|
||||
|
|
|
@ -673,7 +673,8 @@ public class HMaster extends HRegionServer implements MasterServices, Server {
|
|||
throws IOException, InterruptedException, KeeperException, CoordinatedStateException {
|
||||
|
||||
isActiveMaster = true;
|
||||
Thread zombieDetector = new Thread(new InitializationMonitor(this));
|
||||
Thread zombieDetector = new Thread(new InitializationMonitor(this),
|
||||
"ActiveMasterInitializationMonitor-" + System.currentTimeMillis());
|
||||
zombieDetector.start();
|
||||
|
||||
/*
|
||||
|
|
|
@ -124,9 +124,8 @@ public class CompactSplitThread implements CompactionRequestor, PropagatingConfi
|
|||
new ThreadFactory() {
|
||||
@Override
|
||||
public Thread newThread(Runnable r) {
|
||||
Thread t = new Thread(r);
|
||||
t.setName(n + "-longCompactions-" + System.currentTimeMillis());
|
||||
return t;
|
||||
String name = n + "-longCompactions-" + System.currentTimeMillis();
|
||||
return new Thread(r, name);
|
||||
}
|
||||
});
|
||||
this.longCompactions.setRejectedExecutionHandler(new Rejection());
|
||||
|
@ -136,9 +135,8 @@ public class CompactSplitThread implements CompactionRequestor, PropagatingConfi
|
|||
new ThreadFactory() {
|
||||
@Override
|
||||
public Thread newThread(Runnable r) {
|
||||
Thread t = new Thread(r);
|
||||
t.setName(n + "-shortCompactions-" + System.currentTimeMillis());
|
||||
return t;
|
||||
String name = n + "-shortCompactions-" + System.currentTimeMillis();
|
||||
return new Thread(r, name);
|
||||
}
|
||||
});
|
||||
this.shortCompactions
|
||||
|
@ -148,9 +146,8 @@ public class CompactSplitThread implements CompactionRequestor, PropagatingConfi
|
|||
new ThreadFactory() {
|
||||
@Override
|
||||
public Thread newThread(Runnable r) {
|
||||
Thread t = new Thread(r);
|
||||
t.setName(n + "-splits-" + System.currentTimeMillis());
|
||||
return t;
|
||||
String name = n + "-splits-" + System.currentTimeMillis();
|
||||
return new Thread(r, name);
|
||||
}
|
||||
});
|
||||
int mergeThreads = conf.getInt(MERGE_THREADS, MERGE_THREADS_DEFAULT);
|
||||
|
@ -158,9 +155,8 @@ public class CompactSplitThread implements CompactionRequestor, PropagatingConfi
|
|||
mergeThreads, new ThreadFactory() {
|
||||
@Override
|
||||
public Thread newThread(Runnable r) {
|
||||
Thread t = new Thread(r);
|
||||
t.setName(n + "-merges-" + System.currentTimeMillis());
|
||||
return t;
|
||||
String name = n + "-merges-" + System.currentTimeMillis();
|
||||
return new Thread(r, name);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -497,9 +497,6 @@ public class HRegionServer extends HasThread implements
|
|||
|
||||
/**
|
||||
* Starts a HRegionServer at the default location.
|
||||
* @param conf
|
||||
* @throws IOException
|
||||
* @throws InterruptedException
|
||||
*/
|
||||
public HRegionServer(Configuration conf) throws IOException, InterruptedException {
|
||||
this(conf, CoordinatedStateManagerFactory.getCoordinatedStateManager(conf));
|
||||
|
@ -507,13 +504,11 @@ public class HRegionServer extends HasThread implements
|
|||
|
||||
/**
|
||||
* Starts a HRegionServer at the default location
|
||||
* @param conf
|
||||
* @param csm implementation of CoordinatedStateManager to be used
|
||||
* @throws IOException
|
||||
* @throws InterruptedException
|
||||
*/
|
||||
public HRegionServer(Configuration conf, CoordinatedStateManager csm)
|
||||
throws IOException, InterruptedException {
|
||||
super("RegionServer"); // thread name
|
||||
this.fsOk = true;
|
||||
this.conf = conf;
|
||||
checkCodecs(this.conf);
|
||||
|
|
|
@ -68,6 +68,7 @@ public class Leases extends HasThread {
|
|||
* (milliseconds)
|
||||
*/
|
||||
public Leases(final int leaseCheckFrequency) {
|
||||
super("RegionServerLeases"); // thread name
|
||||
this.leaseCheckFrequency = leaseCheckFrequency;
|
||||
setDaemon(true);
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ public class LogRoller extends HasThread {
|
|||
|
||||
/** @param server */
|
||||
public LogRoller(final Server server, final RegionServerServices services) {
|
||||
super();
|
||||
super("LogRoller");
|
||||
this.server = server;
|
||||
this.services = services;
|
||||
this.rollperiod = this.server.getConfiguration().
|
||||
|
|
|
@ -119,7 +119,8 @@ public class ShutdownHook {
|
|||
if (refs == 1) {
|
||||
LOG.info("Starting fs shutdown hook thread.");
|
||||
Thread fsShutdownHookThread = (fsShutdownHook instanceof Thread) ?
|
||||
(Thread)fsShutdownHook : new Thread(fsShutdownHook);
|
||||
(Thread)fsShutdownHook : new Thread(fsShutdownHook,
|
||||
fsShutdownHook.getClass().getSimpleName() + "-shutdown-hook");
|
||||
fsShutdownHookThread.start();
|
||||
Threads.shutdown(fsShutdownHookThread,
|
||||
this.conf.getLong(FS_SHUTDOWN_HOOK_WAIT, 30000));
|
||||
|
|
|
@ -718,7 +718,7 @@ public final class Canary implements Tool {
|
|||
// Do monitor !!
|
||||
try {
|
||||
monitor = this.newMonitor(connection, index, args);
|
||||
monitorThread = new Thread(monitor);
|
||||
monitorThread = new Thread(monitor, "CanaryMonitor-" + System.currentTimeMillis());
|
||||
startTime = System.currentTimeMillis();
|
||||
monitorThread.start();
|
||||
while (!monitor.isDone()) {
|
||||
|
|
|
@ -83,9 +83,8 @@ public class JvmPauseMonitor {
|
|||
|
||||
public void start() {
|
||||
Preconditions.checkState(monitorThread == null, "Already started");
|
||||
monitorThread = new Thread(new Monitor());
|
||||
monitorThread = new Thread(new Monitor(), "JvmPauseMonitor");
|
||||
monitorThread.setDaemon(true);
|
||||
monitorThread.setName("JvmPauseMonitor");
|
||||
monitorThread.start();
|
||||
}
|
||||
|
||||
|
|
|
@ -267,8 +267,7 @@ public abstract class ModifyRegionUtils {
|
|||
|
||||
@Override
|
||||
public Thread newThread(Runnable r) {
|
||||
Thread t = new Thread(r, threadNamePrefix + "-" + count++);
|
||||
return t;
|
||||
return new Thread(r, threadNamePrefix + "-" + count++);
|
||||
}
|
||||
});
|
||||
return regionOpenAndInitThreadPool;
|
||||
|
|
|
@ -69,9 +69,7 @@ public class PerformanceEvaluationCommons {
|
|||
long now = System.currentTimeMillis();
|
||||
List<Thread> threads = new ArrayList<Thread>(count);
|
||||
for (int i = 0; i < count; i++) {
|
||||
Thread t = new Thread(r);
|
||||
t.setName("" + i);
|
||||
threads.add(t);
|
||||
threads.add(new Thread(r, "concurrentRead-" + i));
|
||||
}
|
||||
for (Thread t: threads) {
|
||||
t.start();
|
||||
|
|
|
@ -162,7 +162,8 @@ public abstract class MultiThreadedAction {
|
|||
this.startKey = startKey;
|
||||
this.endKey = endKey;
|
||||
this.numThreads = numThreads;
|
||||
(new Thread(new ProgressReporter(actionLetter))).start();
|
||||
(new Thread(new ProgressReporter(actionLetter),
|
||||
"MultiThreadedAction-ProgressReporter-" + System.currentTimeMillis())).start();
|
||||
}
|
||||
|
||||
private static String formatTime(long elapsedTime) {
|
||||
|
|
|
@ -89,7 +89,8 @@ public abstract class MultiThreadedWriterBase extends MultiThreadedAction {
|
|||
wroteUpToKey.set(startKey - 1);
|
||||
|
||||
if (trackWroteKeys) {
|
||||
new Thread(new WroteKeysTracker()).start();
|
||||
new Thread(new WroteKeysTracker(),
|
||||
"MultiThreadedWriterBase-WroteKeysTracker-" + System.currentTimeMillis()).start();
|
||||
numThreadsWorking.incrementAndGet();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue