[ https://issues.apache.org/jira/browse/HDFS-14346?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chao Sun updated HDFS-14346: ---------------------------- Attachment: HDFS-14346.002.patch > Better time precision in getTimeDuration > ---------------------------------------- > > Key: HDFS-14346 > URL: https://issues.apache.org/jira/browse/HDFS-14346 > Project: Hadoop HDFS > Issue Type: Improvement > Components: namenode > Reporter: Chao Sun > Assignee: Chao Sun > Priority: Minor > Attachments: HDFS-14346.000.patch, HDFS-14346.001.patch, > HDFS-14346.002.patch > > > Currently, {{Configuration#getTimeDuration}} has the following signature: > {code} > /** > * Return time duration in the given time unit. Valid units are encoded in > * properties as suffixes: nanoseconds (ns), microseconds (us), milliseconds > * (ms), seconds (s), minutes (m), hours (h), and days (d). > * @param name Property name > * @param defaultValue Value returned if no mapping exists. > * @param unit Unit to convert the stored property, if it exists. > * @throws NumberFormatException If the property stripped of its unit is not > * a number > */ > public long getTimeDuration(String name, long defaultValue, TimeUnit unit) > {code} > This may lose precision in case the default time unit is larger than the time > unit that the configuration value is converted to in the call sites of this > method. For instance, in {{EditLogTailer}} this method is used in the > following manner: > {code} > logRollPeriodMs = conf.getTimeDuration( > DFSConfigKeys.DFS_HA_LOGROLL_PERIOD_KEY, > DFSConfigKeys.DFS_HA_LOGROLL_PERIOD_DEFAULT, TimeUnit.SECONDS) * 1000; > sleepTimeMs = conf.getTimeDuration( > DFSConfigKeys.DFS_HA_TAILEDITS_PERIOD_KEY, > DFSConfigKeys.DFS_HA_TAILEDITS_PERIOD_DEFAULT, TimeUnit.SECONDS) * > 1000; > {code} > in both cases, the default time unit is second, and the configuration value > is converted into milli-seconds. Precision is lost when people want to > specify sub-second time duration such as {{100ms}}, which will be converted > to {{0ms}}. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org