junrao commented on a change in pull request #10184:
URL: https://github.com/apache/kafka/pull/10184#discussion_r584019199



##########
File path: 
metadata/src/main/java/org/apache/kafka/controller/ReplicationControlManager.java
##########
@@ -349,6 +357,16 @@ public void replay(PartitionChangeRecord record) {
         log.debug("Applied ISR change record: {}", record.toString());
     }
 
+    public void replay(RemoveTopicRecord record) {
+        TopicControlInfo topic = topics.remove(record.topicId());
+        if (topic == null) {
+            throw new RuntimeException("Can't find topic with ID " + 
record.topicId() +
+                " to remove.");
+        }
+        topicsByName.remove(topic.name);

Review comment:
       Hmm, you mean PartitionChangeRecord? I don't see PartitionChangeRecord 
being generated from the topicDeletion request.

##########
File path: 
metadata/src/main/java/org/apache/kafka/controller/QuorumController.java
##########
@@ -809,6 +824,27 @@ private QuorumController(LogContext logContext,
             () -> replicationControl.unregisterBroker(brokerId));
     }
 
+    @Override
+    public CompletableFuture<Map<String, ResultOrError<Uuid>>> 
findTopicIds(Collection<String> names) {
+        if (names.isEmpty()) return 
CompletableFuture.completedFuture(Collections.emptyMap());
+        return appendReadEvent("findTopicIds",
+            () -> replicationControl.findTopicIds(lastCommittedOffset, names));
+    }
+
+    @Override
+    public CompletableFuture<Map<Uuid, ResultOrError<String>>> 
findTopicNames(Collection<Uuid> ids) {
+        if (ids.isEmpty()) return 
CompletableFuture.completedFuture(Collections.emptyMap());
+        return appendReadEvent("findTopicNames",
+            () -> replicationControl.findTopicNames(lastCommittedOffset, ids));
+    }
+
+    @Override
+    public CompletableFuture<Map<Uuid, ApiError>> 
deleteTopics(Collection<Uuid> ids) {
+        if (ids.isEmpty()) return 
CompletableFuture.completedFuture(Collections.emptyMap());
+        return appendWriteEvent("deleteTopics",
+            () -> replicationControl.deleteTopics(ids));

Review comment:
       We also need to delete the configuration associated with the topic.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to