Type:
Bug
Priority:
Major
Resolution:
Fixed
Affects Version/s:
5.5(EOL) , 10.0(EOL) , 10.1(EOL) , 10.2(EOL) , 10.3(EOL)
As reported in MDEV-13485 , the function ibuf_remove_free_page() may be called while the caller is holding several mutexes or rw-locks. Because of this, this housekeeping loop may cause performance glitches for operations that involve tables that are stored in the InnoDB system tablespace. Deadlocks are also theoretically possible.
The worst impact of all is that due to the mutexes being held, calls to log_free_check() must be skipped during this housekeeping. This means that the cyclic InnoDB redo log may be overwritten. If the system crashes during this, it would be unable to recover.
The entry point to the problematic code is ibuf_free_excess_pages(). It would make sense to call it before acquiring any mutexes or rw-locks, in any DDL operation and in any 'pessimistic' operation that involves the system tablespace.
Marko Mäkelä
made changes -
2017-08-24 13:02
Status
Open
[ 1
]
In Progress
[ 3
]
Marko Mäkelä
made changes -
2017-08-24 13:03
Assignee
Marko Mäkelä
[ marko
]
Jan Lindström
[ jplindst
]
Status
In Progress
[ 3
]
In Review
[ 10002
]
Jan Lindström (Inactive)
made changes -
2017-08-25 10:47
Assignee
Jan Lindström
[ jplindst
]
Marko Mäkelä
[ marko
]
Status
In Review
[ 10002
]
Stalled
[ 10000
]
Marko Mäkelä
made changes -
2017-08-25 11:16
Fix Version/s
10.0.33
[ 22552
]
Fix Version/s
10.0
[ 16000
]
Marko Mäkelä
made changes -
2017-08-25 11:16
Fix Version/s
10.1.27
[ 22609
]
Fix Version/s
10.2.9
[ 22611
]
Fix Version/s
10.3.2
[ 22533
]
Marko Mäkelä
made changes -
2017-08-28 12:12
Resolution
Fixed
[ 1
]
Status
Stalled
[ 10000
]
Closed
[ 6
]
Sergei Golubchik
made changes -
2021-12-06 21:45
Workflow
MariaDB v3
[ 82249
]
MariaDB v4
[ 152697
]
{"report":{"fcp":1154.0999999046326,"ttfb":544.5999999046326,"pageVisibility":"visible","entityId":62841,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":0.5,"journeyId":"a73cd70e-c3c2-4ba7-8bab-e752dee6478d","navigationType":0,"readyForUser":1264.5,"redirectCount":0,"resourceLoadedEnd":1204.5,"resourceLoadedStart":550,"resourceTiming":[{"duration":66.89999961853027,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2bv2/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":550,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":550,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":616.8999996185303,"responseStart":0,"secureConnectionStart":0},{"duration":67,"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":550.1999998092651,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":550.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":617.1999998092651,"responseStart":0,"secureConnectionStart":0},{"duration":127.80000019073486,"initiatorType":"script","name":"https://jira.mariadb.org/s/e9b27a47da5fb0f74a35acd57e9847fb-CDN/lu2bv2/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":550.3999996185303,"connectEnd":550.3999996185303,"connectStart":550.3999996185303,"domainLookupEnd":550.3999996185303,"domainLookupStart":550.3999996185303,"fetchStart":550.3999996185303,"redirectEnd":0,"redirectStart":0,"requestStart":550.3999996185303,"responseEnd":678.1999998092651,"responseStart":678.1999998092651,"secureConnectionStart":550.3999996185303},{"duration":270,"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":550.5999999046326,"connectEnd":550.5999999046326,"connectStart":550.5999999046326,"domainLookupEnd":550.5999999046326,"domainLookupStart":550.5999999046326,"fetchStart":550.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":550.5999999046326,"responseEnd":820.5999999046326,"responseStart":820.5999999046326,"secureConnectionStart":550.5999999046326},{"duration":273.5,"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":550.8999996185303,"connectEnd":550.8999996185303,"connectStart":550.8999996185303,"domainLookupEnd":550.8999996185303,"domainLookupStart":550.8999996185303,"fetchStart":550.8999996185303,"redirectEnd":0,"redirectStart":0,"requestStart":550.8999996185303,"responseEnd":824.3999996185303,"responseStart":824.3999996185303,"secureConnectionStart":550.8999996185303},{"duration":273.7999997138977,"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":551,"connectEnd":551,"connectStart":551,"domainLookupEnd":551,"domainLookupStart":551,"fetchStart":551,"redirectEnd":0,"redirectStart":0,"requestStart":551,"responseEnd":824.7999997138977,"responseStart":824.7999997138977,"secureConnectionStart":551},{"duration":274,"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":551.1999998092651,"connectEnd":551.1999998092651,"connectStart":551.1999998092651,"domainLookupEnd":551.1999998092651,"domainLookupStart":551.1999998092651,"fetchStart":551.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":551.1999998092651,"responseEnd":825.1999998092651,"responseStart":825.1999998092651,"secureConnectionStart":551.1999998092651},{"duration":274.5,"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":551.2999997138977,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":551.2999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":825.7999997138977,"responseStart":0,"secureConnectionStart":0},{"duration":274.19999980926514,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":551.5,"connectEnd":551.5,"connectStart":551.5,"domainLookupEnd":551.5,"domainLookupStart":551.5,"fetchStart":551.5,"redirectEnd":0,"redirectStart":0,"requestStart":551.5,"responseEnd":825.6999998092651,"responseStart":825.6999998092651,"secureConnectionStart":551.5},{"duration":278.09999990463257,"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":551.5999999046326,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":551.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":829.6999998092651,"responseStart":0,"secureConnectionStart":0},{"duration":274.40000009536743,"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":551.7999997138977,"connectEnd":551.7999997138977,"connectStart":551.7999997138977,"domainLookupEnd":551.7999997138977,"domainLookupStart":551.7999997138977,"fetchStart":551.7999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":551.7999997138977,"responseEnd":826.1999998092651,"responseStart":826.1999998092651,"secureConnectionStart":551.7999997138977},{"duration":462,"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":553,"connectEnd":553,"connectStart":553,"domainLookupEnd":553,"domainLookupStart":553,"fetchStart":553,"redirectEnd":0,"redirectStart":0,"requestStart":553,"responseEnd":1015,"responseStart":1015,"secureConnectionStart":553},{"duration":609.5999999046326,"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":557.5,"connectEnd":557.5,"connectStart":557.5,"domainLookupEnd":557.5,"domainLookupStart":557.5,"fetchStart":557.5,"redirectEnd":0,"redirectStart":0,"requestStart":557.5,"responseEnd":1167.0999999046326,"responseStart":1167.0999999046326,"secureConnectionStart":557.5},{"duration":187.89999961853027,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":825.5,"connectEnd":825.5,"connectStart":825.5,"domainLookupEnd":825.5,"domainLookupStart":825.5,"fetchStart":825.5,"redirectEnd":0,"redirectStart":0,"requestStart":825.5,"responseEnd":1013.3999996185303,"responseStart":1013.3999996185303,"secureConnectionStart":825.5},{"duration":95.5,"initiatorType":"link","name":"https://jira.mariadb.org/s/d5715adaadd168a9002b108b2b039b50-CDN/lu2bv2/820016/12ta74/be4b45e9cec53099498fa61c8b7acba4/_/download/contextbatch/css/jira.project.sidebar,-_super,-project.issue.navigator,-jira.general,-jira.browse.project,-jira.view.issue,-jira.global,-atl.general,-com.atlassian.jira.projects.sidebar.init/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":1109,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1109,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1204.5,"responseStart":0,"secureConnectionStart":0},{"duration":85.7000002861023,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/e65b778d185daf5aee24936755b43da6/_/download/contextbatch/js/browser-metrics-plugin.contrib,-_super,-project.issue.navigator,-jira.view.issue,-atl.general/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":1109.8999996185303,"connectEnd":1109.8999996185303,"connectStart":1109.8999996185303,"domainLookupEnd":1109.8999996185303,"domainLookupStart":1109.8999996185303,"fetchStart":1109.8999996185303,"redirectEnd":0,"redirectStart":0,"requestStart":1109.8999996185303,"responseEnd":1195.5999999046326,"responseStart":1195.5999999046326,"secureConnectionStart":1109.8999996185303},{"duration":92.59999990463257,"initiatorType":"script","name":"https://jira.mariadb.org/s/53a43b6764f587426c7bb9a150184c00-CDN/lu2bv2/820016/12ta74/be4b45e9cec53099498fa61c8b7acba4/_/download/contextbatch/js/jira.project.sidebar,-_super,-project.issue.navigator,-jira.general,-jira.browse.project,-jira.view.issue,-jira.global,-atl.general,-com.atlassian.jira.projects.sidebar.init/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true","startTime":1110.2999997138977,"connectEnd":1110.2999997138977,"connectStart":1110.2999997138977,"domainLookupEnd":1110.2999997138977,"domainLookupStart":1110.2999997138977,"fetchStart":1110.2999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":1110.2999997138977,"responseEnd":1202.8999996185303,"responseStart":1202.8999996185303,"secureConnectionStart":1110.2999997138977},{"duration":150.09999990463257,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":1148.1999998092651,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1148.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1298.2999997138977,"responseStart":0,"secureConnectionStart":0}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":317,"responseStart":545,"responseEnd":553,"domLoading":548,"domInteractive":1325,"domContentLoadedEventStart":1325,"domContentLoadedEventEnd":1369,"domComplete":1535,"loadEventStart":1535,"loadEventEnd":1536,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":1303.3999996185303},{"name":"bigPipe.sidebar-id.end","time":1304.0999999046326},{"name":"bigPipe.activity-panel-pipe-id.start","time":1304.2999997138977},{"name":"bigPipe.activity-panel-pipe-id.end","time":1308.2999997138977},{"name":"activityTabFullyLoaded","time":1401.5999999046326}],"measures":[],"correlationId":"ec787c02b5610e","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":150,"dbReadsTimeInMs":29,"dbConnsTimeInMs":38,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}
bb-10.2-marko
I intend to backport this to 10.0 as well.