Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-6728

Kafka Connect Header Null Pointer Exception

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 1.1.0
    • 1.1.1, 2.0.0
    • connect
    • None
    • Linux Mint

    Description

      I am trying to use the newly released Kafka Connect that supports headers by using the standalone connector to write to a text file (so in this case I am only using the sink component)

      I am sadly greeted by a NullPointerException :

      ERROR WorkerSinkTask{id=local-file-sink-0} Task threw an uncaught and unrecoverable exception (org.apache.kafka.connect.runtime.WorkerTask:172)
      java.lang.NullPointerException
          at org.apache.kafka.connect.runtime.WorkerSinkTask.convertHeadersFor(WorkerSinkTask.java:501)
          at org.apache.kafka.connect.runtime.WorkerSinkTask.convertMessages(WorkerSinkTask.java:469)
          at org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:301)
          at org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:205)
          at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:173)
          at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:170)
          at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:214)
          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:1149)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
          at java.lang.Thread.run(Thread.java:748)
      

      I launched zookeeper and kafka 1.1.0 locally and sent a ProducerRecord[String, Array[Byte]] using a KafkaProducer[String, Array[Byte]] with a header that has a key and value.

      I can read the record with a console consumer as well as using a KafkaConsumer (where in this case I can see the content of the header of the record I sent previously) so no problem here.

      I only made two changes to the kafka configuration:
          - I used the StringConverter for the key and the ByteArrayConverter for the value.
          - I also changed the topic where the sink would connect to.

      If I forgot something please tell me so as it is the first time I am creating an issue on Jira.

      Attachments

        Issue Links

          Activity

            People

              rhauch Randall Hauch
              hwki Philippe Hong
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: