Redo log files are fixed size files. They're almost never renamed. So, metadata is not changed. For such cases we can use `fdatasync()` which doesn't flush metadata, like `fsync()` does. That should bring use some performance.
Attachments
Issue Links
is blocked by
MDEV-18115Remove dummy tablespace for the redo log
Closed
relates to
MDEV-14425Change the InnoDB redo log format to reduce write amplification
MDEV-14425 may introduce a format option for append-only log files. For that option, we may need to use fsync(). For the circular files, fdatasync() indeed seems sensible. Not having an up-to-date timestamps on the redo log files should not matter much.
Edit: fdatasync() (as well as opening a file in O_DSYNC mode) does update the file size and allocation metadata. We would only need fsync() if we cared about file timestamps.
Marko Mäkelä
added a comment - - edited MDEV-14425 may introduce a format option for append-only log files. For that option, we may need to use fsync() . For the circular files, fdatasync() indeed seems sensible. Not having an up-to-date timestamps on the redo log files should not matter much.
Edit: fdatasync() (as well as opening a file in O_DSYNC mode) does update the file size and allocation metadata. We would only need fsync() if we cared about file timestamps.
People
Eugene Kosov (Inactive)
Eugene Kosov (Inactive)
Votes:
0Vote for this issue
Watchers:
5Start watching this issue
Dates
Created:
Updated:
Resolved:
Git Integration
Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.
{"report":{"fcp":896.2000000476837,"ttfb":212.10000014305115,"pageVisibility":"visible","entityId":81936,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":1,"journeyId":"418a7cb8-60d3-4227-aa2f-465858309139","navigationType":0,"readyForUser":962.4000000953674,"redirectCount":0,"resourceLoadedEnd":597.9000000953674,"resourceLoadedStart":221.20000004768372,"resourceTiming":[{"duration":11.900000095367432,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2bu7/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":221.20000004768372,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":221.20000004768372,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":233.10000014305115,"responseStart":0,"secureConnectionStart":0},{"duration":12.200000047683716,"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":221.40000009536743,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":221.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":233.60000014305115,"responseStart":0,"secureConnectionStart":0},{"duration":240.70000004768372,"initiatorType":"script","name":"https://jira.mariadb.org/s/fbf975c0cce4b1abf04784eeae9ba1f4-CDN/lu2bu7/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":221.5,"connectEnd":221.5,"connectStart":221.5,"domainLookupEnd":221.5,"domainLookupStart":221.5,"fetchStart":221.5,"redirectEnd":0,"redirectStart":0,"requestStart":238.5,"responseEnd":462.2000000476837,"responseStart":277.90000009536743,"secureConnectionStart":221.5},{"duration":376.2999999523163,"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":221.60000014305115,"connectEnd":221.60000014305115,"connectStart":221.60000014305115,"domainLookupEnd":221.60000014305115,"domainLookupStart":221.60000014305115,"fetchStart":221.60000014305115,"redirectEnd":0,"redirectStart":0,"requestStart":239.30000019073486,"responseEnd":597.9000000953674,"responseStart":275.5,"secureConnectionStart":221.60000014305115},{"duration":53.69999980926514,"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":221.80000019073486,"connectEnd":221.80000019073486,"connectStart":221.80000019073486,"domainLookupEnd":221.80000019073486,"domainLookupStart":221.80000019073486,"fetchStart":221.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":239.40000009536743,"responseEnd":275.5,"responseStart":274.80000019073486,"secureConnectionStart":221.80000019073486},{"duration":59.19999980926514,"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":221.80000019073486,"connectEnd":221.80000019073486,"connectStart":221.80000019073486,"domainLookupEnd":221.80000019073486,"domainLookupStart":221.80000019073486,"fetchStart":221.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":240.10000014305115,"responseEnd":281,"responseStart":280.60000014305115,"secureConnectionStart":221.80000019073486},{"duration":75,"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":221.90000009536743,"connectEnd":221.90000009536743,"connectStart":221.90000009536743,"domainLookupEnd":221.90000009536743,"domainLookupStart":221.90000009536743,"fetchStart":221.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":241.10000014305115,"responseEnd":296.90000009536743,"responseStart":296.40000009536743,"secureConnectionStart":221.90000009536743},{"duration":18.600000143051147,"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":222,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":222,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":240.60000014305115,"responseStart":0,"secureConnectionStart":0},{"duration":20.09999990463257,"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":222.10000014305115,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":222.10000014305115,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":242.20000004768372,"responseStart":0,"secureConnectionStart":0},{"duration":211.5,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":222.10000014305115,"connectEnd":222.10000014305115,"connectStart":222.10000014305115,"domainLookupEnd":222.10000014305115,"domainLookupStart":222.10000014305115,"fetchStart":222.10000014305115,"redirectEnd":0,"redirectStart":0,"requestStart":244.90000009536743,"responseEnd":433.60000014305115,"responseStart":432.80000019073486,"secureConnectionStart":222.10000014305115},{"duration":138.39999985694885,"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":222.30000019073486,"connectEnd":222.30000019073486,"connectStart":222.30000019073486,"domainLookupEnd":222.30000019073486,"domainLookupStart":222.30000019073486,"fetchStart":222.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":246.40000009536743,"responseEnd":360.7000000476837,"responseStart":358.60000014305115,"secureConnectionStart":222.30000019073486},{"duration":344.7999999523163,"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":225.40000009536743,"connectEnd":225.40000009536743,"connectStart":225.40000009536743,"domainLookupEnd":225.40000009536743,"domainLookupStart":225.40000009536743,"fetchStart":225.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":281.90000009536743,"responseEnd":570.2000000476837,"responseStart":563.1000001430511,"secureConnectionStart":225.40000009536743},{"duration":344.5,"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":226.70000004768372,"connectEnd":226.70000004768372,"connectStart":226.70000004768372,"domainLookupEnd":226.70000004768372,"domainLookupStart":226.70000004768372,"fetchStart":226.70000004768372,"redirectEnd":0,"redirectStart":0,"requestStart":329,"responseEnd":571.2000000476837,"responseStart":565,"secureConnectionStart":226.70000004768372},{"duration":64.70000004768372,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":608.7000000476837,"connectEnd":608.7000000476837,"connectStart":608.7000000476837,"domainLookupEnd":608.7000000476837,"domainLookupStart":608.7000000476837,"fetchStart":608.7000000476837,"redirectEnd":0,"redirectStart":0,"requestStart":640.2000000476837,"responseEnd":673.4000000953674,"responseStart":672.2000000476837,"secureConnectionStart":608.7000000476837},{"duration":215.10000014305115,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":818.7000000476837,"connectEnd":818.7000000476837,"connectStart":818.7000000476837,"domainLookupEnd":818.7000000476837,"domainLookupStart":818.7000000476837,"fetchStart":818.7000000476837,"redirectEnd":0,"redirectStart":0,"requestStart":1002.2000000476837,"responseEnd":1033.8000001907349,"responseStart":1032.4000000953674,"secureConnectionStart":818.7000000476837}],"fetchStart":0,"domainLookupStart":28,"domainLookupEnd":41,"connectStart":41,"connectEnd":60,"secureConnectionStart":49,"requestStart":61,"responseStart":212,"responseEnd":227,"domLoading":215,"domInteractive":1012,"domContentLoadedEventStart":1012,"domContentLoadedEventEnd":1057,"domComplete":1384,"loadEventStart":1384,"loadEventEnd":1385,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":992.5},{"name":"bigPipe.sidebar-id.end","time":993.3000001907349},{"name":"bigPipe.activity-panel-pipe-id.start","time":993.4000000953674},{"name":"bigPipe.activity-panel-pipe-id.end","time":994.4000000953674},{"name":"activityTabFullyLoaded","time":1075.9000000953674}],"measures":[],"correlationId":"496c8bc710bf2f","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":92,"dbReadsTimeInMs":13,"dbConnsTimeInMs":21,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}
MDEV-14425may introduce a format option for append-only log files. For that option, we may need to use fsync(). For the circular files, fdatasync() indeed seems sensible. Not having an up-to-date timestamps on the redo log files should not matter much.Edit: fdatasync() (as well as opening a file in O_DSYNC mode) does update the file size and allocation metadata. We would only need fsync() if we cared about file timestamps.