[ https://issues.apache.org/jira/browse/KAFKA-6175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16239734#comment-16239734 ]
ASF GitHub Bot commented on KAFKA-6175: --------------------------------------- GitHub user lindong28 opened a pull request: https://github.com/apache/kafka/pull/4179 KAFKA-6175; AbstractIndex should cache index file to avoid unnecessary disk access during resize() You can merge this pull request into a Git repository by running: $ git pull https://github.com/lindong28/kafka KAFKA-6175 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/4179.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #4179 ---- commit c260ee2e7973bc4c9f3ec36d2215fc069b7619dc Author: Dong Lin <lindon...@gmail.com> Date: 2017-11-05T21:40:21Z KAFKA-6175; AbstractIndex should cache index file to avoid unnecessary disk access during resize() ---- > AbstractIndex should cache index file to avoid unnecessary disk access during > resize() > -------------------------------------------------------------------------------------- > > Key: KAFKA-6175 > URL: https://issues.apache.org/jira/browse/KAFKA-6175 > Project: Kafka > Issue Type: Improvement > Reporter: Dong Lin > Assignee: Dong Lin > > Currently when we shutdown a broker, we will call AbstractIndex.resize() for > all segments on the broker, regardless of whether the log segment is active > or not. AbstractIndex.resize() incurs raf.setLength(), which is expensive > because it accesses disks. If we do a threaddump during either > LogManger.shutdown() or LogManager.loadLogs(), most threads are in RUNNABLE > state at java.io.RandomAccessFile.setLength(). > This patch intends to speed up broker startup and shutdown time by skipping > AbstractIndex.resize() for inactive log segments. -- This message was sent by Atlassian JIRA (v6.4.14#64029)