You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/06/12 18:07:00 UTC

[jira] [Commented] (KAFKA-5435) Produce state lost if no snapshot retained

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

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

GitHub user hachikuji opened a pull request:

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

    KAFKA-5435: Ensure producer snapshot retained after truncation

    

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

    $ git pull https://github.com/hachikuji/kafka KAFKA-5435

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

    https://github.com/apache/kafka/pull/3306.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 #3306
    
----
commit 2e0a797cb5a0baa12032697500fb4a8c5d87b25a
Author: Jason Gustafson <ja...@confluent.io>
Date:   2017-06-12T17:38:33Z

    KAFKA-5435: Ensure producer snapshot retained after truncation

----


> Produce state lost if no snapshot retained
> ------------------------------------------
>
>                 Key: KAFKA-5435
>                 URL: https://issues.apache.org/jira/browse/KAFKA-5435
>             Project: Kafka
>          Issue Type: Sub-task
>          Components: clients, core, producer 
>            Reporter: Jason Gustafson
>            Assignee: Jason Gustafson
>            Priority: Blocker
>             Fix For: 0.11.0.0
>
>
> We have an optimization in {{Log}} to avoid the need to scan the log to build producer state during the upgrade path. Basically, if no producer snapshot exists, then we assume that it's an upgrade and take a new snapshot from the end of the log. Unfortunately, it can happen that snapshot files are never created or are deleted through truncation. Upon reinitialization, this can cause the optimization above to kick in and we lose the current state of all producers.



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