Hello developers,

I’m proposing KIP-619 to add internal topic creation support. 

Kafka and its upstream applications treat internal topics differently from 
non-internal topics. For example:

        • Kafka handles topic creation response errors differently for internal 
topics
        • Internal topic partitions cannot be added to a transaction
        • Internal topic records cannot be deleted
        • Appending to internal topics might get rejected
        • ……

Clients and upstream applications may define their own internal topics. For 
example, Kafka Connect defines `connect-configs`, `connect-offsets`, and 
`connect-statuses`. Clients are fetching the internal topics by sending the 
MetadataRequest (ApiKeys.METADATA).

However, clients and upstream application cannot register their own internal 
topics in servers. As a result, servers have no knowledge about client-defined 
internal topics. They can only test if a given topic is internal or not simply 
by checking against a static set of internal topic string, which consists of 
two internal topic names `__consumer_offsets` and `__transaction_state`. As a 
result, MetadataRequest cannot provide any information about client created 
internal topics. 

To solve this pain point, I'm proposing support for clients to register and 
query their own internal topics. 

Please feel free to join the discussion. Thanks in advance.


Best, - Cheng Tan

Reply via email to