kamalcph commented on code in PR #14161:
URL: https://github.com/apache/kafka/pull/14161#discussion_r1304553332


##########
core/src/main/scala/kafka/log/LogManager.scala:
##########
@@ -870,12 +870,17 @@ class LogManager(logDirs: Seq[File],
    * Update the configuration of the provided topic.
    */
   def updateTopicConfig(topic: String,
-                        newTopicConfig: Properties): Unit = {
+                        newTopicConfig: Properties,
+                        isRemoteLogStorageSystemEnabled: Boolean): Unit = {
     topicConfigUpdated(topic)
     val logs = logsByTopic(topic)
+    // Combine the default properties with the overrides in zk to create the 
new LogConfig
+    val newLogConfig = LogConfig.fromProps(currentDefaultConfig.originals, 
newTopicConfig)
+    // We would like to validate the configuration no matter whether the logs 
have materialised on disk or not.
+    // Otherwise we risk someone creating a tiered-topic, disabling Tiered 
Storage cluster-wide and the check
+    // failing since the logs for the topic are non-existent.
+    LogConfig.validateRemoteStorageOnlyIfSystemEnabled(newLogConfig.values(), 
isRemoteLogStorageSystemEnabled, true)

Review Comment:
   Can we allow the tiered storage functionality disablement since no data is 
in remote when `logs` is empty?



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