Jonathan,

This issue is not coming from the zookeeper data, it is coming from
the on-disk data. What do the contents of your kafka log directory
look like ?
The error is complaining that the partition directory that should look
like "topic-partition" is malformed.

Thanks,
Neha

On Mon, Jul 16, 2012 at 10:59 AM, Jonathan Creasy <jcre...@box.com> wrote:
> I believe it was "marketing".
>
> The Zookeeper structure looked like:
>
> /brokers/topics/marketing/log_hdfs_marketing
>
> instead of
>
> /brokers/topics/marketing/1
>
> -Jonathan
>
> On Sat, Jul 14, 2012 at 11:41 AM, Jun Rao <jun...@gmail.com> wrote:
>> It seems that the error is introduced when parsing the topic string. Do you
>> know what topic triggered the error?
>>
>> Thanks,
>>
>> Jun
>>
>> On Thu, Jul 12, 2012 at 6:12 PM, Jonathan Creasy <jcre...@box.com> wrote:
>>
>>> I think a poorly implemented Producer in our dev environment may have
>>> triggered a bug in Kafka.
>>>
>>> We are running 0.71.
>>>
>>> The error:
>>>
>>> 2012-07-11 12:20:09,034 -  [main:Logging$class@58] - Starting Kafka
>>> server...
>>> 2012-07-11 12:20:09,046 -  [main:Logging$class@58] - Loading log 'test-0'
>>> 2012-07-11 12:20:09,062 -  [main:Logging$class@58] - Loading the last
>>> segment /var/lib/kafka/test-0/00000000000000000000.kafka in mutable mode,
>>> recovery false
>>> 2012-07-11 12:20:09,082 -  [main:Logging$class@58] - Loading log
>>> 'marketing'
>>> 2012-07-11 12:20:09,088 -  [main:Logging$class@96] - Fatal error during
>>> KafkaServerStable startup. Prepare to shutdown
>>> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
>>> at java.lang.String.substring(String.java:1937)
>>>  at kafka.utils.Utils$.getTopicPartition(Utils.scala:558)
>>>  at kafka.log.LogManager$$anonfun$4.apply(LogManager.scala:71)
>>>  at kafka.log.LogManager$$anonfun$4.apply(LogManager.scala:65)
>>>  at
>>>
>>> scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:34)
>>>  at scala.collection.mutable.ArrayOps.foreach(ArrayOps.scala:34)
>>>  at kafka.log.LogManager.<init>(LogManager.scala:65)
>>> at kafka.server.KafkaServer.startup(KafkaServer.scala:58)
>>>  at
>>> kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:34)
>>>  at kafka.Kafka$.main(Kafka.scala:50)
>>>  at kafka.Kafka.main(Kafka.scala)
>>>
>>> Other Symptoms:
>>>
>>> 1) We blew away /var/lib/kafka as our two brokers did not have the same
>>> contents but were both displaying this error on different parts. I saved
>>> this data from one system for future review if useful. Kafka still did not
>>> start.
>>>
>>> 2) I logged into ZooKeeper and the directory structure
>>> /brokers/topics/<topic>/<broker_id> had string values matching what should
>>> have been topics where <broker_id> goes. Manually clearing out
>>> /brokers/topics and restarting Kafka on both brokers did resolve the issue.
>>>
>>> Obviously there would have been data loss had this been a production
>>> environment. Is this a known issue where we simply are not using Kafka
>>> properly or have we accidentally made a mal-formed producer which did
>>> something the broker did not expect?
>>>
>>> We are not sure what the Producers we are working on may have done to cause
>>> this. We have two developers working on independent producers to integrate
>>> into our applications.
>>>
>>> -Jonathan
>>>

Reply via email to