[
https://issues.apache.org/jira/browse/HDFS-9821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15163793#comment-15163793
]
Colin Patrick McCabe commented on HDFS-9821:
--------------------------------------------
It seems odd to me to have a configuration key that explicitly says "millis"
and configure it in terms of hours (or some other time unit). On the other
hand, if we have to introduce new unit-less keys for every affected key,
that's quite a few new keys.
I did a quick survey and found all these:
{code}
dfs.client.write.byte-array-manager.count-reset-time-period-ms
dfs.client.file-block-storage-locations.timeout.millis
dfs.client.socketcache.expiryMsec
dfs.client.write.exclude.nodes.cache.expiry.interval.millis
dfs.datanode.lazywriter.interval.sec
dfs.namenode.storageinfo.defragment.interval.ms
dfs.namenode.storageinfo.defragment.timeout.ms
dfs.namenode.edit.log.autoroll.check.interval.ms
dfs.namenode.lazypersist.file.scrub.interval.sec
dfs.content-summary.sleep-microsec
dfs.datanode.oob.timeout-ms
dfs.datanode.cache.revocation.timeout.ms
dfs.datanode.cache.revocation.polling.ms
dfs.namenode.path.based.cache.refresh.interval.ms
dfs.namenode.startup.delay.block.deletion.sec
dfs.datanode.scan.period.hours
dfs.namenode.path.based.cache.retry.interval.ms
dfs.blockreport.intervalMsec
dfs.namenode.full.block.report.lease.length.ms
dfs.cachereport.intervalMsec
dfs.client.read.shortcircuit.streams.cache.expiry.ms
dfs.client.mmap.cache.timeout.ms
dfs.client.mmap.retry.timeout.ms
dfs.client.short.circuit.replica.stale.threshold.ms
...
{code}
at that point I stopped counting since there were too many. So yes, I guess
re-using the existing key names is more pragmatic.
> HDFS configuration should accept friendly time units
> ----------------------------------------------------
>
> Key: HDFS-9821
> URL: https://issues.apache.org/jira/browse/HDFS-9821
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: datanode, namenode
> Affects Versions: 2.8.0
> Reporter: Arpit Agarwal
> Assignee: Xiaobing Zhou
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)