Bug #115619 Invalid variable error on restart
Submitted: 17 Jul 2024 6:11 Modified: 1 May 17:38
Reporter: Pedro Ferreira Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Options Severity:S3 (Non-critical)
Version:9.0.0 OS:Ubuntu (22.04)
Assigned to: CPU Architecture:x86 (x86_64)

[17 Jul 2024 6:11] Pedro Ferreira
Description:
Run this query:

SET PERSIST_ONLY TRANSACTION ISOLATION LEVEL SERIALIZABLE;

Then restart the server. The following error will be shown in the log:

[ERROR] [MY-011268] [Server] Configuring persisted options failed: "Variable 'transaction_isolation' can't be set to the value of '3'".

From the documentation, PERSIST_ONLY is not mentioned in the transaction isolation level option. Maybe it shouldn't be allowed?

The compilation parameters are the same as issue 108148:

-DWITH_DEBUG=1 -DWITH_ASAN=ON -DWITH_UBSAN=ON and boost library version 1.77

How to repeat:
Run the steps above.
[18 Jul 2024 5:51] MySQL Verification Team
Hello Pedro Ferreira,

Thank you for the report and feedback.

regards,
Umesh
[1 May 17:38] Jon Stephens
Documented fix as follows in the MySQL9.4.0 changelog:

    It was possible to use the PERSIST or PERSIST_ONLY keyword with
    SET TRANSACTION ISOLATION LEVEL, even though this should not be
    allowed, and later caused errors on server restart. Now
    attempting to do so causes the statement to be rejected with
    ER_CANNOT_PERSIST_TRANSACTION_ISOLATION.

Closed.