<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Hi John,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Could you gather debug logs with `syslog-ng -Fedtv`? It would provide a nice starting point.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Thanks,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Attila</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> syslog-ng <syslog-ng-bounces@lists.balabit.hu> on behalf of John Skopis <jspam@skopis.com><br>
<b>Sent:</b> Monday, January 13, 2020 10:11 AM<br>
<b>To:</b> syslog-ng@lists.balabit.hu <syslog-ng@lists.balabit.hu><br>
<b>Subject:</b> [syslog-ng] librdkafka and messages dropped</font>
<div> </div>
</div>
<div>
<div style="background-color:#FFEB9C; width:100%; border-style:solid; border-color:#9C6500; border-width:1pt; padding:2pt; font-size:10pt; line-height:12pt; font-family:'Calibri'; color:Black; text-align:left">
<span style="color:#9C6500; font-weight:bold">CAUTION:</span> This email originated from outside of the organization. Do not follow guidance, click links, or open attachments unless you recognize the sender and know the content is safe.</div>
<br>
<div>
<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>
</div>
</div>
</body>
</html>