You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Lin Yiqun (JIRA)" <ji...@apache.org> on 2016/02/04 16:31:39 UTC
[jira] [Created] (HDFS-9756) Hard-Code value in
DataTransferThrottler
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)