...
Note that the delete will essentially mark topics and namespaces for deletion, the same logic that exists today for deletion.
Move
kafka-topics will be modified to add support for moving a topic from one namespace to another namespace.
Changes in Storage Layouts
...
- Just prepend namespace to topic names, even at storage layer, instead of creating a hierarchy of directories to represent namespaces.
- Will not enable encrypting namespaces with different keys.
- Namespace level configs or acls won't be possible without creating yet another znode in Kafka's chroot in ZK. I do not think having /kafka-namespaces/<namespace> will help in alleviating the confusion caused by passing namespace and topic name together in APIs, as we will still have to represent multi-tiered namespaces under /kafka-namespaces as dirs.
- Manage namespaces separately.
- This will still have the issue of topic name collisions even if they belong to separate namespaces.
- Modify request/ response formats to take namespace specifically.
- Solves the issue of delimiting string required in proposed approach. However, will require lots of API and protocol changes.
- Add namespace to session object.
- Will avoid each request and response to have namespace with topic name, however this probably is violating separation of concerns.
- To have delimiter char configurable.
- Will add yet another config without a clear gain.