Hi,

A few bugs were reported since 1.4.19 was released, and some were found in 1.5
during development :

  - servers tracking disabled servers would still be used while disabled

  - zero-weight servers could still dequeue requests pending in the backend's
    queue

  - the build was broken on FreeBSD since 1.4.19 (reported by Marcello Gorlani)

  - since the introduction of client keep-alive, a server would not pick a
    pending requests after releasing a connection if it keeps exactly maxconn-1
    connections, which is problematic with low maxconn values

  - POST requests smaller than the buffer would experience an undesirable
    additional delay of 200ms due to a flag being left unconditionally enabled
    on the buffer (bug reported by Randy Shults)

  - sometimes when sending data wrapping across the buffer, haproxy would
    fail to merge TCP segments into a single one, which results in a few PUSH
    packets that can sometimes be observed during chunked-encoded transfers
    (this was just a missed optimization)

  - the http-send-name-header would be processed multiple times when enabled,
    which is suboptimal (reported and fixed by Stathis Voukelatos).

I thought it was worth releasing 1.4.20 with all these changes. Some of them
are important enough to justify an upgrade, eventhough they've been here for
a very long time. At least they can complicate the troubleshooting of
application issues. I really suggest that anyone using 1.4 should upgrade to
1.4.20 (or backport the fixes into the version they maintain).

I'm considering issuing 1.5-dev8 next week, there are a number of updates
pending, and more importantly I started to work on complex internal changes
in the buffer processing that I'd like not to mix with other fixes in case
things go wrong.

Here's the complete changelog for 1.4.20 :
    - BUG/MINOR: fix typo in processing of http-send-name-header
    - BUG/MEDIUM: correctly disable servers tracking another disabled servers.
    - BUG/MEDIUM: zero-weight servers must not dequeue requests from the backend
    - MINOR: halog: add some help on the command line
    - BUILD: fix build error on FreeBSD
    - BUG: queue: fix dequeueing sequence on HTTP keep-alive sessions
    - BUG: http: disable TCP delayed ACKs when forwarding content-length data
    - BUG: checks: fix server maintenance exit sequence
    - BUG/MINOR: stream_sock: don't remove BF_EXPECT_MORE and BF_SEND_DONTWAIT 
on partial writes
    - DOC: enumerate valid status codes for "observe layer7"
    - BUILD: make it possible to look for pcre in the default system paths

Sources, Linux/x86 and Solaris/sparc binaries are at the usual location :

    site index : http://haproxy.1wt.eu/
    sources    : http://haproxy.1wt.eu/download/1.4/src/
    changelog  : http://haproxy.1wt.eu/download/1.4/src/CHANGELOG
    binaries   : http://haproxy.1wt.eu/download/1.4/bin/

Willy


Reply via email to