Yingji Zhang created KAFKA-5803:
-----------------------------------

             Summary: KafkaProducer should ignore invalid record from 
ProducerInterceptors
                 Key: KAFKA-5803
                 URL: https://issues.apache.org/jira/browse/KAFKA-5803
             Project: Kafka
          Issue Type: Bug
          Components: clients
    Affects Versions: 0.11.0.0, 0.10.2.1, 0.10.2.0, 0.10.1.1
            Reporter: Yingji Zhang


Right now KafkaProducer does not verify the input record emitted from 
ProducerInterceptors. Thus if client sends a message to a non exist topic 
partition or ProducerInterceptors has a bug, or decides to early exit by 
returning a null, the doSend method of KafkaProducer will hung on metadata 
refreshment until maxBlockTimeMs has elapsed. This means production traffic 
will be blocked for each producer send call.

In general, I feel like we should have a circuit break mechanism to allow early 
exit from producer. To do that, we can either (1) allow ProducerInterceptors to 
throw some type of CircuitBreaker exception or (2) let ProducerInterceptors 
return null as the protocol to indicate a disaster situation and make 
KafkaProducer's doSend early exit on null input.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to