Bug ID 483286: APM MySQL database full as log_session_details table keeps growing

Last Modified: Jul 13, 2024

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

Known Affected Versions:
11.4.1, 11.5.2, 11.5.2 HF1, 11.5.3, 11.5.3 HF1, 11.6.0, 11.6.0 HF1, 11.6.0 HF2, 11.6.0 HF3, 11.6.0 HF4, 11.6.0 HF5

Fixed In:
11.6.0 HF6, 11.5.3 HF2, 11.4.1 HF9

Opened: Oct 07, 2014

Severity: 3-Major

Related Article: K17089

Symptoms

APM stores session reporting data in "apm" MySQL database, under log_session_details table, but never does any cleanup. This causes the table to continuously grow. Eventually this consumes all disk, potentially corrupting the SQL data, and stopping services on the BIG-IP system that rely on MySQL.

Impact

MySql volume (12G) will fill with data, potentially stopping or degrading services in the box that rely on MySQL. Including: ASM, AVR, APM Reporting, Web UI, and QkView.

Conditions

Conditions leading to this issue include: APM is provisioned; and 350M APM sessions are created over any period of time (each row in log_session_details consumes ~20 bytes).

Workaround

Workaround is to manually clean up the log_session_details table in MySQL database. First, retrieve the randomly generated MySQL password per box, using the following shell command as the root user. For example, # perl -MPassCrypt -nle 'print PassCrypt::decrypt_password($_)' /var/db/mysqlpw PjL7mq+fFJ where PjL7mq+fFJ is the random password at MySQL installation in this example. Use this password in the following command for clean-up. # /usr/bin/mysql -uroot -pPjL7mq+fFJ --database=apm -e "delete from log_session_details where active = 'N';" This will delete all those rows that are referred to by an inactive session.

Fix Information

None

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips