You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Vikas Singh (Jira)" <ji...@apache.org> on 2019/12/03 21:41:00 UTC

[jira] [Created] (KAFKA-9265) kafka.log.Log instances are leaking on log delete

Vikas Singh created KAFKA-9265:
----------------------------------

             Summary: kafka.log.Log instances are leaking on log delete
                 Key: KAFKA-9265
                 URL: https://issues.apache.org/jira/browse/KAFKA-9265
             Project: Kafka
          Issue Type: Bug
            Reporter: Vikas Singh


KAFKA-8448 fixes problem with similar leak. The {{Log}} objects are being held in {{ScheduledExecutor}} {{PeriodicProducerExpirationCheck}} callback. The fix in KAFKA-8448 was to change the policy of {{ScheduledExecutor}} to remove the scheduled task when it gets canceled (by calling {{setRemoveOnCancelPolicy(true)}}).

This works when a log is closed using {{close()}} method. But when a log is deleted either when the topic gets deleted or when the rebalancing operation moves the replica away from broker, the {{delete()}} operation is invoked. {{Log.delete()}} doesn't close the pending scheduled task and that leaks Log instance.

Fix is to close the scheduled task in the {{Log.delete()}} method too.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)