Bug ID 555465: Extremely large number of SessionDB entries may cause HA flapping

Last Modified: Jul 13, 2024

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

Known Affected Versions:
11.6.0, 11.6.0 HF1, 11.6.0 HF2, 11.6.0 HF3, 11.6.0 HF4, 11.6.0 HF5, 11.6.0 HF6, 11.6.0 HF7, 11.6.0 HF8, 11.6.1, 11.6.1 HF1, 11.6.1 HF2, 11.6.2, 11.6.2 HF1, 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.1.0, 12.1.0 HF1, 12.1.0 HF2, 12.1.1, 12.1.1 HF1, 12.1.1 HF2, 12.1.2, 12.1.2 HF1, 12.1.2 HF2, 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, 13.0.0, 13.0.0 HF1, 13.0.0 HF2, 13.0.0 HF3, 13.0.1, 13.1.0, 13.1.0.1, 13.1.0.2, 13.1.0.3, 13.1.0.4, 13.1.0.5, 13.1.0.6, 13.1.0.7, 13.1.0.8, 13.1.1, 13.1.1.2, 13.1.1.3, 13.1.1.4, 13.1.1.5, 13.1.3, 13.1.3.1, 13.1.3.2, 13.1.3.3, 13.1.3.4, 13.1.3.5, 13.1.3.6, 13.1.4, 13.1.4.1, 13.1.5, 13.1.5.1, 14.0.0, 14.0.0.1, 14.0.0.2, 14.0.0.3, 14.0.0.4, 14.0.0.5, 14.0.1, 14.0.1.1, 14.1.0, 14.1.0.1, 14.1.0.2, 14.1.0.3, 14.1.0.5, 14.1.0.6, 14.1.2, 14.1.2.1, 14.1.2.2, 14.1.2.3, 14.1.2.4, 14.1.2.5, 14.1.2.6, 14.1.2.7, 14.1.2.8, 14.1.3, 14.1.3.1, 14.1.4, 14.1.4.1, 14.1.4.2, 14.1.4.3, 14.1.4.4, 14.1.4.5, 14.1.4.6, 14.1.5, 14.1.5.1, 14.1.5.2, 14.1.5.3, 14.1.5.4, 14.1.5.6

Fixed In:
15.0.0

Opened: Oct 31, 2015

Severity: 3-Major

Symptoms

With enough SessionDB entries and a small enough high availability (HA) connections, the HA channel can become oversaturated.

Impact

Mirroring and other HA-related TMM usage might be disrupted.

Conditions

-- Very large number of SessionDB entries. -- Small/inefficient HA channel.

Workaround

If this condition is occurring, the HA channel is continually being reset and then overflowing again when the SessionDB table is synced. You can mitigate by temporarily disabling session mirroring: 1. Disable session mirroring: tmsh modify sys db statemirror.mirrorsessions value disable 2. Wait a minute for HA connections to stabilize. 3. Sync the config changes. 4. Reboot the standby device. 5. Re-enable session mirroring: tmsh modify sys db statemirror.mirrorsessions value enable

Fix Information

Added a new variable 'tmm.sessiondb.ha_mps_limit' to throttle the number of messages that SessionDB sends from the Active to Next Active after an HA state change. Note: Messages from CRUD operations are not throttled. The initial value is 0 for 'no throttling.' If set to a non-zero value N, SessionDB will ensure that, at most, N messages are sent per second. However, if the database is significantly larger than the configured limit, it will take more than 8 seconds to complete the sync. Example usage; to configure at most 1000 messages per second: tmsh modify sys db tmm.sessiondb.ha_mps_limit value 1000

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips