tencent cloud

purge/rollback of Dual blob Fields Causes Corruption in the Not-Full list of the fseg in the Tablespace
Last updated: 2025-12-08 15:56:17
purge/rollback of Dual blob Fields Causes Corruption in the Not-Full list of the fseg in the Tablespace
Last updated: 2025-12-08 15:56:17

Problem

The dual blob field purge/rollback causes corruption in the not full list of the fseg in the tablespace.

Trigger Scenarios

Performing DML operations on tables containing two blob columns may cause corruption in the not full list of the tablespace, which in turn leads to crashes during DML operations on that tablespace. This potentially corrupts data on both primary and secondary nodes, causing dual crash.

Kernel Version Related to the Issue

TXSQL 8.0 versions 3.0.1 to 3.1.7.

Fixed Kernel Version

TXSQL 8.0 3.1.8.

Check Method

Refer to the following commands for screening.
Query detailed column information of the table.
SELECT
t1.TABLE_SCHEMA,
t1.TABLE_NAME,
t1.COLUMN_NAME,
t1.DATA_TYPE
FROM
INFORMATION_SCHEMA.COLUMNS t1
INNER JOIN (
-- Subquery: First identify tables that meet the criteria (number of columns of specific types >= 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') -- Please 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 query filters the type again to ensure only columns causing risks are listed.
t1.DATA_TYPE IN ('blob', 'mediumblob', 'longblob', 'json', 'text', 'MEDIUMTEXT', 'LONGTEXT', 'geometry');
Query information of the risk table
SELECT
TABLE_SCHEMA,
TABLE_NAME,
COUNT(*) as risky_column_count,
GROUP_CONCAT(COLUMN_NAME) as risky_columns -- Optional: Combine and display column names in a single row.
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 Method

1. Upgrade the kernel version to TXSQL 8.0 3.1.8. For the procedure, see Upgrading the kernel minor version.
2. After the kernel version is upgraded, rebuild and repair corrupted tables using alter table xx engine = innodb;. To avoid business impact caused by table locking, it is recommended to perform repairs 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