Lin Yiqun created HDFS-9756:
-------------------------------
Summary: Hard-Code value in DataTransferThrottler
Key: HDFS-9756
URL: https://issues.apache.org/jira/browse/HDFS-9756
Project: Hadoop HDFS
Issue Type: Bug
Affects Versions: 2.7.1
Reporter: Lin Yiqun
Assignee: Lin Yiqun
In DataTransferThrottler, the period time is hard-code for 500 ms. Even though
it has other construction method,
{code}
/**
* Constructor
* @param period in milliseconds. Bandwidth is enforced over this
* period.
* @param bandwidthPerSec bandwidth allowed in bytes per second.
*/
public DataTransferThrottler(long period, long bandwidthPerSec) {
this.curPeriodStart = monotonicNow();
this.period = period;
this.curReserve = this.bytesPerPeriod = bandwidthPerSec*period/1000;
this.periodExtension = period*3;
}
{code}
but it was only invoked by this method
{code}
public DataTransferThrottler(long bandwidthPerSec) {
this(500, bandwidthPerSec); // by default throttling period is 500ms
}
{code}
So the period is a hard-code. This value can also influence the
data-transfering. If period time value set small, the number of times to
waitting for next period will be increased and the total waitting-time also be
increased. So the average bandwidth will be decreased.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)