recurrent produce errors
------------------------

                 Key: KAFKA-331
                 URL: https://issues.apache.org/jira/browse/KAFKA-331
             Project: Kafka
          Issue Type: Bug
            Reporter: Pierre-Yves Ritschard


I am using trunk and regularily see such errors popping up:


32477890 [kafka-processor-7] ERROR kafka.server.KafkaRequestHandlers  - Error 
processing ProduceRequest on pref^@^@^@:0
java.io.FileNotFoundException: 
/mnt/kafka/logs/pref^@^@^@-0/00000000000000000000.kafka (Is a directory)
        at java.io.RandomAccessFile.open(Native Method)
        at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233)
        at kafka.utils.Utils$.openChannel(Utils.scala:324)
        at kafka.message.FileMessageSet.<init>(FileMessageSet.scala:75)
        at kafka.log.Log.loadSegments(Log.scala:144)
        at kafka.log.Log.<init>(Log.scala:116)
        at kafka.log.LogManager.createLog(LogManager.scala:149)
        at kafka.log.LogManager.getOrCreateLog(LogManager.scala:204)
        at 
kafka.server.KafkaRequestHandlers.kafka$server$KafkaRequestHandlers$$handleProducerRequest(KafkaRequestHandlers.scala:69)
        at 
kafka.server.KafkaRequestHandlers.handleProducerRequest(KafkaRequestHandlers.scala:53)
        at 
kafka.server.KafkaRequestHandlers$$anonfun$handlerFor$1.apply(KafkaRequestHandlers.scala:38)
        at 
kafka.server.KafkaRequestHandlers$$anonfun$handlerFor$1.apply(KafkaRequestHandlers.scala:38)
        at kafka.network.Processor.handle(SocketServer.scala:296)
        at kafka.network.Processor.read(SocketServer.scala:319)
        at kafka.network.Processor.run(SocketServer.scala:214)
        at java.lang.Thread.run(Thread.java:679)
32477890 [kafka-processor-7] ERROR kafka.network.Processor  - Closing socket 
for /xx.xx.xx.xx because of error
java.io.FileNotFoundException: 
/mnt/kafka/logs/pref^@^@^@-0/00000000000000000000.kafka (Is a directory)
        at java.io.RandomAccessFile.open(Native Method)
        at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233)
        at kafka.utils.Utils$.openChannel(Utils.scala:324)
        at kafka.message.FileMessageSet.<init>(FileMessageSet.scala:75)
        at kafka.log.Log.loadSegments(Log.scala:144)
        at kafka.log.Log.<init>(Log.scala:116)
        at kafka.log.LogManager.createLog(LogManager.scala:149)
        at kafka.log.LogManager.getOrCreateLog(LogManager.scala:204)
        at 
kafka.server.KafkaRequestHandlers.kafka$server$KafkaRequestHandlers$$handleProducerRequest(KafkaRequestHandlers.scala:69)
        at 
kafka.server.KafkaRequestHandlers.handleProducerRequest(KafkaRequestHandlers.scala:53)
        at 
kafka.server.KafkaRequestHandlers$$anonfun$handlerFor$1.apply(KafkaRequestHandlers.scala:38)
        at 
kafka.server.KafkaRequestHandlers$$anonfun$handlerFor$1.apply(KafkaRequestHandlers.scala:38)
        at kafka.network.Processor.handle(SocketServer.scala:296)
        at kafka.network.Processor.read(SocketServer.scala:319)
        at kafka.network.Processor.run(SocketServer.scala:214)
        at java.lang.Thread.run(Thread.java:679)

This results in a "pref" directory created inside the log dir. The original 
topic should be prefix, somehow a NUL gets inserted there.
The producing was done with a kafka.javaapi.producer.Producer instance, on 
which send was called with a kafka.javaapi.producer.ProducerData instance.

There are no log entries created inside that dir and no impact on the overall 
operation of the broker operations and consumers.

Is the producer thread-safe ?






--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to