The latest patch looks good to me, patch looks great to me, except for one thing: I think that we should write the corrected flags back to the data file.
Given that 10.1 is already in GA status, we should consider our options carefully. My preference would be (1) below:
(1) If we adjust 10.1.21 so that it writes back corrected flags for both old and new data files, then older 10.1.x would be unable to open the files (if compression, DATA_DIRECTORY or non-default innodb_page_size was used).
(2) If we adjust 10.1.21 so that it writes correct flags for new data files (like the current patch does), then older 10.1.x would not be able to read those created-with-newer-version data files.
(3) If we adjust 10.2 only, so that it writes the correct flags for new files and also adjusts the flags in old files, then we would seem to have a clear upgrade path.
Whatever we choose, I would like to remove the flag-adjustment code from 10.3 or 10.4. This would mean that an upgrade (or import) directly from 10.1 is only possible if the problematic features (DATA_DIRECTORY, compression, non-standard innodb_page_size) were not used. Otherwise the upgrade would have to be done through 10.2.
Marko Mäkelä
added a comment - The latest patch looks good to me, patch looks great to me, except for one thing: I think that we should write the corrected flags back to the data file.
Given that 10.1 is already in GA status, we should consider our options carefully. My preference would be (1) below:
(1) If we adjust 10.1.21 so that it writes back corrected flags for both old and new data files, then older 10.1.x would be unable to open the files (if compression, DATA_DIRECTORY or non-default innodb_page_size was used).
(2) If we adjust 10.1.21 so that it writes correct flags for new data files (like the current patch does), then older 10.1.x would not be able to read those created-with-newer-version data files.
(3) If we adjust 10.2 only, so that it writes the correct flags for new files and also adjusts the flags in old files, then we would seem to have a clear upgrade path.
Whatever we choose, I would like to remove the flag-adjustment code from 10.3 or 10.4. This would mean that an upgrade (or import) directly from 10.1 is only possible if the problematic features (DATA_DIRECTORY, compression, non-standard innodb_page_size) were not used. Otherwise the upgrade would have to be done through 10.2.
After some discussion, it seems that (3) would be the path of least surprise for users.
This would mean that the work is to be done in MDEV-11202 only, and this ticket can be closed as ‘won’t fix’.
Marko Mäkelä
added a comment - After some discussion, it seems that (3) would be the path of least surprise for users.
This would mean that the work is to be done in MDEV-11202 only, and this ticket can be closed as ‘won’t fix’.
After some more discussion, we decided to go with (1), that is, fix this file format compatibility problem already in the 10.1 series, and keep the adjustment code also in 10.2, but possibly remove it from later release series.
To allow downgrade from the fixed 10.1 to earlier (buggy) 10.1 releases, an innochecksum option will be implemented to convert tablespace flags to the buggy 10.1 format.
Marko Mäkelä
added a comment - After some more discussion, we decided to go with (1), that is, fix this file format compatibility problem already in the 10.1 series, and keep the adjustment code also in 10.2, but possibly remove it from later release series.
To allow downgrade from the fixed 10.1 to earlier (buggy) 10.1 releases, an innochecksum option will be implemented to convert tablespace flags to the buggy 10.1 format.
Marko Mäkelä
added a comment - bb-10.1-mdev-11623 is rebased on the latest 10.1 branch.
There are a few minor differences to the commits in the bb-10.1-jplindst branch:
diff -I^@@ -I^index <(git diff origin/bb-10.1-mdev-11623{~,}) <(git diff origin/bb-10.1-jplindst{~16,})
The above command displays 105 lines of output.
Today, I did a test merge to 10.2 and pushed it to bb-10.2-mdev-11623.
Given the amount of adjustments and conflict resolution needed, that merge probably should be reviewed as well.
Marko Mäkelä
added a comment - Today, I did a test merge to 10.2 and pushed it to bb-10.2-mdev-11623.
Given the amount of adjustments and conflict resolution needed, that merge probably should be reviewed as well.
Marko Mäkelä
added a comment - In response to the failure https://gist.github.com/elenst/c0a11433d6146f21675f68f19021eb71
I fixed two bugs in the doublewrite buffer code. Please review the latest commit in the bb-10.1-mdev-11623 branch.
I filed MDEV-11799 for the non-flags-related fix of buf_dblwr_process().
I think that we should fix that one separately already in 10.0, to make the InnoDB doublewrite buffer a more useful.
Marko Mäkelä
added a comment - I filed MDEV-11799 for the non-flags-related fix of buf_dblwr_process().
I think that we should fix that one separately already in 10.0, to make the InnoDB doublewrite buffer a more useful.
The merge to 10.2 was challenging due to the refactoring of tablespace code and changes to tablespace discovery in crash recovery.
Marko Mäkelä
added a comment - The merge to 10.2 was challenging due to the refactoring of tablespace code and changes to tablespace discovery in crash recovery.
People
Marko Mäkelä
Jan Lindström (Inactive)
Votes:
0Vote for this issue
Watchers:
2Start 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":1246.6000000238419,"ttfb":485.39999997615814,"pageVisibility":"visible","entityId":59450,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":0.5,"journeyId":"7a413ac4-1cc6-4878-9fb3-13edc68722d7","navigationType":0,"readyForUser":1323.6000000238419,"redirectCount":0,"resourceLoadedEnd":1473,"resourceLoadedStart":491.7999999523163,"resourceTiming":[{"duration":248.30000007152557,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2bu7/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":491.7999999523163,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":491.7999999523163,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":740.1000000238419,"responseStart":0,"secureConnectionStart":0},{"duration":251.60000002384186,"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":492,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":492,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":743.6000000238419,"responseStart":0,"secureConnectionStart":0},{"duration":306.7000000476837,"initiatorType":"script","name":"https://jira.mariadb.org/s/fbf975c0cce4b1abf04784eeae9ba1f4-CDN/lu2bu7/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":492.1999999284744,"connectEnd":492.1999999284744,"connectStart":492.1999999284744,"domainLookupEnd":492.1999999284744,"domainLookupStart":492.1999999284744,"fetchStart":492.1999999284744,"redirectEnd":0,"redirectStart":0,"requestStart":492.1999999284744,"responseEnd":798.8999999761581,"responseStart":798.7999999523163,"secureConnectionStart":492.1999999284744},{"duration":362.3000000715256,"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":492.2999999523163,"connectEnd":492.2999999523163,"connectStart":492.2999999523163,"domainLookupEnd":492.2999999523163,"domainLookupStart":492.2999999523163,"fetchStart":492.2999999523163,"redirectEnd":0,"redirectStart":0,"requestStart":492.2999999523163,"responseEnd":854.6000000238419,"responseStart":854.6000000238419,"secureConnectionStart":492.2999999523163},{"duration":365.6999999284744,"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":492.60000002384186,"connectEnd":492.60000002384186,"connectStart":492.60000002384186,"domainLookupEnd":492.60000002384186,"domainLookupStart":492.60000002384186,"fetchStart":492.60000002384186,"redirectEnd":0,"redirectStart":0,"requestStart":492.60000002384186,"responseEnd":858.2999999523163,"responseStart":858.2999999523163,"secureConnectionStart":492.60000002384186},{"duration":366.10000002384186,"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":492.6999999284744,"connectEnd":492.6999999284744,"connectStart":492.6999999284744,"domainLookupEnd":492.6999999284744,"domainLookupStart":492.6999999284744,"fetchStart":492.6999999284744,"redirectEnd":0,"redirectStart":0,"requestStart":492.6999999284744,"responseEnd":858.7999999523163,"responseStart":858.7999999523163,"secureConnectionStart":492.6999999284744},{"duration":366.2999999523163,"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":492.89999997615814,"connectEnd":492.89999997615814,"connectStart":492.89999997615814,"domainLookupEnd":492.89999997615814,"domainLookupStart":492.89999997615814,"fetchStart":492.89999997615814,"redirectEnd":0,"redirectStart":0,"requestStart":492.89999997615814,"responseEnd":859.1999999284744,"responseStart":859.1999999284744,"secureConnectionStart":492.89999997615814},{"duration":449.2999999523163,"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":493.10000002384186,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":493.10000002384186,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":942.3999999761581,"responseStart":0,"secureConnectionStart":0},{"duration":366.5,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":493.2999999523163,"connectEnd":493.2999999523163,"connectStart":493.2999999523163,"domainLookupEnd":493.2999999523163,"domainLookupStart":493.2999999523163,"fetchStart":493.2999999523163,"redirectEnd":0,"redirectStart":0,"requestStart":493.2999999523163,"responseEnd":859.7999999523163,"responseStart":859.7999999523163,"secureConnectionStart":493.2999999523163},{"duration":449.2000000476837,"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":493.39999997615814,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":493.39999997615814,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":942.6000000238419,"responseStart":0,"secureConnectionStart":0},{"duration":366.7999999523163,"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":493.60000002384186,"connectEnd":493.60000002384186,"connectStart":493.60000002384186,"domainLookupEnd":493.60000002384186,"domainLookupStart":493.60000002384186,"fetchStart":493.60000002384186,"redirectEnd":0,"redirectStart":0,"requestStart":493.60000002384186,"responseEnd":860.3999999761581,"responseStart":860.3999999761581,"secureConnectionStart":493.60000002384186},{"duration":855.1999999284744,"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":495.10000002384186,"connectEnd":495.10000002384186,"connectStart":495.10000002384186,"domainLookupEnd":495.10000002384186,"domainLookupStart":495.10000002384186,"fetchStart":495.10000002384186,"redirectEnd":0,"redirectStart":0,"requestStart":495.10000002384186,"responseEnd":1350.2999999523163,"responseStart":1350.2999999523163,"secureConnectionStart":495.10000002384186},{"duration":977.7000000476837,"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":495.2999999523163,"connectEnd":495.2999999523163,"connectStart":495.2999999523163,"domainLookupEnd":495.2999999523163,"domainLookupStart":495.2999999523163,"fetchStart":495.2999999523163,"redirectEnd":0,"redirectStart":0,"requestStart":495.2999999523163,"responseEnd":1473,"responseStart":1473,"secureConnectionStart":495.2999999523163},{"duration":402.5,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":954,"connectEnd":954,"connectStart":954,"domainLookupEnd":954,"domainLookupStart":954,"fetchStart":954,"redirectEnd":0,"redirectStart":0,"requestStart":954,"responseEnd":1356.5,"responseStart":1356.5,"secureConnectionStart":954},{"duration":261.10000002384186,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":1240.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1240.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1501.6000000238419,"responseStart":0,"secureConnectionStart":0}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":285,"responseStart":485,"responseEnd":489,"domLoading":489,"domInteractive":1508,"domContentLoadedEventStart":1508,"domContentLoadedEventEnd":1556,"domComplete":1800,"loadEventStart":1800,"loadEventEnd":1801,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":1480.3999999761581},{"name":"bigPipe.sidebar-id.end","time":1481.1999999284744},{"name":"bigPipe.activity-panel-pipe-id.start","time":1481.3999999761581},{"name":"bigPipe.activity-panel-pipe-id.end","time":1484.6999999284744},{"name":"activityTabFullyLoaded","time":1576.2999999523163}],"measures":[],"correlationId":"11b509fc7a46cb","effectiveType":"4g","downlink":9.5,"rtt":0,"serverDuration":136,"dbReadsTimeInMs":23,"dbConnsTimeInMs":32,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}
http://lists.askmonty.org/pipermail/commits/2016-December/010324.html