[MDEV-28530] Revoking privileges from a non-existing user on a master breaks replication on the slave in the presence of replication filters Created: 2022-05-10  Updated: 2022-09-06  Resolved: 2022-09-03

Status: Closed
Project: MariaDB Server
Component/s: Replication, Server
Affects Version/s: 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9
Fix Version/s: 10.3.37, 10.4.27, 10.5.18, 10.6.10, 10.7.6, 10.8.5, 10.9.3

Type: Bug Priority: Major
Reporter: Brandon Nesterenko Assignee: Andrei Elkin
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Duplicate

 Description   

The bug reported by MENT-1482 was decided to be fixed in the CS version as well. This ticket duplicates the enterprise report.

In the presence of a replication filter on a slave, revoking privileges from a non-existing user on the master breaks replication on the slave. Without the filter, the slave just proceeds normally without any issues.

How to reproduce:

  • Set up a master/replica
  • Configure a filter on the replica: replicate_do_wild_table=schema.%
  • On the master, execute revoke all privileges from 'nonexistentuser'@'%';

Replication will break with:

Query caused different errors on master and slave.
Error on master: message (format)='Can't revoke all privileges for one or more of the requested users' error code=1269 ;
Error on slave: actual message='no error', error code=0.
Default database: ''.
Query: 'REVOKE ALL PRIVILEGES FROM 'nonexistentuser'@'%''



 Comments   
Comment by Brandon Nesterenko [ 2022-05-10 ]

Hey Andrei!

This is ready for review.

Patch: 949ff70
BB: bb-10.2-MDEV-28530

Comment by Andrei Elkin [ 2022-09-03 ]

Review is done, pushing on behalf of Brandon.

Generated at Thu Feb 08 10:01:27 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.