Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • A new resetAllExternalTopicsOption will be added for user to cleanup all externally committed offsets
  • `--input-topic`and `--intermediate-topic` flag using regular expressions

...

Code Block
languagejava
titleadd reset-all-external-topics option
public class StreamsResetter {
    private static OptionSpecBuilder resetAllExternalTopicsOption;

    private void parseArguments(final String[] args) {
        ...
        resetAllExternalTopicsOption = optionParser.accepts("reset-all-external-topics", "Reset tool such that when enabled, delete offsets for all involved topics");
    }

    private boolean isInputTopic(final String topic) {
        final List<String> inputTopics = options.valuesOf(inputTopicsOption);
        return inputTopics.stream().anyMatch(inputTopic -> {
            final Pattern pattern = Pattern.compile(inputTopic);
            return inputTopic.equals(topic) || pattern.matcher(topic).matches();
        });
    }

    private boolean isIntermediateTopic(final String topic) {
        final List<String> intermediateTopics = options.valuesOf(intermediateTopicsOption);
        return intermediateTopics.stream().anyMatch(intermediateTopic -> {
            final Pattern pattern = Pattern.compile(intermediateTopic);
            return intermediateTopic.equals(topic) || pattern.matcher(topic).matches();
        });
    }
}

Compatibility, Deprecation, and Migration Plan

...