<div dir="ltr"><div>Hello Declan!</div><div><br></div><div>Thanks for sharing the details of these issues<b>.</b></div><div>Reading your letters I tried to focus on points where we could help. I have highlighted them below with "|" and answered them the best I could.</div><div><b><br></b></div><div><b>Mainly I see 2 kinds of issues:</b><br></div><div><b> * Compilation problems on Solaris</b></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px">Although we don't support Solaris officially we received and solved compile related issues on Solaris.<br>I would recommend to submit these on Github with details to discuss it.</blockquote><div><b> * The reported destination dropping messages (or "silent sources" as originally reported ) in syslog-ng.</b></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">The log contains messages like:<br></span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Feb 12 22:28:24.07 host1 syslog-ng[12121]: Destination reliable queue full, dropping message; filename='/var/syslog-ng/</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">syslo<wbr>g-ng-00000.rqf', queue_len='3929', mem_buf_size='10000', disk_buf_size='2000000', persist_name='afsocket_dd_</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">qfil<wbr>e(stream,localhost.afunix:</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">/<wbr>var/syslog-ng/logserver.</span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">socket<wbr>)'</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">I don't know why it needs to drop messages when the source is a file and the flow-control is on.</span></blockquote><div>The log message is not dropped, this shows that the debug message can mislead.</div><div>Message dropping is handled in a layer above the place where this function is called.</div><div>I think this should be fixed.</div><div><br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Tried a later syslog-ng version but the tarball was missing 'configure'. One of them was missing the bundled json-c.<br></span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Needed an empty "json_object_private.h" in the include path (should be another patch, but it was easier just to touch the file).</span></blockquote><div>Can you please specify which tarballs do you mean?</div><div><br></div><div><br></div><div><b>Some word about your use case:</b></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">My use case is strangely simple. I want changes to a list of files on one host replicated to another host, reliably. Reliably means accounting for any network and host disruption, file truncation or rotation.<br></span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">This may seem straightforward but there is no such software. People I've tracked down in the same situation are just running rsync in while(1) loops, which doesn't scale. (Also, I've seen rsync protocol-deadlock on big-v-little-endian + 32v64 + differing-raw-directory-order weirdness before).</span></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">...</blockquote><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">If this is all blowing up because the patches I applied to get it to compile weren't thread safe, that would be appropriately ironic.</span></blockquote><div>As written your log messages are not necessarily conforming to any syslog protocols (which would not be a problem itself) and could be very special too ("... <span style="font-size:12.8px">UNTRUSTED application logs in a verbatim-recoverable manner (e.g. NUL chars, logs with no newlines) ..."</span>).<br></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Your use case is quite special: file replication/transfer without any constraint about the format of the log message while file truncation can happen.</span><br></div><div>Please note that syslog-ng is designed to sequentially read from file sources, if your applications can truncate the file anytime that could lead (in some cases) to message loss!<br></div><div>In our admin guide we state that after a rotation you must reload/restart syslog-ng.</div><div><br></div><div><br></div></div><div>Best Regards,</div><div>Gabor</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 16, 2018 at 7:18 PM, Declan White <span dir="ltr"><<a href="mailto:declanw@is.bbc.co.uk" target="_blank">declanw@is.bbc.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Fri, Feb 16, 2018 at 01:28:02PM +0100, Balazs Scheidler wrote:<br>
> Hi Declan,<br>
><br>
> On Thu, Feb 15, 2018 at 6:13 PM, Declan White <<a href="mailto:declanw@is.bbc.co.uk">declanw@is.bbc.co.uk</a>> wrote:<br>
><br>
</span><span class="">> I understand the sentiment and rest assured what you described is not an<br>
> intended behaviour.<br>
><br>
> Frankly, you are not very helpful here. It is an integral part of open<br>
> source that users are also contributors and help forming the product and/or<br>
> fix bugs. By asserting that there's a problem on your side, without<br>
> providing details to help us fix it, and then calling it a deal breaker<br>
> will not solve the issue.<br>
<br>
</span>And I understand that sentiment :) But when I found it had silently broken doing something simple, my priority switched from tracing it/helping you fix it, to running away screaming. I am in survival mode now.<br>
<br>
I spent a month of late nights trying to get rsyslog to work. When it vomited thready madness I wisely ran away screaming.<br>
<br>
I spent the next month of late nights trying to get syslog-ng working (and patching each of the dependancies that themselves didn't compile, and then compiling GCC itself when I found you were serious about being GCC-only).<br>
It then silently broke when the receiver blipped, and complained about dropping messages, just shoveling only basic files, in reliable mode, on default settings.<br>
<br>
Such an obvious breakage in such an obvious usage case almost certainly means it doesn't do this on Linux or your other test platforms, and that means it will take you a long time to find out what it is about my build/env/OSver/threadmodel that is triggering this. And that's assuming anyone still cares about Sol10.<br>
<br>
That would take me some time working with you to find. I do not have that time. I have negative time. I am shedding tears of hysterical laughter and coding a new file relay protocol in perl right now, doing daily status reports to higherups about the huge delays making a simple reliable file relay.<br>
<span class=""><br>
> The premium edition may or may not be for you, but there you could at least<br>
> have some expectations wrt. deal breakers and stuff, as you would be paying<br>
> money in exchange for service and product. And I am not saying that we<br>
> leave the open source as garbage. We do everything to keep it as stable and<br>
> featureful as possible.<br>
<br>
</span>Yes, I dangled that options at the higher ups. I'm desperate for a reliable relay protocol (hence the attempt at rsyslog).<br>
But seeing as I can't guarantee syslog-ng will relay UNTRUSTED application logs in a verbatim-recoverable manner (e.g. NUL chars, logs with no newlines), I would eventually have to move away from syslog-ng anyway.<br>
<br>
The stars are not aligned. The stars are in fact on fire.<br>
<br>
> Cheers,<br>
<span class="HOEnZb"><font color="#888888">> --<br>
> Bazsi<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
> ______________________________<wbr>______________________________<wbr>__________________<br>
> Member info: <a href="https://lists.balabit.hu/mailman/listinfo/syslog-ng" rel="noreferrer" target="_blank">https://lists.balabit.hu/<wbr>mailman/listinfo/syslog-ng</a><br>
> Documentation: <a href="http://www.balabit.com/support/documentation/?product=syslog-ng" rel="noreferrer" target="_blank">http://www.balabit.com/<wbr>support/documentation/?<wbr>product=syslog-ng</a><br>
> FAQ: <a href="http://www.balabit.com/wiki/syslog-ng-faq" rel="noreferrer" target="_blank">http://www.balabit.com/wiki/<wbr>syslog-ng-faq</a><br>
<br>
--<br>
Declan White<br>
______________________________<wbr>______________________________<wbr>__________________<br>
Member info: <a href="https://lists.balabit.hu/mailman/listinfo/syslog-ng" rel="noreferrer" target="_blank">https://lists.balabit.hu/<wbr>mailman/listinfo/syslog-ng</a><br>
Documentation: <a href="http://www.balabit.com/support/documentation/?product=syslog-ng" rel="noreferrer" target="_blank">http://www.balabit.com/<wbr>support/documentation/?<wbr>product=syslog-ng</a><br>
FAQ: <a href="http://www.balabit.com/wiki/syslog-ng-faq" rel="noreferrer" target="_blank">http://www.balabit.com/wiki/<wbr>syslog-ng-faq</a><br>
<br>
</div></div></blockquote></div><br></div></div>