An application to reset the state of Kafka Connect connectors. It is available on Docker Hub.
You can reset both source and sink connectors using this tool.
This command resets the state of a Kafka Connect source connector by sending tombstone messages for each stored Kafka connect offset.
Usage: <main class> source [-hV] --brokers=<brokers>
--offset-topic=<offsetTopic>
[--poll-duration=<pollDuration>]
[--config=<String=String>[,<String=String>...]]...
<connectorName>
<connectorName> Connector to reset
--brokers=<brokers> List of Kafka brokers
--config=<String=String>[,<String=String>...]
Kafka client and producer configuration properties
-h, --help Show this help message and exit.
--offset-topic=<offsetTopic>
Topic where Kafka connect offsets are stored
--poll-duration=<pollDuration>
Consumer poll duration
-V, --version Print version information and exit.
This command resets or deletes the consumer group of a Kafka Connect sink connector.
Usage: <main class> sink [-hV] [--delete-consumer-group] --brokers=<brokers>
[--config=<String=String>[,<String=String>...]]...
<connectorName>
<connectorName> Connector to reset
--brokers=<brokers> List of Kafka brokers
--config=<String=String>[,<String=String>...]
Kafka client and producer configuration properties
--delete-consumer-group
Whether to delete the consumer group
-h, --help Show this help message and exit.
-V, --version Print version information and exit.
For the configuration and deployment to Kubernetes, you can use the Helm Chart.
If you want to contribute to this project, you can simply clone the repository and build it via Gradle. All dependencies should be included in the Gradle files, there are no external prerequisites.
> git clone [email protected]:bakdata/kafka-connect-resetter.git
> cd kafka-connect-resetter && ./gradlew build
Please note, that we have code styles for Java. They are basically the Google style guide, with some small modifications.
We are happy if you want to contribute to this project. If you find any bugs or have suggestions for improvements, please open an issue. We are also happy to accept your PRs. Just open an issue beforehand and let us know what you want to do and why.
This project is licensed under the MIT license. Have a look at the LICENSE for more details.