You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/06/01 21:08:04 UTC
[jira] [Commented] (BOOKKEEPER-1090) Use LOG.isDebugEnabled() to
avoid unexpected allocations
[ https://issues.apache.org/jira/browse/BOOKKEEPER-1090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16033698#comment-16033698 ]
ASF GitHub Bot commented on BOOKKEEPER-1090:
--------------------------------------------
GitHub user merlimat opened a pull request:
https://github.com/apache/bookkeeper/pull/179
BOOKKEEPER-1090: Use LOG.isDebugEnabled() to avoid unexpected allocations
Using `LOG.debug(...)` can lead to multiple unexpected memory allocation, even when the logger it's turned off.
For example, int and long parameter are boxed into Integer and Long objects and the var-arg parameters are using an `Object[]` to hold
them.
We should guard all usages of `LOG.debug()` with the `if (LOG.isDebugEnabled()` guard.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/merlimat/bookkeeper if-debug
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/bookkeeper/pull/179.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #179
----
commit 4e74b4c9693245c71e1ac58747b9f6e71005b430
Author: Matteo Merli <mm...@yahoo-inc.com>
Date: 2015-05-11T06:41:56Z
BOOKKEEPER-1090: Use LOG.isDebugEnabled() to avoid unexpected allocations
----
> Use LOG.isDebugEnabled() to avoid unexpected allocations
> --------------------------------------------------------
>
> Key: BOOKKEEPER-1090
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-1090
> Project: Bookkeeper
> Issue Type: Improvement
> Reporter: Matteo Merli
> Assignee: Matteo Merli
> Priority: Minor
> Fix For: 4.5.0
>
>
> Using {{LOG.debug(...)}} can lead to multiple unexpected memory allocation, even when the logger it's turned off.
> For example, {{int}} and {{long}} parameter are boxed into {{Integer}} and {{Long}} objects and the var-arg parameters are using an {{Object[]}} to hold
> them.
> We should guard all usages of {{LOG.debug()}} with the {{if (LOG.isDebugEnabled()}} guard.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)