Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PS-9322 fix: With super_read_only=1, undo truncation cannot update DD and leaves orphan truncate log files (8.0) #5415

Conversation

percona-ysorokin
Copy link
Collaborator

https://perconadev.atlassian.net/browse/PS-9322

Backported Oracle fix for Bug #35784192
"tablespace is missing for table innodb_undo_002"
(commit mysql/mysql-server@bda098a and mysql/mysql-server@97f4285) from 8.4 to 8.0.

Bug#35784192 tablespace is missing for table innodb_undo_002

This bug reports following two problems:

Querying the information schema reports undo tablespace is missing -
while an undo file is present.
Purge threads don't remove the undo_space_number_trunc.log file.

While the first problem is already fixed through Bug#32104924, Bug#32654667

This bug fix aims to address the second problem.

The purge thread attempts to lock dictionary tables, while truncating the undo tablespace. This lock can't be acquired in a read-only MySQL instance, except when the thread has some special flags associated with it. In this case, we use the skip_readonly_check member of the thread descriptor struct, to signal that the readonly check should not be applied to the purge thread. This is done via the set_skip_readonly_check() method.

Change-Id: Iea6255ff6654752db8658bdd422cc3e58e3a8a97

Bug#35784192 tablespace is missing for table innodb_undo_002 [postfix] Remove MySQL versions number from MTR test.

Change-Id: I3973435edbbc8bf442846c617ade4b5b824bb8c2

… and leaves orphan truncate log files

https://perconadev.atlassian.net/browse/PS-9322

Backported Oracle fix for Bug #35784192
"tablespace is missing for table innodb_undo_002"
(commit mysql/mysql-server@bda098a and mysql/mysql-server@97f4285)
from 8.4 to 8.0.

Bug#35784192 tablespace is missing for table innodb_undo_002

This bug reports following two problems:

Querying the information schema reports undo tablespace is missing -
  while an undo file is present.
Purge threads don't remove the undo_space_number_trunc.log file.

While the first problem is already fixed through Bug#32104924, Bug#32654667

This bug fix aims to address the second problem.

The purge thread attempts to lock dictionary tables, while truncating
the undo tablespace. This lock can't be acquired in
a read-only MySQL instance, except when the thread has some special
flags associated with it. In this case, we use the skip_readonly_check
member of the thread descriptor struct, to signal that the readonly
check should not be applied to the purge thread. This is done
via the set_skip_readonly_check() method.

Change-Id: Iea6255ff6654752db8658bdd422cc3e58e3a8a97

Bug#35784192 tablespace is missing for table innodb_undo_002 [postfix]
Remove MySQL versions number from MTR test.

Change-Id: I3973435edbbc8bf442846c617ade4b5b824bb8c2
@percona-ysorokin percona-ysorokin changed the base branch from 8.0 to release-8.0.39-30 September 10, 2024 19:41
@percona-ysorokin
Copy link
Collaborator Author

@percona-ysorokin percona-ysorokin merged commit 6e13886 into percona:release-8.0.39-30 Sep 11, 2024
27 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants