<div dir="ltr">Hello,<div><br></div><div>We have a syslog-ng aggregator that accepts messages in a few different formats and logs the message format to kafka. The mapping looks something like:</div><div><br></div><div>format1 -> topic1</div><div>format2 -> topic2</div><div>...</div><div><br></div><div>Each agent will emit messages in ~4 different formats and send to the aggregator.</div><div>The aggregator is configured with a kafka_c destination with 8 threads/destination.</div><div><br></div><div>We were previously using the java kafka client without issue.</div><div>We recently upgraded to 3.24.1 + librdkafka 1.22</div><div><br></div><div>After upgrading we are seeing an issue where (seemingly randomly) syslog-ng stops producing messages into kafka.</div><div><br></div><div>Checking syslog-ng-ctl stats I can see</div><div>d_kafka_format1 has dropped message counter increasing</div><div>d_kafka_format1 queued messages counter increases to 80000 (10000*8 threads iw-size)<br></div><div>d_kafka_format1 processed messages does not increase</div><div><br></div><div>There are messages printed to the log that the destination queue is full for all of the rdkafka threads,</div><div><br></div><div>There are spurious failures to a kafka broker but it seems rdkafka reconnects.</div><div><br></div><div>Seems like once the destination queue becomes full syslog-ng never recovers and the instance must be restarted.</div><div>It also seems like rdkafka stops trying to reconnect to kafka (possibly?).</div><div><br></div><div>Is this expected behavior or is there some bug around reconnecting to kafka after a spurious timeout?</div><div>Just speculating here but does rdkafka stop trying to reconnect after N times? </div><div>Are there any examples of destroy/create destination client after failure thresholds?</div><div><br></div><div>Thanks</div><div><br></div></div>