[ https://issues.apache.org/jira/browse/KAFKA-14069?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17566419#comment-17566419 ]
Guozhang Wang commented on KAFKA-14069: --------------------------------------- Hello [~ebrard], thanks for bringing this ticket up. These internal topics are considered as repartition topics and Kafka Streams uses the admin client's `DeleteRecords` API to periodically truncate them after read, so these topics should not grow indefinitely. Did you observe such delete records request never being issued (which indicates a bug)? Or do you observe the delete-records rate cannot catch up with the append rate (for this case, you can consider configuring "repartition.purge.interval.ms")? > Allow custom configuration of foreign key join internal topics > -------------------------------------------------------------- > > Key: KAFKA-14069 > URL: https://issues.apache.org/jira/browse/KAFKA-14069 > Project: Kafka > Issue Type: Improvement > Components: streams > Reporter: Emmanuel Brard > Priority: Minor > > Internal topic supporting foreign key joins (-subscription-registration-topic > and -subscription-response-topic) are automatically created with_ infinite > retention_ (retention.ms=-1, retention.bytes=-1). > As far as I understand those topics are used for communication between tasks > that are involved in the FK, the intermediate result though is persisted in a > compacted topic (-subscription-store-changelog). > This means, if I understood right, that during normal operation of the stream > application, once a message is read from the registration/subscription topic, > it will not be read again, even in case of recovery (the position in those > topics is committed). > Because we have very large tables being joined this way with very high > changes frequency, we end up with FK internal topics in the order of 1 or 2 > TB. This is complicated to maintain especially in term of disk space. > I was wondering if: > - this infinite retention is really a required configuration and if not > - this infinite retention could be replaced with a configurable one (for > example of 1 week, meaning that I accept that in case of failure I must this > my app within one week) -- This message was sent by Atlassian Jira (v8.20.10#820010)