[jira] [Commented] (KAFKA-1884) New Producer blocks forever for Invalid topic names
[ https://issues.apache.org/jira/browse/KAFKA-1884?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14310548#comment-14310548 ] Pradeep Gollakota commented on KAFKA-1884: -- I guess that makes sense... I'll confirm. > New Producer blocks forever for Invalid topic names > --- > > Key: KAFKA-1884 > URL: https://issues.apache.org/jira/browse/KAFKA-1884 > Project: Kafka > Issue Type: Bug > Components: producer >Affects Versions: 0.8.2 >Reporter: Manikumar Reddy > Fix For: 0.8.3 > > > New producer blocks forever for invalid topics names > producer logs: > DEBUG [2015-01-20 12:46:13,406] NetworkClient: maybeUpdateMetadata(): Trying > to send metadata request to node -1 > DEBUG [2015-01-20 12:46:13,406] NetworkClient: maybeUpdateMetadata(): Sending > metadata request ClientRequest(expectResponse=true, payload=null, > request=RequestSend(header={api_key=3,api_version=0,correlation_id=50845,client_id=my-producer}, > body={topics=[TOPIC=]})) to node -1 > TRACE [2015-01-20 12:46:13,416] NetworkClient: handleMetadataResponse(): > Ignoring empty metadata response with correlation id 50845. > DEBUG [2015-01-20 12:46:13,417] NetworkClient: maybeUpdateMetadata(): Trying > to send metadata request to node -1 > DEBUG [2015-01-20 12:46:13,417] NetworkClient: maybeUpdateMetadata(): Sending > metadata request ClientRequest(expectResponse=true, payload=null, > request=RequestSend(header={api_key=3,api_version=0,correlation_id=50846,client_id=my-producer}, > body={topics=[TOPIC=]})) to node -1 > TRACE [2015-01-20 12:46:13,417] NetworkClient: handleMetadataResponse(): > Ignoring empty metadata response with correlation id 50846. > DEBUG [2015-01-20 12:46:13,417] NetworkClient: maybeUpdateMetadata(): Trying > to send metadata request to node -1 > DEBUG [2015-01-20 12:46:13,418] NetworkClient: maybeUpdateMetadata(): Sending > metadata request ClientRequest(expectResponse=true, payload=null, > request=RequestSend(header={api_key=3,api_version=0,correlation_id=50847,client_id=my-producer}, > body={topics=[TOPIC=]})) to node -1 > TRACE [2015-01-20 12:46:13,418] NetworkClient: handleMetadataResponse(): > Ignoring empty metadata response with correlation id 50847. > Broker logs: > [2015-01-20 12:46:14,074] ERROR [KafkaApi-0] error when handling request > Name: TopicMetadataRequest; Version: 0; CorrelationId: 51020; ClientId: > my-producer; Topics: TOPIC= (kafka.server.KafkaApis) > kafka.common.InvalidTopicException: topic name TOPIC= is illegal, contains a > character other than ASCII alphanumerics, '.', '_' and '-' > at kafka.common.Topic$.validate(Topic.scala:42) > at > kafka.admin.AdminUtils$.createOrUpdateTopicPartitionAssignmentPathInZK(AdminUtils.scala:186) > at kafka.admin.AdminUtils$.createTopic(AdminUtils.scala:177) > at kafka.server.KafkaApis$$anonfun$5.apply(KafkaApis.scala:367) > at kafka.server.KafkaApis$$anonfun$5.apply(KafkaApis.scala:350) > at > scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) > at > scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) > at scala.collection.immutable.Set$Set1.foreach(Set.scala:74) > at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) > at > scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47) > at scala.collection.SetLike$class.map(SetLike.scala:93) > at scala.collection.AbstractSet.map(Set.scala:47) > at kafka.server.KafkaApis.getTopicMetadata(KafkaApis.scala:350) > at > kafka.server.KafkaApis.handleTopicMetadataRequest(KafkaApis.scala:389) > at kafka.server.KafkaApis.handle(KafkaApis.scala:57) > at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:59) > at java.lang.Thread.run(Thread.java:722) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1884) New Producer blocks forever for Invalid topic names
[ https://issues.apache.org/jira/browse/KAFKA-1884?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14310241#comment-14310241 ] Pradeep Gollakota commented on KAFKA-1884: -- [~guozhang] That's what I figured at first. But the odd behavior is that the exception storm is happening on server even after the producer has been shut down (and the broker restarted). Not sure why that would be the case. > New Producer blocks forever for Invalid topic names > --- > > Key: KAFKA-1884 > URL: https://issues.apache.org/jira/browse/KAFKA-1884 > Project: Kafka > Issue Type: Bug > Components: producer >Affects Versions: 0.8.2 >Reporter: Manikumar Reddy > Fix For: 0.8.3 > > > New producer blocks forever for invalid topics names > producer logs: > DEBUG [2015-01-20 12:46:13,406] NetworkClient: maybeUpdateMetadata(): Trying > to send metadata request to node -1 > DEBUG [2015-01-20 12:46:13,406] NetworkClient: maybeUpdateMetadata(): Sending > metadata request ClientRequest(expectResponse=true, payload=null, > request=RequestSend(header={api_key=3,api_version=0,correlation_id=50845,client_id=my-producer}, > body={topics=[TOPIC=]})) to node -1 > TRACE [2015-01-20 12:46:13,416] NetworkClient: handleMetadataResponse(): > Ignoring empty metadata response with correlation id 50845. > DEBUG [2015-01-20 12:46:13,417] NetworkClient: maybeUpdateMetadata(): Trying > to send metadata request to node -1 > DEBUG [2015-01-20 12:46:13,417] NetworkClient: maybeUpdateMetadata(): Sending > metadata request ClientRequest(expectResponse=true, payload=null, > request=RequestSend(header={api_key=3,api_version=0,correlation_id=50846,client_id=my-producer}, > body={topics=[TOPIC=]})) to node -1 > TRACE [2015-01-20 12:46:13,417] NetworkClient: handleMetadataResponse(): > Ignoring empty metadata response with correlation id 50846. > DEBUG [2015-01-20 12:46:13,417] NetworkClient: maybeUpdateMetadata(): Trying > to send metadata request to node -1 > DEBUG [2015-01-20 12:46:13,418] NetworkClient: maybeUpdateMetadata(): Sending > metadata request ClientRequest(expectResponse=true, payload=null, > request=RequestSend(header={api_key=3,api_version=0,correlation_id=50847,client_id=my-producer}, > body={topics=[TOPIC=]})) to node -1 > TRACE [2015-01-20 12:46:13,418] NetworkClient: handleMetadataResponse(): > Ignoring empty metadata response with correlation id 50847. > Broker logs: > [2015-01-20 12:46:14,074] ERROR [KafkaApi-0] error when handling request > Name: TopicMetadataRequest; Version: 0; CorrelationId: 51020; ClientId: > my-producer; Topics: TOPIC= (kafka.server.KafkaApis) > kafka.common.InvalidTopicException: topic name TOPIC= is illegal, contains a > character other than ASCII alphanumerics, '.', '_' and '-' > at kafka.common.Topic$.validate(Topic.scala:42) > at > kafka.admin.AdminUtils$.createOrUpdateTopicPartitionAssignmentPathInZK(AdminUtils.scala:186) > at kafka.admin.AdminUtils$.createTopic(AdminUtils.scala:177) > at kafka.server.KafkaApis$$anonfun$5.apply(KafkaApis.scala:367) > at kafka.server.KafkaApis$$anonfun$5.apply(KafkaApis.scala:350) > at > scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) > at > scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) > at scala.collection.immutable.Set$Set1.foreach(Set.scala:74) > at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) > at > scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47) > at scala.collection.SetLike$class.map(SetLike.scala:93) > at scala.collection.AbstractSet.map(Set.scala:47) > at kafka.server.KafkaApis.getTopicMetadata(KafkaApis.scala:350) > at > kafka.server.KafkaApis.handleTopicMetadataRequest(KafkaApis.scala:389) > at kafka.server.KafkaApis.handle(KafkaApis.scala:57) > at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:59) > at java.lang.Thread.run(Thread.java:722) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1884) New Producer blocks forever for Invalid topic names
[ https://issues.apache.org/jira/browse/KAFKA-1884?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14308670#comment-14308670 ] Pradeep Gollakota commented on KAFKA-1884: -- What makes the behavior in #2 earlier even more odd is, I stopped the server, deleted the znodes, deleted the kafka log dir and restarted the server and the same behavior is seen. O.o > New Producer blocks forever for Invalid topic names > --- > > Key: KAFKA-1884 > URL: https://issues.apache.org/jira/browse/KAFKA-1884 > Project: Kafka > Issue Type: Bug > Components: producer >Affects Versions: 0.8.2 >Reporter: Manikumar Reddy > Fix For: 0.8.3 > > > New producer blocks forever for invalid topics names > producer logs: > DEBUG [2015-01-20 12:46:13,406] NetworkClient: maybeUpdateMetadata(): Trying > to send metadata request to node -1 > DEBUG [2015-01-20 12:46:13,406] NetworkClient: maybeUpdateMetadata(): Sending > metadata request ClientRequest(expectResponse=true, payload=null, > request=RequestSend(header={api_key=3,api_version=0,correlation_id=50845,client_id=my-producer}, > body={topics=[TOPIC=]})) to node -1 > TRACE [2015-01-20 12:46:13,416] NetworkClient: handleMetadataResponse(): > Ignoring empty metadata response with correlation id 50845. > DEBUG [2015-01-20 12:46:13,417] NetworkClient: maybeUpdateMetadata(): Trying > to send metadata request to node -1 > DEBUG [2015-01-20 12:46:13,417] NetworkClient: maybeUpdateMetadata(): Sending > metadata request ClientRequest(expectResponse=true, payload=null, > request=RequestSend(header={api_key=3,api_version=0,correlation_id=50846,client_id=my-producer}, > body={topics=[TOPIC=]})) to node -1 > TRACE [2015-01-20 12:46:13,417] NetworkClient: handleMetadataResponse(): > Ignoring empty metadata response with correlation id 50846. > DEBUG [2015-01-20 12:46:13,417] NetworkClient: maybeUpdateMetadata(): Trying > to send metadata request to node -1 > DEBUG [2015-01-20 12:46:13,418] NetworkClient: maybeUpdateMetadata(): Sending > metadata request ClientRequest(expectResponse=true, payload=null, > request=RequestSend(header={api_key=3,api_version=0,correlation_id=50847,client_id=my-producer}, > body={topics=[TOPIC=]})) to node -1 > TRACE [2015-01-20 12:46:13,418] NetworkClient: handleMetadataResponse(): > Ignoring empty metadata response with correlation id 50847. > Broker logs: > [2015-01-20 12:46:14,074] ERROR [KafkaApi-0] error when handling request > Name: TopicMetadataRequest; Version: 0; CorrelationId: 51020; ClientId: > my-producer; Topics: TOPIC= (kafka.server.KafkaApis) > kafka.common.InvalidTopicException: topic name TOPIC= is illegal, contains a > character other than ASCII alphanumerics, '.', '_' and '-' > at kafka.common.Topic$.validate(Topic.scala:42) > at > kafka.admin.AdminUtils$.createOrUpdateTopicPartitionAssignmentPathInZK(AdminUtils.scala:186) > at kafka.admin.AdminUtils$.createTopic(AdminUtils.scala:177) > at kafka.server.KafkaApis$$anonfun$5.apply(KafkaApis.scala:367) > at kafka.server.KafkaApis$$anonfun$5.apply(KafkaApis.scala:350) > at > scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) > at > scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) > at scala.collection.immutable.Set$Set1.foreach(Set.scala:74) > at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) > at > scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47) > at scala.collection.SetLike$class.map(SetLike.scala:93) > at scala.collection.AbstractSet.map(Set.scala:47) > at kafka.server.KafkaApis.getTopicMetadata(KafkaApis.scala:350) > at > kafka.server.KafkaApis.handleTopicMetadataRequest(KafkaApis.scala:389) > at kafka.server.KafkaApis.handle(KafkaApis.scala:57) > at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:59) > at java.lang.Thread.run(Thread.java:722) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1884) New Producer blocks forever for Invalid topic names
[ https://issues.apache.org/jira/browse/KAFKA-1884?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14308539#comment-14308539 ] Pradeep Gollakota commented on KAFKA-1884: -- I'd like to work on this. Please assign to me. I've been able to reproduce the issue. I also noticed another oddity about this though. 1. The server side error above is being repeated 100's of times a second (each repeat increments the CorrelationId). This seems to indicate some type of retry logic. 2. If I kill the server, kill the client and start the server. The error continues to repeat. This seems to indicate that this request may be persisted somewhere. I have a good grasp of where to start looking for the problem, though I have no idea why the above two are occurring. > New Producer blocks forever for Invalid topic names > --- > > Key: KAFKA-1884 > URL: https://issues.apache.org/jira/browse/KAFKA-1884 > Project: Kafka > Issue Type: Bug > Components: producer >Affects Versions: 0.8.2 >Reporter: Manikumar Reddy > Fix For: 0.8.3 > > > New producer blocks forever for invalid topics names > producer logs: > DEBUG [2015-01-20 12:46:13,406] NetworkClient: maybeUpdateMetadata(): Trying > to send metadata request to node -1 > DEBUG [2015-01-20 12:46:13,406] NetworkClient: maybeUpdateMetadata(): Sending > metadata request ClientRequest(expectResponse=true, payload=null, > request=RequestSend(header={api_key=3,api_version=0,correlation_id=50845,client_id=my-producer}, > body={topics=[TOPIC=]})) to node -1 > TRACE [2015-01-20 12:46:13,416] NetworkClient: handleMetadataResponse(): > Ignoring empty metadata response with correlation id 50845. > DEBUG [2015-01-20 12:46:13,417] NetworkClient: maybeUpdateMetadata(): Trying > to send metadata request to node -1 > DEBUG [2015-01-20 12:46:13,417] NetworkClient: maybeUpdateMetadata(): Sending > metadata request ClientRequest(expectResponse=true, payload=null, > request=RequestSend(header={api_key=3,api_version=0,correlation_id=50846,client_id=my-producer}, > body={topics=[TOPIC=]})) to node -1 > TRACE [2015-01-20 12:46:13,417] NetworkClient: handleMetadataResponse(): > Ignoring empty metadata response with correlation id 50846. > DEBUG [2015-01-20 12:46:13,417] NetworkClient: maybeUpdateMetadata(): Trying > to send metadata request to node -1 > DEBUG [2015-01-20 12:46:13,418] NetworkClient: maybeUpdateMetadata(): Sending > metadata request ClientRequest(expectResponse=true, payload=null, > request=RequestSend(header={api_key=3,api_version=0,correlation_id=50847,client_id=my-producer}, > body={topics=[TOPIC=]})) to node -1 > TRACE [2015-01-20 12:46:13,418] NetworkClient: handleMetadataResponse(): > Ignoring empty metadata response with correlation id 50847. > Broker logs: > [2015-01-20 12:46:14,074] ERROR [KafkaApi-0] error when handling request > Name: TopicMetadataRequest; Version: 0; CorrelationId: 51020; ClientId: > my-producer; Topics: TOPIC= (kafka.server.KafkaApis) > kafka.common.InvalidTopicException: topic name TOPIC= is illegal, contains a > character other than ASCII alphanumerics, '.', '_' and '-' > at kafka.common.Topic$.validate(Topic.scala:42) > at > kafka.admin.AdminUtils$.createOrUpdateTopicPartitionAssignmentPathInZK(AdminUtils.scala:186) > at kafka.admin.AdminUtils$.createTopic(AdminUtils.scala:177) > at kafka.server.KafkaApis$$anonfun$5.apply(KafkaApis.scala:367) > at kafka.server.KafkaApis$$anonfun$5.apply(KafkaApis.scala:350) > at > scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) > at > scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) > at scala.collection.immutable.Set$Set1.foreach(Set.scala:74) > at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) > at > scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47) > at scala.collection.SetLike$class.map(SetLike.scala:93) > at scala.collection.AbstractSet.map(Set.scala:47) > at kafka.server.KafkaApis.getTopicMetadata(KafkaApis.scala:350) > at > kafka.server.KafkaApis.handleTopicMetadataRequest(KafkaApis.scala:389) > at kafka.server.KafkaApis.handle(KafkaApis.scala:57) > at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:59) > at java.lang.Thread.run(Thread.java:722) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1226) Rack-Aware replica assignment option
[ https://issues.apache.org/jira/browse/KAFKA-1226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13895138#comment-13895138 ] Pradeep Gollakota commented on KAFKA-1226: -- [~jvanremoortere] Sweet! Thanks. Can we mark this closed as a duplicate please? > Rack-Aware replica assignment option > > > Key: KAFKA-1226 > URL: https://issues.apache.org/jira/browse/KAFKA-1226 > Project: Kafka > Issue Type: Improvement > Components: replication >Affects Versions: 0.8.0, 0.8.1 >Reporter: Joris Van Remoortere >Assignee: Neha Narkhede > Fix For: 0.8.0 > > > Adding a rack-id to kafka config. This rack-id can be used during replica > assignment by using the max-rack-replication argument in the admin scripts > (create topic, etc.). By default the original replication assignment > algorithm is used because max-rack-replication defaults to -1. > max-rack-replication > -1 is not honored if you are doing manual replica > assignment (preffered). > If this looks good I can add some test cases specific to the rack-aware > assignment. > I can also port this to trunk. We are currently running 0.8.0 in production > and need this, so i wrote the patch against that. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (KAFKA-1226) Rack-Aware replica assignment option
[ https://issues.apache.org/jira/browse/KAFKA-1226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13895123#comment-13895123 ] Pradeep Gollakota commented on KAFKA-1226: -- [~jvanremoortere] Can you either add the patch as an attachment or send it to me privately? I'm also very interested in this feature. > Rack-Aware replica assignment option > > > Key: KAFKA-1226 > URL: https://issues.apache.org/jira/browse/KAFKA-1226 > Project: Kafka > Issue Type: Improvement > Components: replication >Affects Versions: 0.8.0, 0.8.1 >Reporter: Joris Van Remoortere >Assignee: Neha Narkhede > Fix For: 0.8.0 > > > Adding a rack-id to kafka config. This rack-id can be used during replica > assignment by using the max-rack-replication argument in the admin scripts > (create topic, etc.). By default the original replication assignment > algorithm is used because max-rack-replication defaults to -1. > max-rack-replication > -1 is not honored if you are doing manual replica > assignment (preffered). > If this looks good I can add some test cases specific to the rack-aware > assignment. > I can also port this to trunk. We are currently running 0.8.0 in production > and need this, so i wrote the patch against that. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (KAFKA-1175) Hierarchical Topics
[ https://issues.apache.org/jira/browse/KAFKA-1175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13844002#comment-13844002 ] Pradeep Gollakota commented on KAFKA-1175: -- In the proposal, [~jkreps] talks about a couple of use cases at LinkedIn. # Group a set of topics that are related by the application area (ads, search, etc.) # Group a set of topics based on usage paradigm (tracking, metrics, etc.) At Lithium, we have an extension of those use cases. We have multiple products that are deployed for different customers. So we need to partition by customer_id and product_id. So, we may have hierarchical topics of the following nature: # /p1/google/tracking/search/click_events # /p1/google/tracking/community/message_create_events # /p1/linkedin/tracking/search/click_events # /p1/linkedin/tracking/community/message_create_events # /p2/apache/tracking/core/user_ident_event > Hierarchical Topics > --- > > Key: KAFKA-1175 > URL: https://issues.apache.org/jira/browse/KAFKA-1175 > Project: Kafka > Issue Type: New Feature >Reporter: Pradeep Gollakota > > Allow for creation of hierarchical topics so that related topics can be > grouped together. -- This message was sent by Atlassian JIRA (v6.1.4#6159)
[jira] [Commented] (KAFKA-1175) Hierarchical Topics
[ https://issues.apache.org/jira/browse/KAFKA-1175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13843861#comment-13843861 ] Pradeep Gollakota commented on KAFKA-1175: -- I'm very interested in this feature. I created this JIRA to track the progress and, to start a dialog so we can discuss this further. I would love to work on this if no one is working on it. I would love to discuss how this would relate/affect securing Kafka [KAFKA-1176] > Hierarchical Topics > --- > > Key: KAFKA-1175 > URL: https://issues.apache.org/jira/browse/KAFKA-1175 > Project: Kafka > Issue Type: New Feature >Reporter: Pradeep Gollakota > > Allow for creation of hierarchical topics so that related topics can be > grouped together. -- This message was sent by Atlassian JIRA (v6.1.4#6159)
[jira] [Created] (KAFKA-1176) Secure Kafka
Pradeep Gollakota created KAFKA-1176: Summary: Secure Kafka Key: KAFKA-1176 URL: https://issues.apache.org/jira/browse/KAFKA-1176 Project: Kafka Issue Type: New Feature Reporter: Pradeep Gollakota Implement Authentication, Authorization, Encryption, ACL's for Kafka. -- This message was sent by Atlassian JIRA (v6.1.4#6159)
[jira] [Updated] (KAFKA-1175) Hierarchical Topics
[ https://issues.apache.org/jira/browse/KAFKA-1175?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pradeep Gollakota updated KAFKA-1175: - Issue Type: New Feature (was: Bug) > Hierarchical Topics > --- > > Key: KAFKA-1175 > URL: https://issues.apache.org/jira/browse/KAFKA-1175 > Project: Kafka > Issue Type: New Feature >Reporter: Pradeep Gollakota > > Allow for creation of hierarchical topics so that related topics can be > grouped together. -- This message was sent by Atlassian JIRA (v6.1.4#6159)
[jira] [Created] (KAFKA-1175) Hierarchical Topics
Pradeep Gollakota created KAFKA-1175: Summary: Hierarchical Topics Key: KAFKA-1175 URL: https://issues.apache.org/jira/browse/KAFKA-1175 Project: Kafka Issue Type: Bug Reporter: Pradeep Gollakota Allow for creation of hierarchical topics so that related topics can be grouped together. -- This message was sent by Atlassian JIRA (v6.1.4#6159)