You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Matthias J. Sax (Jira)" <ji...@apache.org> on 2023/04/20 01:07:00 UTC

[jira] [Commented] (KAFKA-14922) kafka-streams-application-reset deletes topics not belonging to specified application-id

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

Matthias J. Sax commented on KAFKA-14922:
-----------------------------------------

Thanks for creating this ticket. It's a know issue but it's unclear how it could be fixed.

The problem is, that topic name have the patter `<application.id>-<generatedId>-<suffix>` – I am not sure how we could look for an _exact_ match (we don't know the full topic name)? If there is a way, please let us know. But I think we need to close this as "won't fix" unfortunately. 

> kafka-streams-application-reset deletes topics not belonging to specified application-id
> ----------------------------------------------------------------------------------------
>
>                 Key: KAFKA-14922
>                 URL: https://issues.apache.org/jira/browse/KAFKA-14922
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 3.4.0
>            Reporter: Jørgen
>            Priority: Major
>
> Slack-thread: [https://confluentcommunity.slack.com/archives/C48AHTCUQ/p1681908267206849]
> When running the command _kafka-streams-application-reset --bootstrap-servers $BOOTSTRAP --application-id foo_ all internal topics that _starts with_ foo is deleted. This happens even if there's no application-id named foo.
> Example:
> {code:java}
> Application IDs:
> foo-v1
> foo-v2
> Internal topics:
> foo-v1-repartition-topic-repartition
> foo-v2-repartition-topic-repartition 
> Application reset:
> kafka-streams-application-reset --bootstrap-servers $BOOTSTRAP --application-id foo
> > No input or intermediate topics specified. Skipping seek.
> Deleting inferred internal topics [foo-v2-repartition-topic-repartition, foo-v1-repartition-topic-repartition]
> Done.{code}
> Expected behaviour is that the command fails as there are no application-id's with the name foo instead of deleting all foo* topics. 
> This is critical on typos or if application-ids starts with the same name as others (for example if we had foo-v21 and wanted to reset foo-v2)
> The bug should be located here: [https://github.com/apache/kafka/blob/c14f56b48461f01743146d58987bc8661ba0d459/tools/src/main/java/org/apache/kafka/tools/StreamsResetter.java#L693]
> Should check that the topics matches the application-id exactly instead of checking that it starts with the application-id.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)