[ 
https://issues.apache.org/jira/browse/HDFS-1320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12892951#action_12892951
 ] 

Erik Steffl commented on HDFS-1320:
-----------------------------------

Re fast-path optimization: we don't know and JVM optimizations depends on user 
setup (user determines which java command line options are used). Optimizations 
also vary across platforms and versions.

Just to make sure I did try code like the following:

LOG.debug("debug log" + a.logSomething());

a.logSomething() is always called, even though debug is not enabled (and debug 
log message does not get into log).

It's possible that in different runtime it's optimized away somehow but I don't 
think we can rely on it.

Do you have any specific thoughts on how it would be optimized away?

> Add LOG.isDebugEnabled() guard for each LOG.debug("...")
> --------------------------------------------------------
>
>                 Key: HDFS-1320
>                 URL: https://issues.apache.org/jira/browse/HDFS-1320
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>    Affects Versions: 0.22.0
>            Reporter: Erik Steffl
>             Fix For: 0.22.0
>
>         Attachments: HDFS-1320-0.22.patch
>
>
> Each LOG.debug("...") should be executed only if LOG.isDebugEnabled() is 
> true, in some cases it's expensive to construct the string that is being 
> printed to log. It's much easier to always use LOG.isDebugEnabled() because 
> it's easier to check (rather than in each case reason wheather it's 
> neccessary or not).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to