[ https://issues.apache.org/jira/browse/KAFKA-2992?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15059225#comment-15059225 ]
Gwen Shapira commented on KAFKA-2992: ------------------------------------- [~ijuma] I'm planning on merging the PR, since it is small and apparently very meaningful. Do you want to create a follow up JIRA for the more general solution? > 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.8.1.2, 0.10.0.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)