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

ASF GitHub Bot commented on KAFKA-5562:
---------------------------------------

GitHub user dguy opened a pull request:

    https://github.com/apache/kafka/pull/3516

    KAFKA-5562: execute state dir cleanup on single thread

    Use a single `StateDirectory` per streams instance.
    Use threadId to determine which thread owns the lock.
    Only allow the owning thread to unlock.
    Execute cleanup on a scheduled thread in `KafkaStreams`

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/dguy/kafka kafka-5562

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/kafka/pull/3516.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 #3516
    
----
commit 3ef084d34be8fafb368a5e9ceced1339b345d5f2
Author: Damian Guy <damian....@gmail.com>
Date:   2017-07-07T08:44:37Z

    execute state dir cleanup on single thread

----


> Do streams state directory cleanup on a single thread
> -----------------------------------------------------
>
>                 Key: KAFKA-5562
>                 URL: https://issues.apache.org/jira/browse/KAFKA-5562
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Damian Guy
>            Assignee: Damian Guy
>
> Currently in streams we clean up old state directories every so often (as 
> defined by {{state.cleanup.delay.ms}}). However, every StreamThread runs the 
> cleanup, which is both unnecessary and can potentially lead to race 
> conditions.
> It would be better to perform the state cleanup on a single thread and only 
> when the {{KafkaStreams}} instance is in a running state.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to