Details
Description
At connect driver sends:
set sql_mode=CONCAT(@@sql_mode,',STRICT_TRANS_TABLES'),session_track_system_variables = CONCAT(@@global.session_track_system_variables,',tx_isolation'),NAMES utf8mb4
(captured from the general log)
Because it rebuilds session_track_system_variables from @@global, it discards anything set at session level before it. MaxScale 24.02 (MXS-4746) adds last_gtid to the session value for causal_reads, and its release note says clients must not modify it afterwards. Net effect in a customer case: last_gtid is dropped, causal_reads silently stops working. Re-adding last_gtid via sessionVariables works. PyMySQL is unaffected.
Should the driver build from @@session value instead?