You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Jason Gustafson (JIRA)" <ji...@apache.org> on 2019/05/25 06:20:00 UTC

[jira] [Resolved] (KAFKA-8351) Log cleaner must handle transactions spanning multiple segments

     [ https://issues.apache.org/jira/browse/KAFKA-8351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Gustafson resolved KAFKA-8351.
------------------------------------
       Resolution: Fixed
    Fix Version/s: 2.2.2
                   2.3.0

> Log cleaner must handle transactions spanning multiple segments
> ---------------------------------------------------------------
>
>                 Key: KAFKA-8351
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8351
>             Project: Kafka
>          Issue Type: Bug
>          Components: log cleaner
>            Reporter: Jason Gustafson
>            Assignee: Jason Gustafson
>            Priority: Major
>             Fix For: 2.3.0, 2.2.2
>
>
> When cleaning transactions, we have to do some bookkeeping to keep track of which transactions still have data left around. As long as there is still data, we cannot remove the transaction marker. The problem is that we do this tracking at the segment level. We do not carry over the ongoing transaction state between segments. So if the first entry in a segment is a marker, we incorrectly clean it. In the worst case, data from a committed transaction could become aborted.



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