Exception during topic deletion when Kafka is hosted in Docker in Windows Exception during topic deletion when Kafka is hosted in Docker in Windows windows windows

Exception during topic deletion when Kafka is hosted in Docker in Windows


This issue still exists in Windows for Kafka ver 1.1.0 (kafka_2.12-1.1.0) when I try to delete the topic.

The topic gets marked for deletion and the Kafka server fails with java.nio.file.AccessDeniedException when trying to rename the logs directory 'test-0'

Deleting the whole test-0 logs folder does not help.Reinstalling the Kafka server does not help either - even after reinstalling, the info about the topic marked for deletion remains.

Took me a couple of hours to figure out that the info about the topic sits in the Zookeeper - in one of the log files!

Solution

Stop the Zookeeper process.Go to your Zookeeper logs folder zookeeper-3.x.x\bin\zookeeper-3.x.xdata\version-2\ and delete the latest log.xx files.Restart Zookeper.Restart Kafka server.


Delete version-2 from Zookeeper logs folder.
Delete all things in Kafka-logs folder.

Then restart the Zookeeper and Kafka server:

  • zookeeper-server-start.bat D:\kafka_2.11-2.4.1\config\zookeeper.properties
  • kafka-server-start.bat D:\kafka_2.11-2.4.1\config\server.properties


Deletion of topic fails due to Java's File.rename function. It works differently in some cases in Windows environment (for example if file is in use). Kafka developers already changed this function to Utils.atomicMoveWithFallback (see this issue for details), but seems it was not included into Kafka 2.11-0.11.0. So you need to work with Kafka version that has this fix. Hope this will helps.