[
https://issues.apache.org/jira/browse/KAFKA-2992?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15059402#comment-15059402
]
Grant Henke commented on KAFKA-2992:
------------------------------------
[~ijuma] [~gwenshap] This is related to KAFKA-2285 and the discussion there. A
general solution to this problem should/would also fix the call site problem.
We could update that jira to be sure it includes the inlining or something with
a similar functionality.
Note: @inline will work in traits in Scala 2.12 and experimentally in 2.11.7.
See [SI-4767|https://issues.scala-lang.org/browse/SI-4767]
> Trace log statements in the replica fetcher inner loop create large amounts
> of garbage
> --------------------------------------------------------------------------------------
>
> Key: KAFKA-2992
> URL: https://issues.apache.org/jira/browse/KAFKA-2992
> Project: Kafka
> Issue Type: Improvement
> Components: core
> Affects Versions: 0.8.2.1, 0.9.0.0
> Environment: Centos 6, Java 1.8.0_20
> Reporter: Cory Kolbeck
> Priority: Minor
> Labels: garbage, logging, trace
> Fix For: 0.9.1.0
>
>
> We're seeing some GC pause issues in production, and during our investigation
> found that the thunks created during invocation of three trace statements
> guarded in the attached PR were responsible for ~98% of all allocations by
> object count and ~90% by size. While I'm not sure that this was actually the
> cause of our issue, it seems prudent to avoid useless allocations in a tight
> loop.
> I realize that the trace() call does its own guarding internally, however
> it's insufficient to prevent allocation of the thunk. I can work on getting
> profiling results to attach here, but I used YourKit and the license has
> since expired.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)