HDFS-8009. Signal congestion on the DataNode. Contributed by Haohui Mai.
This commit is contained in:
parent
492239424a
commit
53471d462c
@ -371,6 +371,8 @@ Release 2.8.0 - UNRELEASED
|
||||
HDFS-7671. hdfs user guide should point to the common rack awareness doc.
|
||||
(Kai Sasaki via aajisaka)
|
||||
|
||||
HDFS-8009. Signal congestion on the DataNode. (wheat9)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
BUG FIXES
|
||||
|
@ -354,6 +354,9 @@ public static InetSocketAddress createSocketAddr(String target) {
|
||||
private String dnUserName = null;
|
||||
|
||||
private SpanReceiverHost spanReceiverHost;
|
||||
private static final int NUM_CORES = Runtime.getRuntime()
|
||||
.availableProcessors();
|
||||
private static final double CONGESTION_RATIO = 1.5;
|
||||
|
||||
/**
|
||||
* Creates a dummy DataNode for testing purpose.
|
||||
@ -484,8 +487,13 @@ public Collection<String> getReconfigurableProperties() {
|
||||
* </ul>
|
||||
*/
|
||||
public PipelineAck.ECN getECN() {
|
||||
return pipelineSupportECN ? PipelineAck.ECN.SUPPORTED : PipelineAck.ECN
|
||||
.DISABLED;
|
||||
if (!pipelineSupportECN) {
|
||||
return PipelineAck.ECN.DISABLED;
|
||||
}
|
||||
double load = ManagementFactory.getOperatingSystemMXBean()
|
||||
.getSystemLoadAverage();
|
||||
return load > NUM_CORES * CONGESTION_RATIO ? PipelineAck.ECN.CONGESTED :
|
||||
PipelineAck.ECN.SUPPORTED;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user