Kafka producteur TimeoutException: Expirant 1 dossier(s)

Je suis à l'aide de Kafka avec Printemps-boot:

Kafka Producteur de classe:

@Service
public class MyKafkaProducer {

    @Autowired
    private KafkaTemplate<String, String> kafkaTemplate;

    private static Logger LOGGER = LoggerFactory.getLogger(NotificationDispatcherSender.class);

    //Send Message
    public void sendMessage(String topicName, String message) throws Exception {
        LOGGER.debug("========topic Name===== " + topicName + "=========message=======" + message);
        ListenableFuture<SendResult<String, String>> result = kafkaTemplate.send(topicName, message);
        result.addCallback(new ListenableFutureCallback<SendResult<String, String>>() {
            @Override
            public void onSuccess(SendResult<String, String> result) {
                LOGGER.debug("sent message='{}' with offset={}", message, result.getRecordMetadata().offset());
            }

            @Override
            public void onFailure(Throwable ex) {
                LOGGER.error(Constants.PRODUCER_MESSAGE_EXCEPTION.getValue() + " : " + ex.getMessage());
            }
        });
    }
}

Kafka-configuration:

spring.kafka.producer.retries=0
spring.kafka.producer.batch-size=100000
spring.kafka.producer.request.timeout.ms=30000
spring.kafka.producer.linger.ms=10
spring.kafka.producer.acks=0
spring.kafka.producer.buffer-memory=33554432
spring.kafka.producer.max.block.ms=5000
spring.kafka.bootstrap-servers=192.168.1.161:9092,192.168.1.162:9093

Disons que j'ai envoyé 10 fois 1000 messages dans le sujet my-test-topic.

8 fois sur 10 je suis avec succès, d'obtenir tous les messages dans ma consommation, mais parfois je suis en-dessous de erreur:

2017-10-05 07:24:11, [ERROR] [my-service - LoggingProducerListener - onError:76] Exception thrown when sending a message with key='null' and payload='{"deviceType":"X","deviceKeys":[{"apiKey":"X-X-o"}],"devices...' to topic my-test-topic

et org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for my-test-topic-4 due to 30024 ms has passed since batch creation plus linger time

C'est cette erreur que vous décrivez par le producteur ou le consommateur?
J'obtiens cette erreur sur le producteur
Donc, le lot est trop lent pour un "faible" request.timeout.ms. Essayez de faire batch-size un peu plus bas
N'est pas de 30 secondes assez?( Je suis nouvelle de Kafka, s'il vous plaît garder avec moi)
Je ne sais pas, mais en fonction de votre erreur, vous êtes vraiment dépassant les 30 secondes: due to 30024 ms has passed

OriginalL'auteur Prakash Pandey | 2017-10-09