hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Luke Lu (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-6884) Add LOG.isDebugEnabled() guard for each LOG.debug("...")
Date Tue, 17 Aug 2010 16:41:17 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-6884?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12899461#action_12899461
] 

Luke Lu commented on HADOOP-6884:
---------------------------------

Did some digging on the aspectj wrapping approach. Looks like it's a no go performance wise,
as it cannot solve the arguments building cost issue without fixing aspectj itself, as someone
else tried to do exactly the same thing here:

http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg09294.html

Looks the most reasonable current course of action is just committing the patch as it looks
correct, low risk and significantly lower gc stress (especially in namenode code, according
to Suresh in offline discussions.) 

We should file a separate jira to explore the switching to slf4j api (still using log4j as
backend) approach. One open issue even with slf4j API is that it doesn't solve the autoboxing
cost issue for primitive types, which we use a lot the logs:

http://qos.ch/pipermail/slf4j-dev/2005-August/000241.html (old but still reflecting the current
API design.)

> Add LOG.isDebugEnabled() guard for each LOG.debug("...")
> --------------------------------------------------------
>
>                 Key: HADOOP-6884
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6884
>             Project: Hadoop Common
>          Issue Type: Improvement
>    Affects Versions: 0.22.0
>            Reporter: Erik Steffl
>            Assignee: Erik Steffl
>             Fix For: 0.22.0
>
>         Attachments: HADOOP-6884-0.22-1.patch, HADOOP-6884-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 whether it's necessary or not).

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


Mime
View raw message