Cory Kolbeck created KAFKA-2992:
-----------------------------------
Summary: 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.9.0.0, 0.8.2.1
Environment: Centos 6, Java 1.8.0_20
Reporter: Cory Kolbeck
Priority: Minor
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)