Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-21721

Partially successful multi-user DROP breaks filtered replication

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Fixed
    • 10.3.22, 5.5(EOL), 10.0(EOL), 10.1(EOL), 10.2(EOL), 10.3(EOL), 10.4(EOL)
    • Replication
    • None

    Description

      ## Master creates a user and it exists:
       
      MariaDB [(none)]> select user, host from mysql.user where user not in ('repl','root') order by user, host;
      Empty set (0.000 sec)
       
      MariaDB [(none)]> create user mgtest@'192.168.100.%';
      Query OK, 0 rows affected (0.001 sec)
       
      MariaDB [(none)]> select user, host from mysql.user where user not in ('repl','root') order by user, host;
      +--------+---------------+
      | user   | host          |
      +--------+---------------+
      | mgtest | 192.168.100.% |
      +--------+---------------+
      1 row in set (0.000 sec)
      

      ## User does not exist on replica due to replication filtering:
       
      MariaDB [(none)]> select user, host from mysql.user where user not in ('repl','root') order by user, host;
      Empty set (0.000 sec)
       
      MariaDB [(none)]> pager grep Seconds
      PAGER set to 'grep Seconds'
      MariaDB [(none)]> show slave status\G
               Seconds_Behind_Master: 0
      1 row in set (0.000 sec)
      

      ## Master drops valid user along with nonexistent user:
       
      MariaDB [(none)]> drop user mgtest@'192.168.100.%', mgtest;
      ERROR 1396 (HY000): Operation DROP USER failed for 'mgtest'@'%'
      MariaDB [(none)]> select user, host from mysql.user where user not in ('repl','root') order by user, host;
      Empty set (0.001 sec)
      

      ## Replica is broken:
       
      Last_SQL_Error: Query caused different errors on master and slave.     Error on master: message (format)='Operation %s failed for %.256s' error code=1396 ; Error on slave: actual message='no error', error code=0. Default database: ''. Query: 'drop user mgtest@'192.168.100.%', mgtest'
      

      Attachments

        Issue Links

          Activity

            alice Alice Sherepa added a comment -

            Thank you for the report! Reproducible on 5.5-10.4

            #run as ./mtr --mysqld=--replicate-wild-do-table=test.%
            source include/master-slave.inc;
            connection master;
             
            create user u1@'%';
            --error 1396
            drop user u1@'%',u2@'%';
             
            sync_slave_with_master;
            --vertical_results
            show slave status;
             
            --source include/rpl_end.inc
            

            Last_SQL_Error	Query caused different errors on master and slave.     Error on master: message (format)='Operation %s failed for %.256s' error code=1396 ; Error on slave: actual message='no error', error code=0. Default database: 'test'. Query: 'drop user u1@'%',u2@'%''
            

            alice Alice Sherepa added a comment - Thank you for the report! Reproducible on 5.5-10.4 #run as ./mtr --mysqld=--replicate-wild-do-table=test.% source include/master-slave.inc; connection master;   create user u1@ '%' ; --error 1396 drop user u1@ '%' ,u2@ '%' ;   sync_slave_with_master; --vertical_results show slave status;   --source include/rpl_end.inc Last_SQL_Error Query caused different errors on master and slave. Error on master: message (format)='Operation %s failed for %.256s' error code=1396 ; Error on slave: actual message='no error', error code=0. Default database: 'test'. Query: 'drop user u1@'%',u2@'%''

            Fixed by MDEV-28530 (949ff706bea) in 10.3.37

            bnestere Brandon Nesterenko added a comment - Fixed by MDEV-28530 ( 949ff706bea ) in 10.3.37

            People

              bnestere Brandon Nesterenko
              mg MG
              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.