Type:
Bug
Priority:
Critical
Resolution:
Fixed
Affects Version/s:
10.5
The following test show how to make a cluster inconsistent with a transaction that uses a savepoint with both innodb and aria storage engines involved:
connection node_1;
CREATE TABLE t1 (a INTEGER PRIMARY KEY) engine=innodb;
START TRANSACTION;
INSERT INTO t1 VALUES (1);
SELECT count(*) a from mysql.db;
a
2
SAVEPOINT s1;
ERROR 42000: The storage engine for the table doesn't support SAVEPOINT
INSERT INTO t1 VALUES (2);
COMMIT;
connection node_1;
SELECT * FROM t1;
a
1
2
connection node_2;
SELECT * FROM t1;
a
2
Aria does not support SAVEPOINT, so an error is returned and the statement is rolled back.
This statement rollback is incorrectly causes the trx cache to be truncated back to the beginning of the transaction. Ultimately causing an inconsistency, as only the second half of the transaction is replicated to the rest of the cluster.
{"report":{"fcp":864.3000001907349,"ttfb":248.5,"pageVisibility":"visible","entityId":125909,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":1,"journeyId":"eb776d60-9468-4c4b-97cc-ae41c133f2da","navigationType":0,"readyForUser":949.9000005722046,"redirectCount":0,"resourceLoadedEnd":1102.4000005722046,"resourceLoadedStart":253.5,"resourceTiming":[{"duration":97.20000076293945,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2bv2/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":253.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":253.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":350.70000076293945,"responseStart":0,"secureConnectionStart":0},{"duration":97.80000019073486,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2bv2/820016/12ta74/2380add21a9a1006587582385952de73/_/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":253.80000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":253.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":351.6000003814697,"responseStart":0,"secureConnectionStart":0},{"duration":161.19999980926514,"initiatorType":"script","name":"https://jira.mariadb.org/s/e9b27a47da5fb0f74a35acd57e9847fb-CDN/lu2bv2/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":253.9000005722046,"connectEnd":253.9000005722046,"connectStart":253.9000005722046,"domainLookupEnd":253.9000005722046,"domainLookupStart":253.9000005722046,"fetchStart":253.9000005722046,"redirectEnd":0,"redirectStart":0,"requestStart":253.9000005722046,"responseEnd":415.1000003814697,"responseStart":415.1000003814697,"secureConnectionStart":253.9000005722046},{"duration":242.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/c32eb0da7ad9831253f8397e6cc26afd-CDN/lu2bv2/820016/12ta74/2380add21a9a1006587582385952de73/_/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":254.10000038146973,"connectEnd":254.10000038146973,"connectStart":254.10000038146973,"domainLookupEnd":254.10000038146973,"domainLookupStart":254.10000038146973,"fetchStart":254.10000038146973,"redirectEnd":0,"redirectStart":0,"requestStart":254.10000038146973,"responseEnd":496.6000003814697,"responseStart":496.6000003814697,"secureConnectionStart":254.10000038146973},{"duration":245.89999961853027,"initiatorType":"script","name":"https://jira.mariadb.org/s/bc0bcb146314416123c992714ee00ff7-CDN/lu2bv2/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":254.4000005722046,"connectEnd":254.4000005722046,"connectStart":254.4000005722046,"domainLookupEnd":254.4000005722046,"domainLookupStart":254.4000005722046,"fetchStart":254.4000005722046,"redirectEnd":0,"redirectStart":0,"requestStart":254.4000005722046,"responseEnd":500.30000019073486,"responseStart":500.30000019073486,"secureConnectionStart":254.4000005722046},{"duration":246.30000019073486,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":254.5,"connectEnd":254.5,"connectStart":254.5,"domainLookupEnd":254.5,"domainLookupStart":254.5,"fetchStart":254.5,"redirectEnd":0,"redirectStart":0,"requestStart":254.5,"responseEnd":500.80000019073486,"responseStart":500.80000019073486,"secureConnectionStart":254.5},{"duration":246.39999961853027,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":254.70000076293945,"connectEnd":254.70000076293945,"connectStart":254.70000076293945,"domainLookupEnd":254.70000076293945,"domainLookupStart":254.70000076293945,"fetchStart":254.70000076293945,"redirectEnd":0,"redirectStart":0,"requestStart":254.70000076293945,"responseEnd":501.1000003814697,"responseStart":501.1000003814697,"secureConnectionStart":254.70000076293945},{"duration":302.19999980926514,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2bv2/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":254.9000005722046,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":254.9000005722046,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":557.1000003814697,"responseStart":0,"secureConnectionStart":0},{"duration":246.39999961853027,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":255.10000038146973,"connectEnd":255.10000038146973,"connectStart":255.10000038146973,"domainLookupEnd":255.10000038146973,"domainLookupStart":255.10000038146973,"fetchStart":255.10000038146973,"redirectEnd":0,"redirectStart":0,"requestStart":255.10000038146973,"responseEnd":501.5,"responseStart":501.5,"secureConnectionStart":255.10000038146973},{"duration":302,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2bv2/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":255.20000076293945,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":255.20000076293945,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":557.2000007629395,"responseStart":0,"secureConnectionStart":0},{"duration":246.80000019073486,"initiatorType":"script","name":"https://jira.mariadb.org/s/719848dd97ebe0663199f49a3936487a-CDN/lu2bv2/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":255.30000019073486,"connectEnd":255.30000019073486,"connectStart":255.30000019073486,"domainLookupEnd":255.30000019073486,"domainLookupStart":255.30000019073486,"fetchStart":255.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":255.30000019073486,"responseEnd":502.1000003814697,"responseStart":502.1000003814697,"secureConnectionStart":255.30000019073486},{"duration":686.4000005722046,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":260.30000019073486,"connectEnd":260.30000019073486,"connectStart":260.30000019073486,"domainLookupEnd":260.30000019073486,"domainLookupStart":260.30000019073486,"fetchStart":260.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":260.30000019073486,"responseEnd":946.7000007629395,"responseStart":946.7000007629395,"secureConnectionStart":260.30000019073486},{"duration":841.9000005722046,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":260.5,"connectEnd":260.5,"connectStart":260.5,"domainLookupEnd":260.5,"domainLookupStart":260.5,"fetchStart":260.5,"redirectEnd":0,"redirectStart":0,"requestStart":260.5,"responseEnd":1102.4000005722046,"responseStart":1102.4000005722046,"secureConnectionStart":260.5},{"duration":378.5,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":568.6000003814697,"connectEnd":568.6000003814697,"connectStart":568.6000003814697,"domainLookupEnd":568.6000003814697,"domainLookupStart":568.6000003814697,"fetchStart":568.6000003814697,"redirectEnd":0,"redirectStart":0,"requestStart":568.6000003814697,"responseEnd":947.1000003814697,"responseStart":947.1000003814697,"secureConnectionStart":568.6000003814697},{"duration":260.4000005722046,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":858.3000001907349,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":858.3000001907349,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1118.7000007629395,"responseStart":0,"secureConnectionStart":0}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":91,"responseStart":249,"responseEnd":254,"domLoading":252,"domInteractive":1120,"domContentLoadedEventStart":1120,"domContentLoadedEventEnd":1158,"domComplete":2254,"loadEventStart":2254,"loadEventEnd":2256,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":1104},{"name":"bigPipe.sidebar-id.end","time":1104.9000005722046},{"name":"bigPipe.activity-panel-pipe-id.start","time":1105.1000003814697},{"name":"bigPipe.activity-panel-pipe-id.end","time":1107.4000005722046},{"name":"activityTabFullyLoaded","time":1162.7000007629395}],"measures":[],"correlationId":"c1b8868877b3c7","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":96,"dbReadsTimeInMs":12,"dbConnsTimeInMs":22,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}