Bug ID 455560: HTTP filter waits until part of the body is received before sending small headers

Last Modified: Sep 13, 2023

Affected Product(s):
BIG-IP LTM(all modules)

Known Affected Versions:
11.2.1, 11.3.0, 11.4.0, 11.4.1, 11.5.0, 11.5.1, 11.5.2, 11.5.3, 11.5.4, 11.5.5, 11.5.6, 11.5.7, 11.5.8, 11.5.9, 11.5.10, 11.6.0, 11.6.1, 11.6.2, 11.6.3, 11.6.3.1, 11.6.3.2, 11.6.3.3, 11.6.3.4, 11.6.4, 11.6.5, 11.6.5.1, 11.6.5.2, 11.6.5.3, 12.0.0, 12.0.0 HF1, 12.1.0 HF1, 12.0.0 HF2, 12.1.0 HF2, 12.0.0 HF3, 12.0.0 HF4, 12.1.1 HF1, 12.1.1 HF2, 12.1.2 HF1, 12.1.2 HF2, 12.1.0, 12.1.1, 12.1.2, 12.1.3, 12.1.3.1, 12.1.3.2, 12.1.3.3, 12.1.3.4, 12.1.3.5, 12.1.3.6, 12.1.3.7, 12.1.4, 12.1.4.1, 12.1.5, 12.1.5.1, 12.1.5.2, 12.1.5.3, 12.1.6

Fixed In:
13.0.0

Opened: Apr 03, 2014

Severity: 4-Minor

Related Article: K46291953

Symptoms

If the HTTP filter expects a body attached to a response, the filter waits for part of that body to arrive before sending headers smaller than 16 KB.This is done for performance reasons, to minimize the number of packets sent. (Since the headers are usually smaller than a single packet.) If a misconfigured server waits to send a body, or fails to send one at all, the BIG-IP system waits until the connection ends before sending the response. This has been seen to affect redirect responses with no content length header.

Impact

The connection might appear to stall until the server-side sends a body or disconnects.

Conditions

This occurs when the following conditions are met: -- A response indicating a body. -- The headers are smaller than 16 KB. -- The body takes time to arrive, or never arrives at all.

Workaround

The headers can be padded to be larger than 16 KB by an iRule. (This causes the BIG-IP system not to wait.) HTTP::respond might also be useful to emulate a redirect response manually.

Fix Information

None

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips