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 2021/02/24 03:09:00 UTC

[jira] [Commented] (KAFKA-12365) Block transactional APIs running kip-500 (for now)

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

Jason Gustafson commented on KAFKA-12365:
-----------------------------------------

I didn't realize there was a workaround for producerId generation at the moment. The workaround is to allocate from blocks of 1 million beginning from the broker's current epoch. The broker epoch is defined by the offset of the registration record that is written to the log. So every record written to the log is a loss of 1 million from this ID space. That sounds bad, but int64 is so big that we are still rather unlikely to run out of IDs. But is 1 million enough for the lifetime of the broker? When this limit is reached, the `InitProducerId` API will start raising exceptions. We can increase the block size of course, but I am not sure there is a lot of benefit exposing this implementation before it is ready. From the perspective of transactions, there is nothing super interesting in KIP-500 (i.e. no reason to believe its behavior or performance would be different). Probably the main benefit of having the implementation is being able to run transaction system tests. Is it worth considering allowing this implementation for system tests only? On the other hand, it is kind of a pity if a main piece of client functionality ends up disabled because of a small problem like this.

[~rndgstn] [~ijuma] [~cmccabe] Thoughts?

> Block transactional APIs running kip-500 (for now)
> --------------------------------------------------
>
>                 Key: KAFKA-12365
>                 URL: https://issues.apache.org/jira/browse/KAFKA-12365
>             Project: Kafka
>          Issue Type: Improvement
>            Reporter: Jason Gustafson
>            Assignee: Jason Gustafson
>            Priority: Blocker
>             Fix For: 2.8.0
>
>
> We do not yet have the logic to generate producerIds for the kip-500 broker. This means we cannot yet support transactions. For now, we should disable these APIs so that the lack of support is explicit.



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