MatrixOne v26.4.1.4 Release Notes

Release Date: July 22, 2026 MatrixOne Version: v26.4.1.4 (v4.1.4)

MatrixOne v26.4.1.4 is a patch release that fixes identifier quoting in CTAS and bounds the default lock_wait_timeout to prevent indefinite lock waits.

Behavior Changes

  • Default lock_wait_timeout bounded to 120 seconds (#25709): The default value of the lock_wait_timeout system variable has been changed from 31536000 (approximately 1 year, effectively unbounded) to 120 seconds (2 minutes). This prevents a single abandoned or slow pessimistic transaction from indefinitely blocking all other waiters behind the same row lock. Users can still set lock_wait_timeout to any value in the range 1–31536000 via SET SESSION lock_wait_timeout = <n> or SET GLOBAL lock_wait_timeout = <n>. A new error code ErrLockWaitTimeout (20710) has been added with the MySQL-compatible message “Lock wait timeout exceeded; try restarting transaction”. Lock wait timeout errors now properly roll back the entire transaction rather than leaving partial state.

Bug Fixes

  • CTAS preserves quoted identifiers and non-ASCII aliases (#25926): Fixed an issue where CREATE TABLE AS SELECT could lose quoted identifiers, backtick-quoted aliases, non-ASCII column names (e.g., 中文别名), reserved keyword aliases (e.g., select, order), CTE aliases, and index hint names during internal SQL generation. The fix also preserves the scope of system variables (@@global.<var>, @@session.<var>) referenced in the SELECT clause.

Compatibility Notes

  • Applications relying on the previous effectively-unlimited default of lock_wait_timeout may see lock wait timeout errors under the new 120-second default. To restore the previous behavior, run:

    SET GLOBAL lock_wait_timeout = 31536000;
    

    or configure it per session before starting a pessimistic transaction.

About This Document

This document is generated by the docs sync agent based on the MatrixOne source diff and reviewed by humans via pull request.

Full Changelog

v4.1.3…v4.1.4