tencent cloud

Corruption in the Tablespace fseg not full list Caused by Purging or Rollbacks on Two Blob Fields
Last updated:2025-12-24 16:09:19
Corruption in the Tablespace fseg not full list Caused by Purging or Rollbacks on Two Blob Fields
Last updated: 2025-12-24 16:09:19

Issue

Purging or rollbacks on two blob fields cause corruption in the tablespace fseg not full list.

Issue Triggering Scenarios

Performing Data Manipulation Language (DML) operations on a table containing two columns of blob data may corrupt the tablespace fseg not full list. This can subsequently cause crashes during DML operations on the tablespace. Data in primary and standby databases may become corrupted simultaneously, leading to a crash of both instances.

Affected Kernel Versions

MySQL 8.0 20220831, MySQL 8.0 20220401, MySQL 8.0 20220331, MySQL 8.0 20220330, MySQL 8.0 20211202, MySQL 8.0 20210830, MySQL 8.0 20210330, and MySQL 8.0 20201230.

Fixed Kernel Version

MySQL 8.0 20221002.

Check Methods

You can refer to the following commands to check for the issue.
Query detailed column information of tables.
SELECT
t1.TABLE_SCHEMA,
t1.TABLE_NAME,
t1.COLUMN_NAME,
t1.DATA_TYPE
FROM
INFORMATION_SCHEMA.COLUMNS t1
INNER JOIN (
-- Subquery: First, find the tables that meet the condition (number of specific-type columns >= 2).
SELECT
TABLE_SCHEMA,
TABLE_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
DATA_TYPE IN ('blob', 'mediumblob', 'longblob', 'json', 'text', 'MEDIUMTEXT', 'LONGTEXT', 'geometry')
AND TABLE_SCHEMA IN ('xxx', 'xxxx') -- Replace with actual database names.
GROUP BY
TABLE_SCHEMA,
TABLE_NAME
HAVING
COUNT(*) >= 2
) t2 ON t1.TABLE_SCHEMA = t2.TABLE_SCHEMA AND t1.TABLE_NAME = t2.TABLE_NAME
WHERE
-- Outer layer filters types again to ensure only risky columns are listed.
t1.DATA_TYPE IN ('blob', 'mediumblob', 'longblob', 'json', 'text', 'MEDIUMTEXT', 'LONGTEXT', 'geometry');
Query risk table information.
SELECT
TABLE_SCHEMA,
TABLE_NAME,
COUNT(*) as risky_column_count,
GROUP_CONCAT(COLUMN_NAME) as risky_columns -- Optional: Concatenate column names into a single row for display.
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
DATA_TYPE IN ('blob', 'mediumblob', 'longblob', 'json', 'text', 'MEDIUMTEXT', 'LONGTEXT', 'geometry')
AND TABLE_SCHEMA IN ('xxx', 'xxxx')
GROUP BY
TABLE_SCHEMA,
TABLE_NAME
HAVING
COUNT(*) >= 2;

Fixing Methods

1. Upgrade the kernel version to MySQL 8.0 20221002. For the operation method, see Upgrading the Kernel Minor Version.
2. After a kernel version upgrade, rebuild and repair the corrupted tables. You can use the method alter table xx engine = innodb; for repair. To avoid business impact caused by table locking, it is recommended to perform the repair during off-peak hours using tools such as pt-osc.
Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback