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)

Reply via email to