Kafka uses an external coordination framework (by default Zookeeper) to maintain configuration. It seems the configuration is now out-of-sync with the Kafka log data. In this case, I’d remove affected topic data and related Zookeeper data.
For Test Environment:
- Stop
Kafka-serverandZookeeper-server - Remove the data directories of both services, by default they are
/tmp/kafka-logand/tmp/zookeeper. - Start
Kafka-serverandZookeeper-serveragain - Create a new topic
Now you are able to work with the topic again.
For Production Environment:
As the Kafka topics are stored in different directories, you should remove particular directories. You should also remove /brokers/{broker_id}/topics/{broken_topic} from Zookeeper by using a Zookeeper client.
Please read Kafka documentation carefully to make sure the configuration structure, before you do anything stupid. Kafka is rolling out a delete topic feature (KAFKA-330), so that the problem can be solved more easily.