Kyle Ambroff-Kao created KAFKA-6569:
---------------------------------------
Summary: Reflection in OffsetIndex and TimeIndex construction
Key: KAFKA-6569
URL: https://issues.apache.org/jira/browse/KAFKA-6569
Project: Kafka
Issue Type: Bug
Components: core
Reporter: Kyle Ambroff-Kao
Assignee: Kyle Ambroff-Kao
Attachments: after.png, before.png
kafka.log.AbstractIndex uses the Logging mixin to lazily initialize loggers for
any concrete type that inherits from it. This works great, except that the
LazyLogging trait uses reflection to compute the logger name.
When you have hundreds of thousands of log segments to load on startup the
extra cost adds up.
I've attached flame graphs from broker startup on a broker that has about 12TB
of log segments to load, and a second flame graph after changing AbstractIndex
to statically initialize a logger.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)