As InnoDB page compression uses “hole punching,” and it seems like ignored by somehow. mariabackup SST method leaves compressed data from donor to decompressed on joiner node. mariabackup SST not copying compressed files so page compression seems not beneficial in this case.
euglorg, thank you. Let’s address this in the documentation.
I would expect the InnoDB page_compressed tables to be able to save space in a traditional file system, such as Linux ext4 or Microsoft NTFS, at the cost of increased fragmentation.
The documentation might also include an example how to check the actually allocated physical blocks. That could be ls -ls on GNU/Linux.
On file systems that support snapshots, the allocation of blocks could be quite different, and questions like ‘how much space does a file consume’ become more complicated. We have observed that enabling O_DIRECT (MDEV-24854) caused problems for several Linux file systems.
Marko Mäkelä
added a comment - euglorg , thank you. Let’s address this in the documentation.
I would expect the InnoDB page_compressed tables to be able to save space in a traditional file system, such as Linux ext4 or Microsoft NTFS, at the cost of increased fragmentation.
The documentation might also include an example how to check the actually allocated physical blocks. That could be ls -ls on GNU/Linux.
On file systems that support snapshots, the allocation of blocks could be quite different, and questions like ‘how much space does a file consume’ become more complicated. We have observed that enabling O_DIRECT ( MDEV-24854 ) caused problems for several Linux file systems.
It seems that Percona has fixed this by adding fallocate support in xbstream, it would be nice if MariaDB did backport this to mbstream. https://jira.percona.com/browse/PXB-2614
In relevance to my previous comments, fallocate --dig-holes works with XFS, if speculative allocation is disabled (allocsize=64k in mount options)
Guillaume Lefranc
added a comment - It seems that Percona has fixed this by adding fallocate support in xbstream, it would be nice if MariaDB did backport this to mbstream.
https://jira.percona.com/browse/PXB-2614
In relevance to my previous comments, fallocate --dig-holes works with XFS, if speculative allocation is disabled (allocsize=64k in mount options)
This change looks OK to me. This will add some fallocate() system calls, but only when page_compressed tables are being used.
Marko Mäkelä
added a comment - This change looks OK to me. This will add some fallocate() system calls, but only when page_compressed tables are being used.
People
Sergei Golubchik
Muhammad Irfan
Votes:
6Vote for this issue
Watchers:
19Start 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":1428.8000001907349,"ttfb":311.09999990463257,"pageVisibility":"visible","entityId":99815,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":32,"apdex":0.5,"journeyId":"f7a5ab84-e78c-4b47-8d8a-709615d290b2","navigationType":0,"readyForUser":1552.9000000953674,"redirectCount":0,"resourceLoadedEnd":1614.4000000953674,"resourceLoadedStart":317.59999990463257,"resourceTiming":[{"duration":411.90000009536743,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":317.59999990463257,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":317.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":729.5,"responseStart":0,"secureConnectionStart":0},{"duration":412,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/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&whisper-enabled=true","startTime":317.80000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":317.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":729.8000001907349,"responseStart":0,"secureConnectionStart":0},{"duration":436.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/0917945aaa57108d00c5076fea35e069-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":318,"connectEnd":318,"connectStart":318,"domainLookupEnd":318,"domainLookupStart":318,"fetchStart":318,"redirectEnd":0,"redirectStart":0,"requestStart":318,"responseEnd":754.5,"responseStart":754.5,"secureConnectionStart":318},{"duration":577.1000003814697,"initiatorType":"script","name":"https://jira.mariadb.org/s/2d8175ec2fa4c816e8023260bd8c1786-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/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&whisper-enabled=true","startTime":318.09999990463257,"connectEnd":318.09999990463257,"connectStart":318.09999990463257,"domainLookupEnd":318.09999990463257,"domainLookupStart":318.09999990463257,"fetchStart":318.09999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":318.09999990463257,"responseEnd":895.2000002861023,"responseStart":895.2000002861023,"secureConnectionStart":318.09999990463257},{"duration":580.2999997138977,"initiatorType":"script","name":"https://jira.mariadb.org/s/a9324d6758d385eb45c462685ad88f1d-CDN/lu2cib/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":318.30000019073486,"connectEnd":318.30000019073486,"connectStart":318.30000019073486,"domainLookupEnd":318.30000019073486,"domainLookupStart":318.30000019073486,"fetchStart":318.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":318.30000019073486,"responseEnd":898.5999999046326,"responseStart":898.5999999046326,"secureConnectionStart":318.30000019073486},{"duration":580.6000003814697,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":318.59999990463257,"connectEnd":318.59999990463257,"connectStart":318.59999990463257,"domainLookupEnd":318.59999990463257,"domainLookupStart":318.59999990463257,"fetchStart":318.59999990463257,"redirectEnd":0,"redirectStart":0,"requestStart":318.59999990463257,"responseEnd":899.2000002861023,"responseStart":899.2000002861023,"secureConnectionStart":318.59999990463257},{"duration":580.7999997138977,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":318.7000002861023,"connectEnd":318.7000002861023,"connectStart":318.7000002861023,"domainLookupEnd":318.7000002861023,"domainLookupStart":318.7000002861023,"fetchStart":318.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":318.7000002861023,"responseEnd":899.5,"responseStart":899.5,"secureConnectionStart":318.7000002861023},{"duration":594.9000000953674,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2cib/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":318.90000009536743,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":318.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":913.8000001907349,"responseStart":0,"secureConnectionStart":0},{"duration":581.2000002861023,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":319,"connectEnd":319,"connectStart":319,"domainLookupEnd":319,"domainLookupStart":319,"fetchStart":319,"redirectEnd":0,"redirectStart":0,"requestStart":319,"responseEnd":900.2000002861023,"responseStart":900.2000002861023,"secureConnectionStart":319},{"duration":595,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2cib/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":319.2000002861023,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":319.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":914.2000002861023,"responseStart":0,"secureConnectionStart":0},{"duration":581.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/5d5e8fe91fbc506585e83ea3b62ccc4b-CDN/lu2cib/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":319.40000009536743,"connectEnd":319.40000009536743,"connectStart":319.40000009536743,"domainLookupEnd":319.40000009536743,"domainLookupStart":319.40000009536743,"fetchStart":319.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":319.40000009536743,"responseEnd":900.9000000953674,"responseStart":900.9000000953674,"secureConnectionStart":319.40000009536743},{"duration":867.7999997138977,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":326.80000019073486,"connectEnd":326.80000019073486,"connectStart":326.80000019073486,"domainLookupEnd":326.80000019073486,"domainLookupStart":326.80000019073486,"fetchStart":326.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":326.80000019073486,"responseEnd":1194.5999999046326,"responseStart":1194.5999999046326,"secureConnectionStart":326.80000019073486},{"duration":1176.2999997138977,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":333.30000019073486,"connectEnd":333.30000019073486,"connectStart":333.30000019073486,"domainLookupEnd":333.30000019073486,"domainLookupStart":333.30000019073486,"fetchStart":333.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":333.30000019073486,"responseEnd":1509.5999999046326,"responseStart":1509.5999999046326,"secureConnectionStart":333.30000019073486},{"duration":235.80000019073486,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":959.4000000953674,"connectEnd":959.4000000953674,"connectStart":959.4000000953674,"domainLookupEnd":959.4000000953674,"domainLookupStart":959.4000000953674,"fetchStart":959.4000000953674,"redirectEnd":0,"redirectStart":0,"requestStart":959.4000000953674,"responseEnd":1195.2000002861023,"responseStart":1195.0999999046326,"secureConnectionStart":959.4000000953674},{"duration":301.40000009536743,"initiatorType":"link","name":"https://jira.mariadb.org/s/d5715adaadd168a9002b108b2b039b50-CDN/lu2cib/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&whisper-enabled=true","startTime":1304,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1304,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1605.4000000953674,"responseStart":0,"secureConnectionStart":0},{"duration":301.5,"initiatorType":"link","name":"https://jira.mariadb.org/s/50bc9be5bfead1a25e72c1a9338c94f6-CDN/lu2cib/820016/12ta74/e108c7645258ccb43280ed3404e3e949/_/download/contextbatch/css/com.atlassian.jira.plugins.jira-development-integration-plugin:0,-_super,-jira.view.issue,-jira.global,-jira.general,-jira.browse.project,-project.issue.navigator,-atl.general/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true&whisper-enabled=true","startTime":1304.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1304.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1606,"responseStart":0,"secureConnectionStart":0},{"duration":299.80000019073486,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/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&whisper-enabled=true","startTime":1305.4000000953674,"connectEnd":1305.4000000953674,"connectStart":1305.4000000953674,"domainLookupEnd":1305.4000000953674,"domainLookupStart":1305.4000000953674,"fetchStart":1305.4000000953674,"redirectEnd":0,"redirectStart":0,"requestStart":1305.4000000953674,"responseEnd":1605.2000002861023,"responseStart":1605.2000002861023,"secureConnectionStart":1305.4000000953674},{"duration":307.09999990463257,"initiatorType":"script","name":"https://jira.mariadb.org/s/097ae97cb8fbec7d6ea4bbb1f26955b9-CDN/lu2cib/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&whisper-enabled=true","startTime":1305.9000000953674,"connectEnd":1305.9000000953674,"connectStart":1305.9000000953674,"domainLookupEnd":1305.9000000953674,"domainLookupStart":1305.9000000953674,"fetchStart":1305.9000000953674,"redirectEnd":0,"redirectStart":0,"requestStart":1305.9000000953674,"responseEnd":1613,"responseStart":1613,"secureConnectionStart":1305.9000000953674},{"duration":308.19999980926514,"initiatorType":"script","name":"https://jira.mariadb.org/s/e0bf5781d46ea69fb123572974cf39de-CDN/lu2cib/820016/12ta74/e108c7645258ccb43280ed3404e3e949/_/download/contextbatch/js/com.atlassian.jira.plugins.jira-development-integration-plugin:0,-_super,-jira.view.issue,-jira.global,-jira.general,-jira.browse.project,-project.issue.navigator,-atl.general/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true&whisper-enabled=true","startTime":1306.2000002861023,"connectEnd":1306.2000002861023,"connectStart":1306.2000002861023,"domainLookupEnd":1306.2000002861023,"domainLookupStart":1306.2000002861023,"fetchStart":1306.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":1306.2000002861023,"responseEnd":1614.4000000953674,"responseStart":1614.4000000953674,"secureConnectionStart":1306.2000002861023}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":114,"responseStart":311,"responseEnd":333,"domLoading":316,"domInteractive":1651,"domContentLoadedEventStart":1651,"domContentLoadedEventEnd":1699,"domComplete":2747,"loadEventStart":2748,"loadEventEnd":2748,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":1633.2000002861023},{"name":"bigPipe.sidebar-id.end","time":1633.9000000953674},{"name":"bigPipe.activity-panel-pipe-id.start","time":1634},{"name":"bigPipe.activity-panel-pipe-id.end","time":1635.9000000953674},{"name":"activityTabFullyLoaded","time":1723.0999999046326}],"measures":[],"correlationId":"8682afffb4fcbf","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":119,"dbReadsTimeInMs":21,"dbConnsTimeInMs":32,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}
euglorg, thank you. Let’s address this in the documentation.
I would expect the InnoDB page_compressed tables to be able to save space in a traditional file system, such as Linux ext4 or Microsoft NTFS, at the cost of increased fragmentation.
The documentation might also include an example how to check the actually allocated physical blocks. That could be ls -ls on GNU/Linux.
On file systems that support snapshots, the allocation of blocks could be quite different, and questions like ‘how much space does a file consume’ become more complicated. We have observed that enabling O_DIRECT (
MDEV-24854) caused problems for several Linux file systems.