You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Ismael Juma (JIRA)" <ji...@apache.org> on 2017/05/14 10:03:04 UTC

[jira] [Assigned] (KAFKA-5232) Kafka broker fails to start if a topic containing dot in its name is marked for delete but hasn't been deleted during previous uptime

     [ https://issues.apache.org/jira/browse/KAFKA-5232?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ismael Juma reassigned KAFKA-5232:
----------------------------------

    Assignee: jaikiran pai

> Kafka broker fails to start if a topic containing dot in its name is marked for delete but hasn't been deleted during previous uptime
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-5232
>                 URL: https://issues.apache.org/jira/browse/KAFKA-5232
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 0.10.2.0, 0.10.2.1
>            Reporter: jaikiran pai
>            Assignee: jaikiran pai
>            Priority: Critical
>             Fix For: 0.11.0.0, 0.10.2.2
>
>
> We are using 0.10.2.0 (but this is reproducible even with 0.10.2.1 and latest upstream) in our environments. Our topic names contain (one or more) dot characters in their name. So we have topics like {{foo.bar-testtopic}}. Topic deletion is enabled on the broker(s) and our application does delete the topics as and when necessary.
> We just ran into a case today where for some reason the Kafka broker had either to be taken down (or went down on its own). Some of the topics which were deleted (i.e. a deletion marker folder was created for them) were left around after Kafka broker had gone down. So the Kafka logs dir had directories like {{foo.bar-testtopic-0.bb7981c216b845648edfe6e2b0a5c050-delete}}.
> When we restarted the Kafka broker, it refused to start and kept shutting down and running into this exception:
> {code}
> [2017-05-12 21:36:27,876] ERROR There was an error in one of the threads during logs loading: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 (kafka.log.LogManager)
> [2017-05-12 21:36:27,900] FATAL [Kafka Server 0], Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
> 	at java.lang.String.substring(String.java:1967)
> 	at kafka.log.Log$.parseTopicPartitionName(Log.scala:1146)
> 	at kafka.log.LogManager.$anonfun$loadLogs$10(LogManager.scala:153)
> 	at kafka.utils.CoreUtils$$anon$1.run(CoreUtils.scala:57)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.run(Thread.java:745)
> [2017-05-12 21:36:27,950] INFO [Kafka Server 0], shutting down (kafka.server.KafkaServer)
> {code}
> The only way we could get past this is pointing Kafka broker to a different Kafka logs directory which effectively meant a lot our topics were no longer accessible to the application.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)