Type:
Task
Priority:
Major
Resolution:
Unresolved
MySQL's bug #11745929 fix contains lock_rec_find_set_bit() function optimization:
Author: Jakub Łopuszański <jakub.lopuszanski@oracle.com>
Date: Mon Jan 31 17:36:48 2022 +0100
Bug #11745929 CHANGE LOCK PRIORITY SO THAT THE TRANSACTION HOLDING S-LOCK GETS X-LOCK F
...
- `lock_rec_find_set_bit` which searches for the first bit set in a bitmap used bit-by-bit loop. Now it uses 13x times faster implementation which tries to skip 64,then 32,16, or 8 bits at a time. This is important for WAITING locks which have just a single bit set, in a bitmap with number of bits equal to the number of records on a page (which can be ~500).
...
Port the optimization in MariaDB Server. MariaDB version of InnoDB contains nlz() function, and run-time code contains my_find_first_bit(), which can also be used to optimize the function. See this comment for details.
relates to
MDEV-34877
Port "Bug #11745929 Change lock priority so that the transaction holding S-lock gets X-lock first" fix from MySQL to MariaDB
Closed
{"report":{"fcp":592.5,"ttfb":130.89999985694885,"pageVisibility":"visible","entityId":132547,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":1,"journeyId":"d56bb479-afde-4e7f-886c-c8fc873514ed","navigationType":0,"readyForUser":694.5999999046326,"redirectCount":0,"resourceLoadedEnd":577.7999999523163,"resourceLoadedStart":135.79999995231628,"resourceTiming":[{"duration":6.099999904632568,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2bu7/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":135.79999995231628,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":135.79999995231628,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":141.89999985694885,"responseStart":0,"secureConnectionStart":0},{"duration":5.900000095367432,"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":136.09999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":136.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":142,"responseStart":0,"secureConnectionStart":0},{"duration":58.89999985694885,"initiatorType":"script","name":"https://jira.mariadb.org/s/fbf975c0cce4b1abf04784eeae9ba1f4-CDN/lu2bu7/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":136.29999995231628,"connectEnd":136.29999995231628,"connectStart":136.29999995231628,"domainLookupEnd":136.29999995231628,"domainLookupStart":136.29999995231628,"fetchStart":136.29999995231628,"redirectEnd":0,"redirectStart":0,"requestStart":136.29999995231628,"responseEnd":195.19999980926514,"responseStart":195.19999980926514,"secureConnectionStart":136.29999995231628},{"duration":132.5,"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":136.39999985694885,"connectEnd":136.39999985694885,"connectStart":136.39999985694885,"domainLookupEnd":136.39999985694885,"domainLookupStart":136.39999985694885,"fetchStart":136.39999985694885,"redirectEnd":0,"redirectStart":0,"requestStart":136.39999985694885,"responseEnd":268.89999985694885,"responseStart":268.89999985694885,"secureConnectionStart":136.39999985694885},{"duration":135.5,"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":136.5,"connectEnd":136.5,"connectStart":136.5,"domainLookupEnd":136.5,"domainLookupStart":136.5,"fetchStart":136.5,"redirectEnd":0,"redirectStart":0,"requestStart":136.5,"responseEnd":272,"responseStart":272,"secureConnectionStart":136.5},{"duration":135.90000009536743,"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":136.59999990463257,"connectEnd":136.59999990463257,"connectStart":136.59999990463257,"domainLookupEnd":136.59999990463257,"domainLookupStart":136.59999990463257,"fetchStart":136.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":136.59999990463257,"responseEnd":272.5,"responseStart":272.5,"secureConnectionStart":136.59999990463257},{"duration":136.10000014305115,"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":136.69999980926514,"connectEnd":136.69999980926514,"connectStart":136.69999980926514,"domainLookupEnd":136.69999980926514,"domainLookupStart":136.69999980926514,"fetchStart":136.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":136.69999980926514,"responseEnd":272.7999999523163,"responseStart":272.7999999523163,"secureConnectionStart":136.69999980926514},{"duration":136.39999985694885,"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":136.79999995231628,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":136.79999995231628,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":273.19999980926514,"responseStart":0,"secureConnectionStart":0},{"duration":136.39999985694885,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":136.79999995231628,"connectEnd":136.79999995231628,"connectStart":136.79999995231628,"domainLookupEnd":136.79999995231628,"domainLookupStart":136.79999995231628,"fetchStart":136.79999995231628,"redirectEnd":0,"redirectStart":0,"requestStart":136.79999995231628,"responseEnd":273.19999980926514,"responseStart":273.19999980926514,"secureConnectionStart":136.79999995231628},{"duration":136.70000004768372,"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":136.89999985694885,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":136.89999985694885,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":273.59999990463257,"responseStart":0,"secureConnectionStart":0},{"duration":136.69999980926514,"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":137,"connectEnd":137,"connectStart":137,"domainLookupEnd":137,"domainLookupStart":137,"fetchStart":137,"redirectEnd":0,"redirectStart":0,"requestStart":137,"responseEnd":273.69999980926514,"responseStart":273.69999980926514,"secureConnectionStart":137},{"duration":427.80000019073486,"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":137.69999980926514,"connectEnd":137.69999980926514,"connectStart":137.69999980926514,"domainLookupEnd":137.69999980926514,"domainLookupStart":137.69999980926514,"fetchStart":137.69999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":137.69999980926514,"responseEnd":565.5,"responseStart":565.5,"secureConnectionStart":137.69999980926514},{"duration":440,"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":137.79999995231628,"connectEnd":137.79999995231628,"connectStart":137.79999995231628,"domainLookupEnd":137.79999995231628,"domainLookupStart":137.79999995231628,"fetchStart":137.79999995231628,"redirectEnd":0,"redirectStart":0,"requestStart":137.79999995231628,"responseEnd":577.7999999523163,"responseStart":577.7999999523163,"secureConnectionStart":137.79999995231628},{"duration":168.5,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":403,"connectEnd":403,"connectStart":403,"domainLookupEnd":403,"domainLookupStart":403,"fetchStart":403,"redirectEnd":0,"redirectStart":0,"requestStart":403,"responseEnd":571.5,"responseStart":571.5,"secureConnectionStart":403},{"duration":12.600000143051147,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":571.3999998569489,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":571.3999998569489,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":584,"responseStart":0,"secureConnectionStart":0}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":11,"responseStart":131,"responseEnd":134,"domLoading":134,"domInteractive":749,"domContentLoadedEventStart":749,"domContentLoadedEventEnd":784,"domComplete":1485,"loadEventStart":1485,"loadEventEnd":1487,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":730.8999998569489},{"name":"bigPipe.sidebar-id.end","time":731.7999999523163},{"name":"bigPipe.activity-panel-pipe-id.start","time":731.7999999523163},{"name":"bigPipe.activity-panel-pipe-id.end","time":734.2999999523163},{"name":"activityTabFullyLoaded","time":794}],"measures":[],"correlationId":"73c8efda034d21","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":67,"dbReadsTimeInMs":10,"dbConnsTimeInMs":16,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}