Uploaded image for project: 'MariaDB MaxScale'
  1. MariaDB MaxScale
  2. MXS-5967

Switchover fails when an active application connection has SUPER privilege

    XMLWordPrintable

Details

    • New Feature
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • None
    • None
    • mariadbmon
    • None

    Description

      BEFORE:

      show grants for `appli`@`%`;
      GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER ON *.* TO `appli`@`%` IDENTIFIED BY ...
      

      Switchover works.

      root@max1:~$ maxctrl call command mariadbmon switchover MariaDB-Monitor proddb031 proddb032
      OK
      

      —
      AFTER GRANTING SUPER TO APPLICATION ACCOUNT AND FLUSING PRIVS:

      show grants for `appli`@`%`;
      GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, SUPER ON *.* TO `appli`@`%` IDENTIFIED BY ...
      

      Now we see a failure during switchover.

      root@max1:~$ maxctrl call command mariadbmon switchover MariaDB-Monitor proddb032 proddb031
      Error: Server at http://127.0.0.1:8989 responded with 400 Bad Request to `POST maxscale/modules/mariadbmon/switchover?MariaDB-Monitor&proddb032&proddb031`
      {
          "links": {
              "self": "http://127.0.0.1:8989/v1/maxscale/modules/mariadbmon/switchover/"
          },
          "meta": {
              "errors": [
                  {
                      "detail": "Gtid_Binlog_Pos of proddb031 changed even when server was frozen for demotion. Demotion cannot proceed safely. Old gtid: 0-31-23362462 New gtid: 0-31-23362472"
                  },
                  {
                      "detail": "Switchover proddb031 -> proddb032 failed."
                  }
              ]
          }
      }
      root@max1:~$
      

      I am reporting this as a new feature request. Likely this does not qualify as a bug. The new feature would be to add a suggestion to check users with SUPER PRIVILEGES that should not have them. Example:

              "errors": [
                  {
                      "detail": "Gtid_Binlog_Pos of proddb031 changed even when server was frozen for demotion. Demotion cannot proceed safely. Old gtid: 0-31-23362462 New gtid: 0-31-23362472 (User with SUPER privilege running transactions?)"
                  },
                  {
                      "detail": "Switchover proddb031 -> proddb032 failed."
                  }
              ]
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            edward Edward Stoever
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

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