We have observed that galera cluster replicates commands on all other nodes when it was actually refused on one node due to lack of database permissions:
Steps to reproduce this issue:
Set up 3x nodes cluster (db01, db02 and db03):
|
-- Add database user account with following permissions:
|
|
GRANT SELECT, INSERT, UPDATE, DELETE ON `test`.* TO 'iayyaz'@'%' identified by '123';
|
|
-- Create dummy database + table
|
|
CREATE DATABASE test;
|
USE test;
|
create table t1 (a int);
|
– Login using user 'iayyaz' to node 'db01'
– Issue following commands:
|
rename table t1 to t2;
|
(this command would fail due to lack of permissions)
|
ERROR 1142 (42000): DROP, ALTER command denied to user 'iayyaz'@'10.10.16.7' for table 't1'
|
|
– Login to node 'db02'
You would find table has been renamed:
MariaDB [test]> show tables;
|
+----------------+
|
| Tables_in_test |
|
+----------------+
|
| t2 |
|
+----------------+
|
1 row in set (0.00 sec)
|
|
{"report":{"fcp":852.8000001907349,"ttfb":203.5,"pageVisibility":"visible","entityId":52608,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":1,"journeyId":"41a95ed6-4980-46c3-961d-c17c2791ea50","navigationType":0,"readyForUser":924.6999998092651,"redirectCount":0,"resourceLoadedEnd":543,"resourceLoadedStart":214.39999961853027,"resourceTiming":[{"duration":41,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2bu7/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":214.39999961853027,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":214.39999961853027,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":255.39999961853027,"responseStart":0,"secureConnectionStart":0},{"duration":41.60000038146973,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2bu7/820016/12ta74/8679b4946efa1a0bb029a3a22206fb5d/_/download/contextbatch/css/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":214.69999980926514,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":214.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":256.30000019073486,"responseStart":0,"secureConnectionStart":0},{"duration":196.9000005722046,"initiatorType":"script","name":"https://jira.mariadb.org/s/fbf975c0cce4b1abf04784eeae9ba1f4-CDN/lu2bu7/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":214.89999961853027,"connectEnd":259.5999994277954,"connectStart":259.5999994277954,"domainLookupEnd":259.5999994277954,"domainLookupStart":259.5999994277954,"fetchStart":214.89999961853027,"redirectEnd":0,"redirectStart":0,"requestStart":260,"responseEnd":411.80000019073486,"responseStart":272.19999980926514,"secureConnectionStart":259.5999994277954},{"duration":327.19999980926514,"initiatorType":"script","name":"https://jira.mariadb.org/s/099b33461394b8015fc36c0a4b96e19f-CDN/lu2bu7/820016/12ta74/8679b4946efa1a0bb029a3a22206fb5d/_/download/contextbatch/js/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true","startTime":215.80000019073486,"connectEnd":215.80000019073486,"connectStart":215.80000019073486,"domainLookupEnd":215.80000019073486,"domainLookupStart":215.80000019073486,"fetchStart":215.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":260.80000019073486,"responseEnd":543,"responseStart":275.30000019073486,"secureConnectionStart":215.80000019073486},{"duration":72.89999961853027,"initiatorType":"script","name":"https://jira.mariadb.org/s/94c15bff32baef80f4096a08aceae8bc-CDN/lu2bu7/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":216,"connectEnd":216,"connectStart":216,"domainLookupEnd":216,"domainLookupStart":216,"fetchStart":216,"redirectEnd":0,"redirectStart":0,"requestStart":266.8999996185303,"responseEnd":288.8999996185303,"responseStart":286,"secureConnectionStart":216},{"duration":72.89999961853027,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":216.19999980926514,"connectEnd":216.19999980926514,"connectStart":216.19999980926514,"domainLookupEnd":216.19999980926514,"domainLookupStart":216.19999980926514,"fetchStart":216.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":267.19999980926514,"responseEnd":289.0999994277954,"responseStart":286.80000019073486,"secureConnectionStart":216.19999980926514},{"duration":77.10000038146973,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":216.39999961853027,"connectEnd":216.39999961853027,"connectStart":216.39999961853027,"domainLookupEnd":216.39999961853027,"domainLookupStart":216.39999961853027,"fetchStart":216.39999961853027,"redirectEnd":0,"redirectStart":0,"requestStart":268,"responseEnd":293.5,"responseStart":289.3999996185303,"secureConnectionStart":216.39999961853027},{"duration":51.30000019073486,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2bu7/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":216.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":216.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":267.80000019073486,"responseStart":0,"secureConnectionStart":0},{"duration":77.19999980926514,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":216.69999980926514,"connectEnd":216.69999980926514,"connectStart":216.69999980926514,"domainLookupEnd":216.69999980926514,"domainLookupStart":216.69999980926514,"fetchStart":216.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":271.0999994277954,"responseEnd":293.8999996185303,"responseStart":290.30000019073486,"secureConnectionStart":216.69999980926514},{"duration":51.89999961853027,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2bu7/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.css?jira.create.linked.issue=true","startTime":216.80000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":216.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":268.69999980926514,"responseStart":0,"secureConnectionStart":0},{"duration":77.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/3339d87fa2538a859872f2df449bf8d0-CDN/lu2bu7/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.js?jira.create.linked.issue=true&locale=en","startTime":217,"connectEnd":217,"connectStart":217,"domainLookupEnd":217,"domainLookupStart":217,"fetchStart":217,"redirectEnd":0,"redirectStart":0,"requestStart":272,"responseEnd":294.5,"responseStart":291.30000019073486,"secureConnectionStart":217},{"duration":280.70000076293945,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":218.5999994277954,"connectEnd":218.5999994277954,"connectStart":218.5999994277954,"domainLookupEnd":218.5999994277954,"domainLookupStart":218.5999994277954,"fetchStart":218.5999994277954,"redirectEnd":0,"redirectStart":0,"requestStart":324.0999994277954,"responseEnd":499.30000019073486,"responseStart":493.19999980926514,"secureConnectionStart":218.5999994277954},{"duration":281.20000076293945,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":220.5999994277954,"connectEnd":220.5999994277954,"connectStart":220.5999994277954,"domainLookupEnd":220.5999994277954,"domainLookupStart":220.5999994277954,"fetchStart":220.5999994277954,"redirectEnd":0,"redirectStart":0,"requestStart":350.30000019073486,"responseEnd":501.80000019073486,"responseStart":497.30000019073486,"secureConnectionStart":220.5999994277954},{"duration":65.5,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":539.3999996185303,"connectEnd":539.3999996185303,"connectStart":539.3999996185303,"domainLookupEnd":539.3999996185303,"domainLookupStart":539.3999996185303,"fetchStart":539.3999996185303,"redirectEnd":0,"redirectStart":0,"requestStart":571.8000001907349,"responseEnd":604.8999996185303,"responseStart":603.5,"secureConnectionStart":539.3999996185303},{"duration":206.39999961853027,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":773.1999998092651,"connectEnd":773.1999998092651,"connectStart":773.1999998092651,"domainLookupEnd":773.1999998092651,"domainLookupStart":773.1999998092651,"fetchStart":773.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":946.6999998092651,"responseEnd":979.5999994277954,"responseStart":978.5,"secureConnectionStart":773.1999998092651}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":39,"responseStart":204,"responseEnd":221,"domLoading":207,"domInteractive":976,"domContentLoadedEventStart":976,"domContentLoadedEventEnd":1017,"domComplete":1371,"loadEventStart":1371,"loadEventEnd":1372,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":957},{"name":"bigPipe.sidebar-id.end","time":958},{"name":"bigPipe.activity-panel-pipe-id.start","time":958.0999994277954},{"name":"bigPipe.activity-panel-pipe-id.end","time":959.1999998092651},{"name":"activityTabFullyLoaded","time":1035.6999998092651}],"measures":[],"correlationId":"cb2706c9df509f","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":92,"dbReadsTimeInMs":12,"dbConnsTimeInMs":19,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}
This is a serious issue, once table has been renamed on other nodes i,e, db02 and db03, Now if we issue DML on db01:
INSERT INTO t1 values (1); # This operation would succeed here but would cause db02/03 to crash