kafka-jira mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kyle Ambroff-Kao (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KAFKA-6569) Reflection in OffsetIndex and TimeIndex construction
Date Sun, 18 Feb 2018 22:44:00 GMT

    [ https://issues.apache.org/jira/browse/KAFKA-6569?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16368693#comment-16368693

Kyle Ambroff-Kao commented on KAFKA-6569:

Submitted a PR for the patch we deployed internally. It's not perfect though since the logger
name does change. This wasn't important for us, but I'm not sure whether this matters to you

> 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
>            Priority: Major
>         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

View raw message