Details

    Description

      There is a difference between mariadb and mysql concerning session state tracking.
      MySQL OK_Packet server_status flag may have value SERVER_SESSION_STATE_CHANGED set *ONLY * when client has set capability CLIENT_SESSION_TRACK.
      MariaDB may set value SERVER_SESSION_STATE_CHANGED whatever client CLIENT_SESSION_TRACK capability has been set.

      This difference has impacts: Recent version of mysql java connector rely only on server status flag value SERVER_SESSION_STATE_CHANGED to read session state additional bytes. Connector then try to read bytes that doesn't exist in packet when a session state change (only workaround is to enable mysql connector option `trackSessionState`).

      proposed patch joined (tested)

      Attachments

        Activity

          diego dupin Diego Dupin created issue -
          diego dupin Diego Dupin made changes -
          Field Original Value New Value
          Attachment MDEV-26868.patch [ 59873 ]
          diego dupin Diego Dupin made changes -
          Description There is a difference between mariadb and mysql concerning session state tracking.
          MySQL OK_Packet [server_status flag|https://mariadb.com/kb/en/ok_packet/#server-status-flag] may have value SERVER_SESSION_STATE_CHANGED set *ONLY * when client has set capability CLIENT_SESSION_TRACK.
          MariaDB may set value SERVER_SESSION_STATE_CHANGED whatever client CLIENT_SESSION_TRACK capability set.

          This difference has impacts: Recent version of mysql java connector rely only on server status flag value SERVER_SESSION_STATE_CHANGED to read session state additional bytes. Using recent mysql java connector result then in error when a session state change (only workaround is to enable mysql connector option `trackSessionState`).

          proposed patch joined


          There is a difference between mariadb and mysql concerning session state tracking.
          MySQL OK_Packet [server_status flag|https://mariadb.com/kb/en/ok_packet/#server-status-flag] may have value SERVER_SESSION_STATE_CHANGED set *ONLY * when client has set capability CLIENT_SESSION_TRACK.
          MariaDB may set value SERVER_SESSION_STATE_CHANGED whatever client CLIENT_SESSION_TRACK capability set.

          This difference has impacts: Recent version of mysql java connector rely only on server status flag value SERVER_SESSION_STATE_CHANGED to read session state additional bytes. Using recent mysql java connector result then in error when a session state change (only workaround is to enable mysql connector option `trackSessionState`).

          proposed patch joined (tested)


          diego dupin Diego Dupin made changes -
          Description There is a difference between mariadb and mysql concerning session state tracking.
          MySQL OK_Packet [server_status flag|https://mariadb.com/kb/en/ok_packet/#server-status-flag] may have value SERVER_SESSION_STATE_CHANGED set *ONLY * when client has set capability CLIENT_SESSION_TRACK.
          MariaDB may set value SERVER_SESSION_STATE_CHANGED whatever client CLIENT_SESSION_TRACK capability set.

          This difference has impacts: Recent version of mysql java connector rely only on server status flag value SERVER_SESSION_STATE_CHANGED to read session state additional bytes. Using recent mysql java connector result then in error when a session state change (only workaround is to enable mysql connector option `trackSessionState`).

          proposed patch joined (tested)


          There is a difference between mariadb and mysql concerning session state tracking.
          MySQL OK_Packet [server_status flag|https://mariadb.com/kb/en/ok_packet/#server-status-flag] may have value SERVER_SESSION_STATE_CHANGED set *ONLY * when client has set capability CLIENT_SESSION_TRACK.
          MariaDB may set value SERVER_SESSION_STATE_CHANGED whatever client CLIENT_SESSION_TRACK capability has been set.

          This difference has impacts: Recent version of mysql java connector rely only on server status flag value SERVER_SESSION_STATE_CHANGED to read session state additional bytes. Using recent mysql java connector result then in error when a session state change (only workaround is to enable mysql connector option `trackSessionState`).

          proposed patch joined (tested)


          diego dupin Diego Dupin made changes -
          Description There is a difference between mariadb and mysql concerning session state tracking.
          MySQL OK_Packet [server_status flag|https://mariadb.com/kb/en/ok_packet/#server-status-flag] may have value SERVER_SESSION_STATE_CHANGED set *ONLY * when client has set capability CLIENT_SESSION_TRACK.
          MariaDB may set value SERVER_SESSION_STATE_CHANGED whatever client CLIENT_SESSION_TRACK capability has been set.

          This difference has impacts: Recent version of mysql java connector rely only on server status flag value SERVER_SESSION_STATE_CHANGED to read session state additional bytes. Using recent mysql java connector result then in error when a session state change (only workaround is to enable mysql connector option `trackSessionState`).

          proposed patch joined (tested)


          There is a difference between mariadb and mysql concerning session state tracking.
          MySQL OK_Packet [server_status flag|https://mariadb.com/kb/en/ok_packet/#server-status-flag] may have value SERVER_SESSION_STATE_CHANGED set *ONLY * when client has set capability CLIENT_SESSION_TRACK.
          MariaDB may set value SERVER_SESSION_STATE_CHANGED whatever client CLIENT_SESSION_TRACK capability has been set.

          This difference has impacts: Recent version of mysql java connector rely only on server status flag value SERVER_SESSION_STATE_CHANGED to read session state additional bytes. Connector then try to read bytes that doesn't exist in packet when a session state change (only workaround is to enable mysql connector option `trackSessionState`).

          proposed patch joined (tested)


          diego dupin Diego Dupin made changes -
          Fix Version/s 10.2 [ 14601 ]
          diego dupin Diego Dupin made changes -
          Fix Version/s 10.3 [ 22126 ]
          Fix Version/s 10.4 [ 22408 ]
          Fix Version/s 10.5 [ 23123 ]
          Fix Version/s 10.6 [ 24028 ]
          Fix Version/s 10.7 [ 24805 ]
          diego dupin Diego Dupin made changes -
          Component/s Protocol [ 14604 ]
          diego dupin Diego Dupin made changes -
          Priority Critical [ 2 ] Blocker [ 1 ]

          I reviewed the patch it is OK and I will push it

          sanja Oleksandr Byelkin added a comment - I reviewed the patch it is OK and I will push it
          sanja Oleksandr Byelkin made changes -
          Fix Version/s 10.2.41 [ 26032 ]
          Fix Version/s 10.3.32 [ 26029 ]
          Fix Version/s 10.4.22 [ 26031 ]
          Fix Version/s 10.5.13 [ 26026 ]
          Fix Version/s 10.6.5 [ 26034 ]
          Fix Version/s 10.7.1 [ 26120 ]
          Fix Version/s 10.2 [ 14601 ]
          Fix Version/s 10.3 [ 22126 ]
          Fix Version/s 10.4 [ 22408 ]
          Fix Version/s 10.5 [ 23123 ]
          Fix Version/s 10.6 [ 24028 ]
          Fix Version/s 10.7 [ 24805 ]
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Closed [ 6 ]
          serg Sergei Golubchik made changes -
          Workflow MariaDB v3 [ 126440 ] MariaDB v4 [ 159794 ]

          People

            sanja Oleksandr Byelkin
            diego dupin Diego Dupin
            Votes:
            0 Vote for this issue
            Watchers:
            4 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.