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

Jun Rao commented on KAFKA-7557:
--------------------------------

To improve this, instead of calling 
Log.deleteSnapshotsAfterRecoveryPointCheckpoint() on all logs, we could 
probably call only the one that's being truncated.

> optimize LogManager.truncateFullyAndStartAt()
> ---------------------------------------------
>
>                 Key: KAFKA-7557
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7557
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 2.0.0, 2.1.0
>            Reporter: Jun Rao
>            Priority: Major
>
> When a ReplicaFetcherThread calls LogManager.truncateFullyAndStartAt() for a 
> partition, we call LogManager.checkpointLogRecoveryOffsetsInDir() and then 
> Log.deleteSnapshotsAfterRecoveryPointCheckpoint() on all the logs in that 
> directory. This requires listing all the files in each log dir to figure out 
> the snapshot files. If some logs have many log segment files. This could take 
> some time. The can potentially block a replica fetcher thread, which 
> indirectly causes the request handler threads to be blocked.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to