brandboat commented on code in PR #16165:
URL: https://github.com/apache/kafka/pull/16165#discussion_r1626058071


##########
core/src/main/scala/kafka/log/LogManager.scala:
##########
@@ -1604,11 +1604,16 @@ object LogManager {
    newTopicsImage: TopicsImage,
    log: UnifiedLog
   ): Boolean = {
-    val topicId = log.topicId.getOrElse {
-      throw new RuntimeException(s"The log dir $log does not have a topic ID, 
" +
-        "which is not allowed when running in KRaft mode.")
+    if (log.topicId.isEmpty) {
+      // Missing topic ID could result from storage failure or unclean 
shutdown after topic creation but before flushing
+      // data to the `partition.metadata` file. And before appending data to 
the log, the `partition.metadata` is always
+      // flushed to disk. So if the topic ID is missing, it mostly means no 
data was appended, and we can treat this as
+      // a stray log directory.
+      info(s"The topicId does not exist in $log, treat it as stray log dir")

Review Comment:
   Thanks for the comments 😃 , already fixed all of them in the latest commit.



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