Skip to content

v0.11.6

Compare
Choose a tag to compare
@edenhill edenhill released this 18 Oct 20:31
· 1695 commits to master since this release

v0.11.6 is a maintenance release.

Critical fixes

  • The internal timer could wrap in under 8 days on Windows, causing stalls and hangs. Bug introduced in v0.11.5. #1980
  • Purge and retry buffers in outbuf queue on connection fail (#1913). Messages could get stuck in internal queues on retry and broker down.

Enhancements

  • Enable low latency mode on Windows by using TCP "pipe". Users no longer need to set socket.blocking.max.ms to improve latency. (#1930, @LavaSpider)
  • Added rd_kafka_destroy_flags() to control destroy behaviour. Can be used to force an consumer to terminate without leaving the group or committing final offsets.

Fixes

  • Producer: Serve UA queue when transitioning topic from UNKNOWN. Messages could get stuck in UA partition queue on metadata timeout (#1985).
  • Fix partial read issue on unix platforms without recvmsg()
  • Improve disconnect detection on Windows (#1937)
  • Use atomics for refcounts on all platforms with atomics support (#1873)
  • Message err was not set for on_ack interceptors on broker reply (#1892)
  • Fix consumer_lag to -1 when neither app_offset or commmitted_offset is available (#1911)
  • Fix crash: Insert retriable messages on partition queue, not xmit queue (#1965)
  • Fix crash: don't enqueue messages for retry when handle is terminating.
  • Disconnect regardless of socket.max.fails when partial request times out (#1955)
  • Now builds with libressl (#1896, #1901, @secretmike)
  • Call poll when flush() is called with a timeout of 0 (#1950)
  • Proper locking of set_fetch_state() when OffsetFetch response is outdated
  • Destroy unknown and no longer desired partitions (fixes destroy hang)
  • Handle FetchResponse for partitions that were removed during fetch (#1948)
  • rdkafka_performance: Default the message size to the length of the pattern unless given explicitly (#1899, @ankon)
  • Fix timeout reuse in queue serving/polling functions (#1863)
  • Fix rd_atomic*_set() to use __atomic or __sync when available
  • NuGet: change runtime from win7-.. to more generic win-.. (CLIENTS-1188)
  • Fix crash: failed ops enq could be handled by original dest queue callbacks
  • Update STATISTICS.md to match code (@ankon, #1936)
  • rdkafka_performance: Don't sleep while waiting for delivery reports (#1918, @ankon)
  • Remove unnecessary 100ms sleep when broker goes from UP -> DOWN (#1895)
  • rdhdrhistogram: Fix incorrect float -> int cast causing havoc on MIPS (@andoma)
  • "Message size too large": The receive buffer would grow by x2 (up to the limit) each time a EOS control message was seen. (#1472)
  • Added support for system-provided C11 threads, e.g. alpine/musl. This fixes weird behaviour on Alpine (#1998)
  • Fix high CPU usage after disconnect from broker while waiting for SASL response (#2032, @stefanseufert)
  • Fix dont-destroy-from-rdkafka-thread detection logic to avoid assert when using plugins.
  • Fix LTO warnings with gcc 8 (#2038, @Romain-Geissler-1A)