tree 0c4c0e76bb5bbc4aa1f2c911a71ce235421022c6
parent 39af0f663dcac5b20fe219d4cc83810cea3e58ad
author Willy Tarreau <w@1wt.eu> 1236468388 +0100
committer Willy Tarreau <w@1wt.eu> 1236495467 +0100
encoding latin1

[BUG] task: fix handling of duplicate keys

A bug was introduced with the ebtree-based scheduler. It seldom causes
some timeouts to last longer than required if they hit an expiration
date which is the same as the last queued date, is also part of a
duplicate tree without being the top of the tree. In this case, the
task will not be expired until after the duplicate tree has been
flushed.

It is easier to reproduce by setting a very short client timeout (1s)
and sending connections and waiting for them to expire with the 408
status. Then in parallel, inject at about 1kh/s. The bug causes the
connections to sometimes wait longer than 1s before timing out.

The cause was the use of eb_insert_dup() on wrong nodes, as this
function is designed to work only on the top of the dup tree. The
solution consists in updating last_timer only when its bit is -1,
and using it only if its bit is still -1 (top of a dup tree).

The fix has not reduced performance because it only fixes the case
where this bug could fire, which is extremely rare.
