Details
Description
HDFS configuration keys that define time intervals use units inconsistently (Hours, seconds, milliseconds).
Not all keys have the unit as part of their name. Related keys may use different units e.g. dfs.blockreport.intervalMsec accepts msec while dfs.blockreport.initialDelay accepts seconds. Milliseconds is rarely useful as a time unit which makes these values hard to parse when reading config files.
We can either
- Let existing keys use friendly units e.g. 100ms, 60s, 5m, 1d, 6w etc. This can be done compatibly since there will be no conflict with existing valid configuration. If no suffix is specified just default to the current time unit.
- Just deprecate the existing keys and define new ones that accept friendly units.
We continue to use fine-grained time units (usually ms) internally in code and also accept "ms" option for tests.
Attachments
Issue Links
- is related to
-
HADOOP-12848 Configuration.ParsedTimeDuration.unitFor(String) should do more careful parsing
- Resolved
-
HADOOP-8608 Add Configuration API for parsing time durations
- Closed