Hello,
I am looking to list steps to gracefully delete kafka topics. This is one part to address another issue that I am working on to fix.
For my testing I need to execute initial snapshot multiple times on same tables. So to avoid duplication of data, I am deleting existing kafka topics. Automatic topic creation is set to true. So next time when connector is deployed, it creates topics again.
steps followed
- LIST TOPICS: kubectl exec --kubeconfig advftr.yaml -n debezium-poc kafka-0 -- /kafka/bin/kafka-topics.sh --list --bootstrap-server kafka-0.kafka.debezium-poc.svc.cluster.local:9092
- DELETE TOPICS: kubectl exec --kubeconfig advftr.yaml -n debezium-poc kafka-0 -- /kafka/bin/kafka-topics.sh --bootstrap-server kafka-0.kafka.debezium-poc.svc.cluster.local:9092 --delete --topic 'TABLE1,TABLE2,TABLE3'
Here topic = table name
But when connectors are deployed second time, I notice below errors in kafka server.logs
ERROR [kafka-scheduler-6:Logging@76] - Error while deleting dir for TABLE1-0 in dir /kafka/data/1
java.nio.file.FileSystemException: /kafka/data/1/TABLE1-0.a85d5c4ad62a48d09d22ddfeddfdd164-delete/.nfs00000000146b56a200001328: Device or resource busy
ERROR [kafka-scheduler-6:Logging@76] - Exception while deleting Log(dir=/kafka/data/1/TABLE1-0.a85d5c4ad62a48d09d22ddfeddfdd164-delete, topicId=HpFiTfEgRIewwWu8BQiSEQ, topic=TABLE1, partition=0, highWatermark=0, lastStableOffset=0, logStartOffset=0, logEndOffset=0) in dir /kafka/data/1.
org.apache.kafka.common.errors.KafkaStorageException: Error while deleting dir for TABLE1-0 in dir /kafka/data/1
Caused by: java.nio.file.FileSystemException: /kafka/data/1/TABLE1-0.a85d5c4ad62a48d09d22ddfeddfdd164-delete/.nfs00000000146b56a200001328: Device or resource busy
One more suggestion is to recreate topic after deletion. I have automatic topic creation set to true. So is manual topic recreation required?
Appreciate your help.
Thanks,
-Prasad