[ https://issues.apache.org/jira/browse/HADOOP-8608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13469209#comment-13469209 ]
Jianbin Wei commented on HADOOP-8608: ------------------------------------- Comments as follows: * I am kind of concerned about the "lose precision" from the conversion. That is why I propose to give that control back to the caller to make the precision lose explicitly. If we go this approach, at least I think we should document this precision lose. Comments? * The parsing of value is a bit loose. For example, it cannot handle "10S" or "10 s". A strict format can reduce errors but may be inflexible and the exception can be little harsh. Or we need to document the expecting format is "10s" not "10 s" nor "10sec". * Also the parsing part relies on the enum order implicitly. It works now. But it may bite us later. A Pattern instead? * It would be better to add the value of the timeduration property into LOG. * Can you please change test from "testTime" to "testTimeDuration" for consistency? {code} conf.setStrings("test.time.str", new String[]{"10S"}); assertEquals(10000L, conf.getTimeDuration("test.time.str", 30, MILLISECONDS)); {code} It logs 2012-10-04 00:29:37,172 WARN conf.Configuration (Configuration.java:getTimeDuration(1212)) - No unit for test.time.str assuming MILLISECONDS Better as "No unit for test.time.str (value: 10S), assuming MILLISECONDS" or something like that with property value > 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 > Attachments: 8608-0.patch > > > 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