It also fixes a bug which whould manifest only when using dyntopic and when producer is in i-won't-accept-new-messages state, and caller tries to produce a new message. The dyn-topic-lock wouldn't be unlocked (because of premature fail-jump).
If you know librdkafka at a high level and are interested in details, here is a more detailed explaination:
So 'rk' tries to bound number of objects in flight by maintaining a counter, the max-value of which defaults to 100k. When a new message comes in, it rejects it if it already is at max-messages-in-flight. Now this counter is decremented (and in-flight-msg memory is freed) in callback-poll (which picks things from reply-queue, rd_kafka_op_t for delivery-ack op). If we don't poll when we are already at max-in-flight-messages and there is no poll in flight, it'll basically drain all 100k in-flight message and then start idling (because rk->rk_u.producer->msg_cnt still thinks it has 100k messages in flight, and delivery-acks are yet to be handled, but of-course no one handles them).
In commit 3b13693 commiter uses variable before executing another block of code which sets this variable and any changes in that block won't apply.
This bug appears when user runs "make dist" in the git repo and the generated tarball doesn't contain rscryutil.1.
Instead of an failure, only a warning message is generated now.
On Freebsd the function check does not detect the gnutls_global_init
proberly. This caused configure to fail even if gnutls was installed.
as it turned out, this was due to a check for GnuTLS functions
with the side-effect that
AC_CHECK_LIB, by default, adds the lib to LIBS, if there is no
explicit action, what was the case here. So everything was now
linked against GnuTLS, which in turn made ommysql fail.
Thanks to Thomas D. (whissi) for the analysis of the ommysql/gnutls
problem and Thomas Heinrich for pointing out that AC_CHECK_LIB might
be the culprit.
Man pages are not generated anymore when "--disable-generate-man-pages" is
configured. Also changed man-page rulepatterns makefile. The method
using $< refering to the prerequisite did not work proberly on FreeBSD.
closes https://github.com/rsyslog/rsyslog/issues/387
IN_MOVED_FROM are now handeled properly. When a file is moved
out of the watched directory, inotify_rm_watch is called and
the file is being removed wdMap table.
closes https://github.com/rsyslog/rsyslog/issues/324
When monitoring single files in inotify mode, a corruption of the
configuration filetable happened when the file was deleted.
The Active and Configuration table are sharing the same Listener
object when monitoring a single file. We check if the listener
object is present in the configured filetable before we delete it now.
closes https://github.com/rsyslog/rsyslog/issues/392