[ https://issues.apache.org/jira/browse/HADOOP-8608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13468372#comment-13468372 ]
Jianbin Wei commented on HADOOP-8608: ------------------------------------- I am thinking the API can be {code} // return the property value in millisecond. The property value can be specified as "10ms", "10s", "10m", "10h", or "10d" public long getTimeDurationInMillisecond(String name, long defaultValue); {code} After that developers can use methods like {code} java.util.concurrent.TimeUnit.MILLISECONDS.toSeconds(long duration) {code} to convert to duration in second or other time units. However, the conversion from TimeUnit may lost precision, e.g., 70 seconds will be converted to 1 minute. Any thoughts? > Add Configuration API for parsing time durations > ------------------------------------------------ > > Key: HADOOP-8608 > URL: https://issues.apache.org/jira/browse/HADOOP-8608 > Project: Hadoop Common > Issue Type: Improvement > Components: conf > Affects Versions: 3.0.0 > Reporter: Todd Lipcon > > Hadoop has a lot of configurations which specify durations or intervals of > time. Unfortunately these different configurations have little consistency in > units - eg some are in milliseconds, some in seconds, and some in minutes. > This makes it difficult for users to configure, since they have to always > refer back to docs to remember the unit for each property. > The proposed solution is to add an API like {{Configuration.getTimeDuration}} > which allows the user to specify the units with a postfix. For example, > "10ms", "10s", "10m", "10h", or even "10d". For backwards-compatibility, if > the user does not specify a unit, the API can specify the default unit, and > warn the user that they should specify an explicit unit instead. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira