HDFS-9087. Add some jitter to DataNode.checkDiskErrorThread (Elliott Clark via Colin P. McCabe)
(cherry picked from commit 0b31c237f2
)
This commit is contained in:
parent
94cbb6d164
commit
2dca55be00
|
@ -632,6 +632,9 @@ Release 2.8.0 - UNRELEASED
|
|||
HDFS-8053. Move DFSIn/OutputStream and related classes to
|
||||
hadoop-hdfs-client. (Mingliang Liu via wheat9)
|
||||
|
||||
HDFS-9087. Add some jitter to DataNode.checkDiskErrorThread (Elliott Clark
|
||||
via Colin P. McCabe)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
HDFS-8026. Trace FSOutputSummer#writeChecksumChunks rather than
|
||||
|
|
|
@ -88,6 +88,7 @@ import java.util.concurrent.ExecutorService;
|
|||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.Future;
|
||||
import java.util.concurrent.ScheduledThreadPoolExecutor;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
|
@ -359,7 +360,7 @@ public class DataNode extends ReconfigurableBase
|
|||
private final boolean getHdfsBlockLocationsEnabled;
|
||||
private ObjectName dataNodeInfoBeanName;
|
||||
private Thread checkDiskErrorThread = null;
|
||||
protected final int checkDiskErrorInterval = 5*1000;
|
||||
protected final int checkDiskErrorInterval;
|
||||
private boolean checkDiskErrorFlag = false;
|
||||
private Object checkDiskErrorMutex = new Object();
|
||||
private long lastDiskErrorCheck;
|
||||
|
@ -391,6 +392,8 @@ public class DataNode extends ReconfigurableBase
|
|||
this.connectToDnViaHostname = false;
|
||||
this.getHdfsBlockLocationsEnabled = false;
|
||||
this.pipelineSupportECN = false;
|
||||
this.checkDiskErrorInterval =
|
||||
ThreadLocalRandom.current().nextInt(5000, (int) (5000 * 1.25));
|
||||
initOOBTimeout();
|
||||
}
|
||||
|
||||
|
@ -429,6 +432,9 @@ public class DataNode extends ReconfigurableBase
|
|||
",hdfs-" +
|
||||
conf.get("hadoop.hdfs.configuration.version", "UNSPECIFIED");
|
||||
|
||||
this.checkDiskErrorInterval =
|
||||
ThreadLocalRandom.current().nextInt(5000, (int) (5000 * 1.25));
|
||||
|
||||
// Determine whether we should try to pass file descriptors to clients.
|
||||
if (conf.getBoolean(HdfsClientConfigKeys.Read.ShortCircuit.KEY,
|
||||
HdfsClientConfigKeys.Read.ShortCircuit.DEFAULT)) {
|
||||
|
|
Loading…
Reference in New Issue