Uploaded image for project: 'MariaDB Connector/J'
  1. MariaDB Connector/J
  2. CONJ-1383

Connection init rebuilds session_track_system_variables from @@global, discarding session-level last_gtid set by MaxScale (breaks causal_reads)

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 3.5.10
    • 3.3.7, 3.4.5, 3.5.11, 4.0.0
    • Other
    • None
    • MaxScale 24.02

    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?

      Attachments

        Activity

          People

            diego dupin Diego Dupin
            sawan Sawan Patel
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.