dajac commented on code in PR #18014:
URL: https://github.com/apache/kafka/pull/18014#discussion_r1867457582


##########
core/src/main/scala/kafka/server/ReplicaManager.scala:
##########
@@ -1175,8 +1175,8 @@ class ReplicaManager(val config: KafkaConfig,
   private def deleteRecordsOnLocalLog(offsetPerPartition: Map[TopicPartition, 
Long]): Map[TopicPartition, LogDeleteRecordsResult] = {
     trace("Delete records on local logs to offsets 
[%s]".format(offsetPerPartition))
     offsetPerPartition.map { case (topicPartition, requestedOffset) =>
-      // reject delete records operation on internal topics
-      if (Topic.isInternal(topicPartition.topic)) {
+      // reject delete records operation on internal topics except for allow 
listed ones
+      if (Topic.isInternal(topicPartition.topic) && 
!config.internalTopicsRecordDeleteAllowList.contains(topicPartition.topic)) {

Review Comment:
   In my opinion, this is the wrong approach because it will allow users of the 
cluster to delete too. When I suggested it, I thought that we would add a 
boolean to the method, e.g. allowInternalTopics, and use it from the component 
doing the deletion. 



-- 
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.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

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

Reply via email to