alter-algorithm was introduced as a replacement for the old_alter_table that was used
to force the usage of the original alter table algorithm (copy) in the cases where the new
alter algorithm did not work. The new option was added as a way to force the usage of
a specific algorithm when it should instead have made it possible to disable algorithms
that would not work for some reason.
alter-algorithm introduced some cases where ALTER TABLE would not work without
specifying the ALGORITHM=XXX option together with ALTER TABLE
Having different values of alter-algorithm on master and slave could cause slave to
stop unexpectedly.
ALTER TABLE FORCE, as used by mariadb-upgrade, would not always work if
alter-algorithm was set for the server.
As part of the MDEV-33449 "improving repair of tables" it become clear that alter- algorithm made it harder to provide a better and more consistent ALTER TABLE FORCE and REPAIR TABLE and it would be better to remove it.
The task is to remove alter-algorithm but keep the variable as no-op to not affect old setups.
Attachments
Issue Links
causes
MDEV-33737The way of ignoring alter-algorithm is inconsistent with other options and with itself
Closed
includes
MDEV-30714SET SESSION ALGORITHM causes operational issues with replication
Elena Stepanova
added a comment - - edited Current status:
MDEV-33737 needs to be addressed, after it's closed I will need to look at the result;
GCOV shows two not covered lines (line numbers as of e87a953ae62d0a83abddc0668be6773133f04b35, but the same misses exist in bb-11.5-monty):
===File sql/sql_alter.cc:
189 : + algorithm(thd) == Alter_info::ALTER_TABLE_ALGORITHM_DEFAULT)
===File sql/sql_table.cc:
11150 : + alter_info->algorithm(thd) == Alter_info::ALTER_TABLE_ALGORITHM_DEFAULT)
An example of a test which covers these:
CREATE TABLE t (a INT ) ENGINE=MyISAM;
CREATE TABLE tm (a INT ) ENGINE=MERGE, UNION (t);
ALTER TABLE tm COMMENT 'x' , LOCK=SHARED;
Repeating the note from MDEV-33737, while the main problem there has been fixed, the warning that is currently produced happens too earlier during the startup, so it isn't actually written into the error log unless STDERR is redirected there explicitly (as MTR does). However, I guess it will have to do for now; in any case, we have a general problem with having too many different mechanisms for deprecating, removing, ignoring, disabling and not-using variables, which we already had complaints about, it needs to be sorted out in a more systematic way than for one variable at a time.
I don't have objections against pushing this feature into 11.5 main and releasing with 11.5.1 RC; however, the branch/revision mentioned above cannot be used for this, as it contains two other features (MDEV-32188 and MDEV-33449) which haven't yet been signed off.
Also, since commits for different features are intervened in the branch, I couldn't check that the coverage misses mentioned before have been eliminated. Later I'll run another coverage check for all three features together.
Elena Stepanova
added a comment - Test results
as of bb-11.5-MDEV-32188-timestamps e9157560f
Repeating the note from MDEV-33737 , while the main problem there has been fixed, the warning that is currently produced happens too earlier during the startup, so it isn't actually written into the error log unless STDERR is redirected there explicitly (as MTR does). However, I guess it will have to do for now; in any case, we have a general problem with having too many different mechanisms for deprecating, removing, ignoring, disabling and not-using variables, which we already had complaints about, it needs to be sorted out in a more systematic way than for one variable at a time.
I don't have objections against pushing this feature into 11.5 main and releasing with 11.5.1 RC; however, the branch/revision mentioned above cannot be used for this, as it contains two other features ( MDEV-32188 and MDEV-33449 ) which haven't yet been signed off.
Also, since commits for different features are intervened in the branch, I couldn't check that the coverage misses mentioned before have been eliminated. Later I'll run another coverage check for all three features together.
It does not seem to me that the removed parameter alter_algorithm was ever deprecated in any earlier release. MDEV-30905 in 11.2 had removed the earlier deprecated (MDEV-18650) alias old_alter_table of alter_algorithm.
Marko Mäkelä
added a comment - It does not seem to me that the removed parameter alter_algorithm was ever deprecated in any earlier release. MDEV-30905 in 11.2 had removed the earlier deprecated ( MDEV-18650 ) alias old_alter_table of alter_algorithm .
People
Sergei Golubchik
Michael Widenius
Votes:
0Vote for this issue
Watchers:
7Start 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.
[{"id":-1,"name":"My open issues","jql":"assignee = currentUser() AND resolution = Unresolved order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":true},{"id":-2,"name":"Reported by me","jql":"reporter = currentUser() order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":true},{"id":-4,"name":"All issues","jql":"order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-5,"name":"Open issues","jql":"resolution = Unresolved order by priority DESC,updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-9,"name":"Done issues","jql":"statusCategory = Done order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-3,"name":"Viewed recently","jql":"issuekey in issueHistory() order by lastViewed DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-6,"name":"Created recently","jql":"created >= -1w order by created DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-7,"name":"Resolved recently","jql":"resolutiondate >= -1w order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false},{"id":-8,"name":"Updated recently","jql":"updated >= -1w order by updated DESC","isSystem":true,"sharePermissions":[],"requiresLogin":false}]
0.3
0
{"report":{"pageVisibility":"visible","entityId":128326,"key":"jira.issue.nav-detail","isInitial":false,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":0.5,"journeyId":"069c3c7b-1d13-483f-8211-b65f3adb03b9","readyForUser":1012.6999998092651,"resourceTiming":[{"duration":622.8000001907349,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":43.19999980926514,"connectEnd":43.19999980926514,"connectStart":43.19999980926514,"domainLookupEnd":43.19999980926514,"domainLookupStart":43.19999980926514,"fetchStart":43.19999980926514,"redirectEnd":0,"redirectStart":0,"requestStart":629.2999997138977,"responseEnd":666,"responseStart":664.5999999046326,"secureConnectionStart":43.19999980926514},{"duration":878.6999998092651,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/secure/AjaxIssueAction!default.jspa?issueKey=MDEV-33655&decorator=none&prefetch=false&shouldUpdateCurrentProject=false&loadFields=false&_=1743273489884","startTime":92.90000009536743,"connectEnd":92.90000009536743,"connectStart":92.90000009536743,"domainLookupEnd":92.90000009536743,"domainLookupStart":92.90000009536743,"fetchStart":92.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":808.9000000953674,"responseEnd":971.5999999046326,"responseStart":970.1999998092651,"secureConnectionStart":92.90000009536743},{"duration":715.5999999046326,"initiatorType":"fetch","name":"https://jira.mariadb.org/rest/analytics/1.0/publish/bulk","startTime":225.40000009536743,"connectEnd":225.40000009536743,"connectStart":225.40000009536743,"domainLookupEnd":225.40000009536743,"domainLookupStart":225.40000009536743,"fetchStart":225.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":905.5,"responseEnd":941,"responseStart":940.5,"secureConnectionStart":225.40000009536743}],"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"activityTabFullyLoaded","time":1003.5999999046326}],"measures":[],"effectiveType":"4g","downlink":9.9,"rtt":0,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}
to test this feature separately please use bb-11.5-
MDEV-32188-timestamps