Kafka expectantly shutting down. License topic could not be created
System Design practice on Codemia
Work through 120+ system design problems with detailed solutions, from rate limiters to multi-region storage.
Apache Kafka is an open-source stream-processing software platform developed by LinkedIn and donated to the Apache Software Foundation, written in Scala and Java. It aims to provide a unified, high-throughput, low-latency platform for handling real-time data feeds. However, like any complex system, it may encounter circumstances leading to unexpected shutdowns, one common reason being issues related to the creation of topics—specifically, license topics.
Understanding Kafka Topic Creation
Kafka topics are categories or feeds to which records are published. In managed Kafka services or enterprise implementations, certain operational topics (e.g., license topics) are often necessary for managing compliance with enterprise licensing agreements or other operational constraints. When Kafka fails to create these critical topics, it might shutdown unexpectedly as a protective or fail-safe mechanism.
Scenarios Leading to Failed Topic Creation:
- Insufficient Permissions: The user or service account running Kafka does not have the rights to create topics.
- Configuration Issues: Incorrect broker configurations can prevent topic creation.
- Cluster Health Issues: A partially functional or unhealthy cluster may fail in processing requests properly.
- Storage Limitations: Reaching the storage capacity can also prevent new topics from being created.
Technical Breakdown
When Kafka is expected to shut down due to failing topic creation, a typical flow of actions or checks includes:
- Topic Creation Attempted: The system attempts to create a necessary operational topic.
- Error Detected: The system catches an exception related to topic creation failure.
- Shutdown Triggered: As a preventive measure to avoid further complications or data inconsistency, the system might initiate a shutdown.
Examples with Configuration
Consider the scenario where a Kafka environment requires a license topic for monitoring license usage. The configuration might look like this:
In this case, automatic topic creation is disabled (auto.create.topics.enable=false), therefore requiring manual creation of necessary topics. If the company_license_usage topic is not created manually ahead of time, operations requiring this topic might fail, leading Kafka to shutdown.
Key Points Table
| Issue | Impact | Resolution Strategy |
| Insufficient Permissions | Cannot create required topics | Update permissions or roles |
| Configuration Errors | Misconfiguration leads to fails | Verify and correct Kafka configurations |
| Cluster Health Problems | Failed operations | Monitor and maintain cluster health |
| Storage Limitations | No space for new topics | Allocate additional storage |
Additional Considerations
- Monitoring and Logging: Properly set up monitoring and logging can preemptively alert to conditions that may lead to shutdowns, such as full storage or health degradation in the cluster.
- Regular Audits and Checks: Regular audits of permissions and configurations are crucial to prevent unexpected issues.
- Disaster Recovery Plan: Having plans in place for quick recovery from unexpected shutdowns, like backups and failover clusters, is crucial.
In summary, Kafka unexpectedly shutting down due to the inability to create critical topics like license topics can be indicative of deeper systemic issues such as misconfiguration, insufficient permissions, or physical resource limitations. Understanding, monitoring, and proactively managing these factors can help maintain Kafka's robustness and reliability in production environments.
Related reading
- kafka failed authentication due to SSL handshake failed
- Kafka failed to change state for partition from OnlinePartition to OnlinePartition
- Kafka failed to map 1073741824 bytes for committing reserved memory
- KAFKA Failed to update metadata after 60000 ms
- Kafka FETCH_SESSION_ID_NOT_FOUND often seen in logs
- Kafka Getting error No resolvable bootstrap urls given in bootstrap servers
- Kafka Fetch offset is out of range for partition. How to avoid data loss?
- Kafka Find Controller ID in a cluster using Kraft protocol

System Design Fundamentals
Build a strong foundation in designing scalable, reliable distributed systems.
View the courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
System Design practice on Codemia
Work through 120+ system design problems with detailed solutions, from rate limiters to multi-region storage.