[
https://issues.apache.org/jira/browse/HADOOP-11032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14254506#comment-14254506
]
Sangjin Lee commented on HADOOP-11032:
--------------------------------------
Thanks for the update. It looks good to me except for just one thing. Currently
in Journal.java you have
{code}
long nanoSeconds = sw.now();
metrics.addSync(
TimeUnit.MICROSECONDS.convert(nanoSeconds, TimeUnit.NANOSECONDS));
if (TimeUnit.MILLISECONDS.convert(nanoSeconds, TimeUnit.NANOSECONDS)
> WARN_SYNC_MILLIS_THRESHOLD) {
LOG.warn("Sync of transaction range " + firstTxnId + "-" + lastTxnId +
" took " + sw.now(TimeUnit.MILLISECONDS) + "ms");
{code}
I think this could be improved slightly to shave off a few more cycles:
{code}
long nanoSeconds = sw.now();
metrics.addSync(
TimeUnit.MICROSECONDS.convert(nanoSeconds, TimeUnit.NANOSECONDS));
long millis = TimeUnit.MILLISECONDS.convert(nanoSeconds,
TimeUnit.NANOSECONDS);
if (millis > WARN_SYNC_MILLIS_THRESHOLD) {
LOG.warn("Sync of transaction range " + firstTxnId + "-" + lastTxnId +
" took " + millis + "ms");
{code}
or
{code}
long micros = sw.now(TimeUnit.MICROSECONDS);
metrics.addSync(micros);
long millis = TimeUnit.MILLISECONDS.convert(micros, TimeUnit.MICROSECONDS);
if (millis > WARN_SYNC_MILLIS_THRESHOLD) {
LOG.warn("Sync of transaction range " + firstTxnId + "-" + lastTxnId +
" took " + millis + "ms");
{code}
> Replace use of Guava Stopwatch with Apache StopWatch
> ----------------------------------------------------
>
> Key: HADOOP-11032
> URL: https://issues.apache.org/jira/browse/HADOOP-11032
> Project: Hadoop Common
> Issue Type: Improvement
> Reporter: Gary Steelman
> Assignee: Tsuyoshi OZAWA
> Attachments: HADOOP-11032.1.patch, HADOOP-11032.2.patch,
> HADOOP-11032.3.patch, HADOOP-11032.3.patch, HADOOP-11032.3.patch,
> HADOOP-11032.3.patch, HADOOP-11032.3.patch, HADOOP-11032.4.patch,
> HADOOP-11032.5.patch, HADOOP-11032.6.patch
>
>
> This patch reduces Hadoop's dependency on an old version of guava.
> Stopwatch.elapsedMillis() isn't part of guava past v16 and the tools I'm
> working on use v17.
> To remedy this and also reduce Hadoop's reliance on old versions of guava, we
> can use the Apache StopWatch (org.apache.commons.lang.time.StopWatch) which
> provides nearly equivalent functionality. apache.commons.lang is already a
> dependency for Hadoop so this will not introduce new dependencies.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)