Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.1(EOL)
-
None
Description
Outdated notes from zulip chat with marko;
Regarding package upgrades:
- upgrade from 10.2 or earlier should use innodb_fast_shutdown=0 (or better, SET GLOBAL innodb_max_purge_lag_wait=0, implemented in
MDEV-16952) to avoid hittingMDEV-15912to implement in rpm/deb packaging scripts.
Update by marko:
MDEV-15912 was fixed by refusing to start up InnoDB in case the pre-10.3 format undo logs are not empty. It turns out that a clean shutdown (innodb_fast_shutdown=1) always guaranteed this; in some upgrade tests we had to jump through hoops to end up with nonempty undo logs and empty redo log. With MariaDB (thanks to MDEV-12289) there should never have been a need to issue a slow shutdown (innodb_fast_shutdown=0) before upgrading.
Attachments
Issue Links
- relates to
-
MDEV-23321 debian upgrade shouldn't start previously stopped services
-
- Open
-
-
MDEV-25793 Update upgrading documentation
-
- Closed
-
-
MDEV-26717 mysql_upgrade_service/mariadb-upgrade-service - avoid slow shutdown if not necessary
-
- Closed
-
-
MDEV-29694 Remove the InnoDB change buffer
-
- Closed
-
-
MDEV-30755 slow shutdown on uninstall
-
- Open
-
-
MDEV-33364 pre-uninstall scriptlets should use slow innodb shutdown for upgrades
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link | This issue relates to MDEV-23321 [ MDEV-23321 ] |
Description |
Notes from zulip chat with [~marko];
Regarding package upgrades: * upgrade from 10.2 or earlier should use innodb_fast_shutdown=0 to avoid to avoid hitting * innodb_fast_shutdown=0 should instigated always before upgrade/(and removal) in prepartion for * this may be really slow (hours), would recovery be hours otherwise? (alternate - yet to be invented purge wait only) * if corrupt change buffer this may not complete ( to implement in rpm/deb packaging scripts. |
Notes from zulip chat with [~marko];
Regarding package upgrades: * upgrade from 10.2 or earlier should use {{innodb_fast_shutdown=0}} (or better, {{SET GLOBAL innodb_max_purge_lag_wait=0}}, implemented in to implement in rpm/deb packaging scripts. |
Attachment | debian-script-debug-upgrade-server-2.txt [ 56055 ] | |
Attachment | debian-script-debug-upgrade-server.txt [ 56056 ] | |
Attachment | debian-script-debug-install.txt [ 56057 ] |
Link |
This issue relates to |
Assignee | Daniel Black [ danblack ] |
Assignee | Daniel Black [ danblack ] |
Assignee | Tuukka Pasanen [ JIRAUSER49166 ] |
Labels | need_feedback |
Link |
This issue relates to |
Description |
Notes from zulip chat with [~marko];
Regarding package upgrades: * upgrade from 10.2 or earlier should use {{innodb_fast_shutdown=0}} (or better, {{SET GLOBAL innodb_max_purge_lag_wait=0}}, implemented in to implement in rpm/deb packaging scripts. |
*Outdated* notes from zulip chat with [~marko];
{quote} Regarding package upgrades: * upgrade from 10.2 or earlier should use {{innodb_fast_shutdown=0}} (or better, {{SET GLOBAL innodb_max_purge_lag_wait=0}}, implemented in to implement in rpm/deb packaging scripts. {quote} Update by [~marko]: |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] |
Labels | need_feedback |
Workflow | MariaDB v3 [ 113652 ] | MariaDB v4 [ 142257 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Status | In Progress [ 3 ] | Stalled [ 10000 ] |
Link |
This issue relates to |
issue.field.resolutiondate | 2023-01-23 09:28:43.0 | 2023-01-23 09:28:43.089 |
Fix Version/s | N/A [ 14700 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |
Link | This issue relates to MDEV-30755 [ MDEV-30755 ] |
Link |
This issue relates to |
I think that
MDEV-11634must retain the code to handle old change buffer formats, to make upgrade easier. The undo log format change inMDEV-12288was an exception, and such format breakage should generally be avoided. AfterMDEV-11634has been implemented, we can retain the support for the old formats for a few major versions, to allow a smooth upgrade process. This approach was not feasible with regard toMDEV-12288, because we moved from a partitioned undo log to a single log. And despite a sincere attempt, I did not get the upgrade logic working, as witnessed inMDEV-15912. (But to be fair, the old format suffers from MySQL Bug #55283 assert trx0roll.c undo_no + 1 == trx->undo_no in trx_rollback_or_clean_all_recovered, which was never fixed.)I do not think that it is reasonable to force a change buffer merge (which can take hours) by setting innodb_fast_shutdown=0 before the shutdown. Besides, the change buffer may be corrupted (for example due to
MDEV-24449), and the operation could hang (MDEV-20934) or the server could crash due to the corruption.